from django.urls import path, include
from django.contrib.auth import views as auth_views  # Import auth_views correctly
from rest_framework.routers import DefaultRouter
from .views import (
    signup_view, custom_login_view, logout_view, profile_view,
    home_view, my_model_detail, uu_list, search, upload_file, success, profile_settings_view, password_settings_view,
    privacy_policy, terms_conditions, contacts_view, about_view, settings_view, delete_bookmark, latest_uu_view,
    TermListView, toggle_bookmark, TermDetailView, BookmarkViewSet  # Import BookmarkViewSet
)

# Create a router and register the viewset
router = DefaultRouter()
router.register(r'bookmarks', BookmarkViewSet)  # Register the viewset

urlpatterns = [
    path('', home_view, name='home'),
    path('accounts/login/', auth_views.LoginView.as_view(template_name='registration/login.html'), name='login'),
    path('login/', auth_views.LoginView.as_view(template_name='registration/login.html'), name='login'),
    path('bookmark/delete/<int:pk>/', delete_bookmark, name='delete_bookmark'),
    path('settings/', settings_view, name='settings'),
    path('logout/', logout_view, name='logout'),  # Custom logout URL
    path('profile/', profile_view, name='profile'),  # Use profile_view directly
    path('signup/', signup_view, name='signup'),
   path('accounts/password_reset/', auth_views.PasswordResetView.as_view(template_name='registration/password_reset_form.html'), name='password_reset'),
    path('accounts/password_reset/done/', auth_views.PasswordResetDoneView.as_view(template_name='registration/password_reset_done.html'), name='password_reset_done'),
    path('accounts/reset/<uidb64>/<token>/', auth_views.PasswordResetConfirmView.as_view(template_name='registration/password_reset_confirm.html'), name='password_reset_confirm'),
    path('accounts/reset/done/', auth_views.PasswordResetCompleteView.as_view(template_name='registration/password_reset_complete.html'), name='password_reset_complete'),
    path('detail/<slug:slug>/', my_model_detail, name='my_model_detail'),
    path('settings/profile/', profile_settings_view, name='profile_settings'),
    path('settings/password/', password_settings_view, name='password_settings'),
    path('latest-uus/', latest_uu_view, name='latest_uus'),
    path('list/', uu_list, name='uu_list'),
    path('search/', search, name='search_view'),
    path('upload/', upload_file, name='upload_file'),
    path('success/', success, name='success'),
    path('privacy-policy/', privacy_policy, name='privacy_policy'),
    path('terms-conditions/', terms_conditions, name='terms_conditions'),
    path('contacts/', contacts_view, name='contacts'),
    path('about/', about_view, name='about'),
    path('terms/', TermListView.as_view(), name='term_list'),
    path('terms/<slug:slug>/', TermDetailView.as_view(), name='term_detail'),
    path('bookmark/<int:pk>/', toggle_bookmark, name='toggle_bookmark'),
    path('api/', include(router.urls)),
]
