from django.contrib.auth.views import LogoutView
from django.urls import path

from .views import (
    TrustForgeLoginView,
    TrustForgePasswordResetCompleteView,
    TrustForgePasswordResetConfirmView,
    TrustForgePasswordResetDoneView,
    TrustForgePasswordResetView,
    business_onboarding,
    dashboard,
    home,
    job_create,
    job_detail,
    jobs_list,
    profile_settings,
    proof_card_detail,
    proof_card_edit,
    proof_cards_list,
    public_proof_detail,
    public_proof_gallery,
    review_request_view,
    signup,
    switch_workspace,
    workspace_settings,
)

urlpatterns = [
    path('', home, name='home'),
    path('login/', TrustForgeLoginView.as_view(), name='login'),
    path('signup/', signup, name='signup'),
    path('logout/', LogoutView.as_view(), name='logout'),
    path('forgot-password/', TrustForgePasswordResetView.as_view(), name='password_reset'),
    path('forgot-password/sent/', TrustForgePasswordResetDoneView.as_view(), name='password_reset_done'),
    path('reset-password/<uidb64>/<token>/', TrustForgePasswordResetConfirmView.as_view(), name='password_reset_confirm'),
    path('reset-password/complete/', TrustForgePasswordResetCompleteView.as_view(), name='password_reset_complete'),
    path('onboarding/business/', business_onboarding, name='business_onboarding'),
    path('workspace/<int:business_id>/switch/', switch_workspace, name='switch_workspace'),
    path('workspace/settings/', workspace_settings, name='workspace_settings'),
    path('profile/', profile_settings, name='profile_settings'),
    path('dashboard/', dashboard, name='dashboard'),
    path('jobs/', jobs_list, name='jobs_list'),
    path('jobs/new/', job_create, name='job_create'),
    path('jobs/<int:job_id>/', job_detail, name='job_detail'),
    path('proof-cards/', proof_cards_list, name='proof_cards_list'),
    path('proof-cards/<int:card_id>/', proof_card_detail, name='proof_card_detail'),
    path('proof-cards/<int:card_id>/edit/', proof_card_edit, name='proof_card_edit'),
    path('proof/<slug:slug>/', public_proof_gallery, name='public_proof_gallery'),
    path('proof/<slug:slug>/<int:card_id>/', public_proof_detail, name='public_proof_detail'),
    path('reviews/<uuid:token>/', review_request_view, name='review_request'),
]
