from django.urls import path
from . import views

urlpatterns = [
    # Public
    path('', views.MarketListView.as_view(), name='market-list'),

    # Admin CRUD (before slug patterns so "create" isn't matched as a slug)
    path('create/', views.MarketCreateView.as_view(), name='market-create'),

    # Slug-based routes
    path('<slug:slug>/', views.MarketDetailView.as_view(), name='market-detail'),
    path('<slug:slug>/vendors/', views.MarketVendorsView.as_view(), name='market-vendors'),
    path('<slug:slug>/products/', views.MarketProductsView.as_view(), name='market-products'),
    path('<slug:slug>/videos/', views.MarketVideosView.as_view(), name='market-videos'),
    path('<slug:slug>/trending/', views.MarketTrendingProductsView.as_view(), name='market-trending'),
    path('<slug:slug>/top-vendors/', views.MarketTopVendorsView.as_view(), name='market-top-vendors'),

    # Vendor actions
    path('<slug:slug>/join/', views.MarketJoinView.as_view(), name='market-join'),
    path('<slug:slug>/leave/', views.MarketLeaveView.as_view(), name='market-leave'),

    # Admin update/delete
    path('<slug:slug>/update/', views.MarketUpdateView.as_view(), name='market-update'),
    path('<slug:slug>/delete/', views.MarketDeleteView.as_view(), name='market-delete'),

    # Admin vendor management
    path('<slug:slug>/pending-vendors/', views.MarketPendingVendorsView.as_view(), name='market-pending-vendors'),
    path('<slug:slug>/vendors/<int:vendor_id>/approve/', views.ApproveVendorView.as_view(), name='market-approve-vendor'),
    path('<slug:slug>/vendors/<int:vendor_id>/reject/', views.RejectVendorView.as_view(), name='market-reject-vendor'),
    path('<slug:slug>/vendors/<int:vendor_id>/remove/', views.RemoveVendorView.as_view(), name='market-remove-vendor'),
]
