from django.urls import path
from . import views

urlpatterns = [
    # Public
    path('', views.ServiceListView.as_view(), name='service-list'),
    path('categories/', views.ServiceCategoriesView.as_view(), name='service-categories'),
    path('top/', views.TopServicesView.as_view(), name='top-services'),
    path('providers/', views.ServiceProvidersView.as_view(), name='service-providers'),
    path('near-me/', views.NearMeServicesView.as_view(), name='near-me-services'),

    # Vendor management
    path('my-services/', views.VendorMyServicesView.as_view(), name='my-services'),
    path('create/', views.ServiceCreateView.as_view(), name='service-create'),

    # Vendor public
    path('vendor/<int:vendor_id>/', views.VendorServicesPublicView.as_view(), name='vendor-services-public'),
    path('vendor/<slug:vendor_slug>/', views.VendorServicesPublicBySlugView.as_view(), name='vendor-services-public-slug'),

    # Admin
    path('admin/', views.AdminServicesListView.as_view(), name='admin-services'),
    path('admin/<int:pk>/toggle/', views.AdminServiceToggleView.as_view(), name='admin-service-toggle'),
    path('admin/<int:pk>/delete/', views.AdminServiceDeleteView.as_view(), name='admin-service-delete'),

    # Detail / Update / Delete (must be after named routes)
    path('<int:pk>/', views.ServiceDetailView.as_view(), name='service-detail'),
    path('<int:pk>/update/', views.ServiceUpdateView.as_view(), name='service-update'),
    path('<int:pk>/delete/', views.ServiceDeleteView.as_view(), name='service-delete'),

    # Social
    path('<int:service_id>/like/', views.ServiceLikeToggleView.as_view(), name='service-like'),
    path('<int:service_id>/like/status/', views.ServiceLikeStatusView.as_view(), name='service-like-status'),
    path('<int:service_id>/save/', views.ServiceSaveToggleView.as_view(), name='service-save'),
]
