from allauth.account.views import LogoutView
from django.contrib.auth import views as auth_views
from django.urls import path

from . import views

app_name = "accounts"

urlpatterns = [
    # Override allauth's login and signup views with our Turnstile-enabled
    # versions
    path("login/", views.CustomLoginView.as_view(), name="account_login"),
    path("signup/", views.CustomSignupView.as_view(), name="account_signup"),
    # Authentication views
    path("logout/", LogoutView.as_view(), name="logout"),
    path(
        "password_change/",
        auth_views.PasswordChangeView.as_view(),
        name="password_change",
    ),
    path(
        "password_change/done/",
        auth_views.PasswordChangeDoneView.as_view(),
        name="password_change_done",
    ),
    path(
        "password_reset/",
        auth_views.PasswordResetView.as_view(),
        name="password_reset",
    ),
    path(
        "password_reset/done/",
        auth_views.PasswordResetDoneView.as_view(),
        name="password_reset_done",
    ),
    path(
        "reset/<uidb64>/<token>/",
        auth_views.PasswordResetConfirmView.as_view(),
        name="password_reset_confirm",
    ),
    path(
        "reset/done/",
        auth_views.PasswordResetCompleteView.as_view(),
        name="password_reset_complete",
    ),
    # Profile views
    path("profile/", views.user_redirect_view, name="profile_redirect"),
    path("settings/", views.SettingsView.as_view(), name="settings"),
]
