"""
URLs pour l'application CMS.
"""
from django.urls import path
from . import views


app_name = 'cms'

urlpatterns = [
    # Pages publiques
    path('', views.home_view, name='home'),
    path('page/<slug:slug>.html', views.page_view, name='page'),

    # Vues admin pour reordonner (drag-drop)
    path(
        'admin/page/<int:page_id>/reorder/',
        views.reorder_sections_view,
        name='reorder_sections_view'
    ),
    path(
        'admin/menu/<int:menu_id>/reorder/',
        views.reorder_menu_items_view,
        name='reorder_menu_items_view'
    ),

    # Endpoints HTMX pour l'admin (reordonnancement)
    path(
        'admin/page/<int:page_id>/reorder-sections/',
        views.reorder_page_sections,
        name='reorder_page_sections'
    ),
    path(
        'admin/menu/<int:menu_id>/reorder-items/',
        views.reorder_menu_items,
        name='reorder_menu_items'
    ),
    path(
        'admin/menuitem/<int:parent_id>/reorder-children/',
        views.reorder_children,
        name='reorder_children'
    ),
    path(
        'admin/reorder-inline/',
        views.reorder_inline,
        name='reorder_inline'
    ),

    # Edition des champs personnalises de PageSection
    path(
        'admin/pagesection/<int:pagesection_id>/fields/',
        views.edit_pagesection_fields,
        name='edit_pagesection_fields'
    ),

    # Gestionnaire de PageSection (interface 3 colonnes)
    path(
        'admin/pagesection-manager/',
        views.pagesection_manager_view,
        name='pagesection_manager'
    ),
    path(
        'admin/page/<int:page_id>/sections/',
        views.get_page_sections,
        name='get_page_sections'
    ),
    path(
        'admin/pagesection/<int:pagesection_id>/fields-form/',
        views.get_pagesection_fields_form,
        name='get_pagesection_fields_form'
    ),
    path(
        'admin/pagesection/<int:pagesection_id>/save-fields/',
        views.save_pagesection_fields,
        name='save_pagesection_fields'
    ),
]
