"""Staff dashboard URLs (no language prefix — always ``/admin/…``)."""

from django.urls import path

from mainapp.controllers.api_docs_controller import dashboard_api_docs
from mainapp.controllers.dashboard_controller import (
    dashboard_entity_create,
    dashboard_entity_edit,
    dashboard_entity_list,
    dashboard_google_drive_callback,
    dashboard_google_drive_connect,
    dashboard_google_drive_disconnect,
    dashboard_site_settings,
)
from mainapp.controllers.dashboard_users_controller import (
    dashboard_users_create,
    dashboard_users_delete,
    dashboard_users_edit,
    dashboard_users_list,
)
from mainapp.controllers.home_controller import (
    dashboard_overview_export,
    dashboard_overview_export_all,
    dashboard_overview_email_export,
    dashboard_overview_export_media,
    dashboard_overview_upload_drive,
    dashboard_overview_import,
    dashboard_site_settings_export,
    dashboard_site_settings_import,
    home,
)
from mainapp.controllers.menus_controller import menus_index
from mainapp.controllers.related_gallery_controller import gallery_manage
from mainapp.controllers.sitemap_controller import dashboard_sitemap, dashboard_sitemap_download
from mainapp.controllers.translate_controller import dashboard_translate

urlpatterns = [
    path("admin/", home, name="dashboard_home"),
    path(
        "admin/overview/export-all/",
        dashboard_overview_export_all,
        name="dashboard_overview_export_all",
    ),
    path(
        "admin/overview/email-export/",
        dashboard_overview_email_export,
        name="dashboard_overview_email_export",
    ),
    path(
        "admin/overview/export-media/",
        dashboard_overview_export_media,
        name="dashboard_overview_export_media",
    ),
    path(
        "admin/overview/upload-drive/",
        dashboard_overview_upload_drive,
        name="dashboard_overview_upload_drive",
    ),
    path(
        "admin/overview/export/<slug:entity_slug>/",
        dashboard_overview_export,
        name="dashboard_overview_export",
    ),
    path(
        "admin/overview/import/<slug:entity_slug>/",
        dashboard_overview_import,
        name="dashboard_overview_import",
    ),
    path("admin/api/translate/", dashboard_translate, name="dashboard_translate"),
    path("admin/menus/", menus_index, name="dashboard_menus_index"),
    path("admin/site-settings/", dashboard_site_settings, name="dashboard_site_settings"),
    path(
        "admin/site-settings/google-drive/connect/",
        dashboard_google_drive_connect,
        name="dashboard_google_drive_connect",
    ),
    path(
        "admin/site-settings/google-drive/callback/",
        dashboard_google_drive_callback,
        name="dashboard_google_drive_callback",
    ),
    path(
        "admin/site-settings/google-drive/disconnect/",
        dashboard_google_drive_disconnect,
        name="dashboard_google_drive_disconnect",
    ),
    path(
        "admin/site-settings/export/",
        dashboard_site_settings_export,
        name="dashboard_site_settings_export",
    ),
    path(
        "admin/site-settings/import/",
        dashboard_site_settings_import,
        name="dashboard_site_settings_import",
    ),
    path("admin/sitemap/", dashboard_sitemap, name="dashboard_sitemap"),
    path("admin/sitemap/download/", dashboard_sitemap_download, name="dashboard_sitemap_download"),
    path("admin/api-docs/", dashboard_api_docs, name="dashboard_api_docs"),
    path("admin/users/", dashboard_users_list, name="dashboard_users_list"),
    path("admin/users/add/", dashboard_users_create, name="dashboard_users_create"),
    path("admin/users/<int:user_id>/edit/", dashboard_users_edit, name="dashboard_users_edit"),
    path("admin/users/<int:user_id>/delete/", dashboard_users_delete, name="dashboard_users_delete"),
    path(
        "admin/services/<int:parent_id>/images/",
        gallery_manage,
        {"gallery_key": "services"},
        name="dashboard_service_images",
    ),
    path(
        "admin/projects/<int:parent_id>/images/",
        gallery_manage,
        {"gallery_key": "projects"},
        name="dashboard_project_images",
    ),
    path(
        "admin/products/<int:parent_id>/images/",
        gallery_manage,
        {"gallery_key": "products"},
        name="dashboard_product_images",
    ),
    path(
        "admin/blogs/<int:parent_id>/images/",
        gallery_manage,
        {"gallery_key": "blogs"},
        name="dashboard_blog_images",
    ),
    path("admin/<slug:entity_slug>/add/", dashboard_entity_create, name="dashboard_entity_create"),
    path("admin/<slug:entity_slug>/<int:obj_id>/edit/", dashboard_entity_edit, name="dashboard_entity_edit"),
    path("admin/<slug:entity_slug>/", dashboard_entity_list, name="dashboard_entity_list"),
]
