from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
from . import views
from django.contrib.auth import views as auth_views
from accounts.views import unified_login

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.home, name='home'),
    path('dashboard/', include('customers.urls')),  # Dashboard is in customers app
    path('accounts/', include('accounts.urls')),
    path('customers/', include('customers.urls')),
    path('tickets/', include('tickets.urls')),
    path('billing/', include('billing.urls')),
    path('payments/', include('payments.urls')),
    path('hr/', include('hr.urls')),
    path('notifications/', include('notifications.urls')),
    path('settings/', include('settings.urls')),
    path('expenditure/', include('expenditure.urls')),
    path('search/', views.global_search, name='global_search'),

    # Authentication URLs
    path('login/', unified_login, name='login'),
    path('logout/', auth_views.LogoutView.as_view(next_page='login'), name='logout'),
]

# Serve static and media files
from django.conf import settings
from django.conf.urls.static import static

if settings.DEBUG:
    # Development - serve files directly
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
else:
    # Production - still serve files for Replit deployment
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)