"""
URL configuration for django_backend project.
"""
import os

from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin
from django.urls import include, path, re_path
from django.views.static import serve

urlpatterns = [
    path("admin/", admin.site.urls),
    path("", include("accounts.urls")),
    path("", include("dashboard_api.urls")),
]

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
elif os.getenv("DJANGO_SERVE_MEDIA", "true").lower() in ("1", "true", "yes"):
    # static() only registers when DEBUG=True. In production, nginx often proxies /media/
    # here; without this route Django returns 404 and SPA nginx may map 404 → index.html.
    urlpatterns += [
        re_path(
            r"^media/(?P<path>.*)$",
            serve,
            {"document_root": settings.MEDIA_ROOT},
        ),
    ]
