RewriteEngine On

# Static files - serve directly (moved to very top)
RewriteRule ^assets/.*$ - [L]
RewriteRule ^js/.*$ - [L]

# API routes
RewriteRule ^api/(.*)$ api/index.php [QSA,L]

# Admin login.html to login.php
RewriteRule ^admin/login\.html$ admin/login.php [QSA,L]

# Admin publishing.html to platforms route
RewriteRule ^admin/publishing\.html$ admin/index.php?route=platforms [QSA,L]

# Admin routes - specific files should be served directly
# Admin routes for non-existing files go to admin/index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/admin/
RewriteRule ^admin/(.*)$ admin/index.php [QSA,L]

# Frontend routes (SPA) - only if file doesn't exist and not admin
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/admin/
RewriteRule ^(.*)$ index.php [QSA,L]