from django.urls import path

from . import views

app_name = 'accounts'

urlpatterns = [
    path('signup/', views.signup, name='signup'),
    path('verify/<str:token>/', views.verify_email, name='verify_email'),
    path('resend-verification/', views.resend_verification, name='resend_verification'),
    path('forgot-password/', views.forgot_password, name='forgot_password'),
    path('reset-password/<str:token>/', views.reset_password, name='reset_password'),
    path('login/', views.login_view, name='login'),
    path('logout/', views.logout_view, name='logout'),
    path('post-login/', views.post_login_redirect, name='post_login_redirect'),
    path('accept-policies/', views.accept_policies, name='accept_policies'),

    path('picker/', views.picker_home, name='picker_home'),
    path('picker/profile/edit/', views.picker_profile_edit, name='picker_profile_edit'),
    path('picker/settings/', views.picker_settings, name='picker_settings'),
    path('picker/settings/delete-account/', views.picker_delete_account, name='picker_delete_account'),
    path('picker/set-payout-frequency/', views.picker_set_payout_frequency, name='picker_set_payout_frequency'),
    path('picker/orders/<int:order_id>/advance/', views.advance_order, name='advance_order'),
    path('picker/orders/<int:order_id>/', views.picker_order_detail, name='picker_order_detail'),
    path('picker/orders/<int:order_id>/mark-picked-up/<int:market_id>/', views.picker_mark_market_picked_up, name='picker_mark_market_picked_up'),
    path('picker/orders/<int:order_id>/mark-vendor-picked-up/', views.picker_mark_vendor_picked_up, name='picker_mark_vendor_picked_up'),
    path('picker/orders/<int:order_id>/message/', views.picker_send_message, name='picker_send_message'),
    path('picker/orders/<int:order_id>/messages/', views.picker_order_messages_poll, name='picker_order_messages_poll'),
    path('picker/fleet/message/', views.picker_fleet_message_send, name='picker_fleet_message_send'),
    path('picker/fleet/messages/', views.picker_fleet_message_poll, name='picker_fleet_message_poll'),
    path('picker/orders/<int:order_id>/navigate/', views.picker_live_navigation, name='picker_live_navigation'),
    path('picker/orders/<int:order_id>/update-location/', views.picker_update_location, name='picker_update_location'),
    path('picker/route/', views.picker_delivery_route, name='picker_delivery_route'),
    path('picker/route/data/', views.picker_delivery_route_data, name='picker_delivery_route_data'),
    path('picker/picking-guide/', views.picker_picking_guide, name='picker_picking_guide'),
    path('picker/fuel-log/', views.picker_log_fuel_stop, name='picker_log_fuel_stop'),
    path('picker/signoff-forms/', views.picker_signoff_forms, name='picker_signoff_forms'),
    path('picker/signoff-forms/<int:template_id>/', views.picker_fill_signoff_form, name='picker_fill_signoff_form'),

    path('admin-portal/', views.admin_portal, name='admin_portal'),
    path('admin-portal/products/new/', views.product_create, name='product_create'),
    path('admin-portal/products/<int:pk>/edit/', views.product_edit, name='product_edit'),
    path('admin-portal/products/<int:pk>/delete/', views.product_delete, name='product_delete'),
    path('admin-portal/products/<int:pk>/restore/', views.product_restore, name='product_restore'),
    path('admin-portal/products/<int:product_id>/measures/', views.admin_product_measures, name='admin_product_measures'),
    path('admin-portal/measures/<int:measure_id>/toggle/', views.admin_toggle_product_measure, name='admin_toggle_product_measure'),
    path('admin-portal/categories/add/', views.admin_add_category, name='admin_add_category'),
    path('admin-portal/categories/<int:category_id>/edit/', views.admin_edit_category, name='admin_edit_category'),
    path('admin-portal/categories/<int:category_id>/delete/', views.admin_delete_category, name='admin_delete_category'),
    path('admin-portal/units/add/', views.admin_add_measure_unit, name='admin_add_measure_unit'),
    path('admin-portal/units/<int:unit_id>/edit/', views.admin_edit_measure_unit, name='admin_edit_measure_unit'),
    path('admin-portal/units/<int:unit_id>/delete/', views.admin_delete_measure_unit, name='admin_delete_measure_unit'),
    path('admin-portal/orders/<int:order_id>/approve-payment/', views.admin_approve_payment, name='admin_approve_payment'),
    path('admin-portal/orders/<int:order_id>/release-payment/', views.admin_release_payment, name='admin_release_payment'),
    path('admin-portal/orders/<int:order_id>/set-status/', views.admin_set_order_status, name='admin_set_order_status'),
    path('admin-portal/orders/<int:order_id>/mark-shop-payment/', views.admin_mark_shop_payment, name='admin_mark_shop_payment'),
    path('admin-portal/orders/<int:order_id>/record-vendor-payment/', views.admin_record_vendor_payment, name='admin_record_vendor_payment'),
    path('admin-portal/vendors/<str:vendor_type>/', views.admin_vendors, name='admin_vendors'),
    path('admin-portal/vendors/<str:vendor_type>/<int:vendor_id>/edit/', views.admin_edit_vendor, name='admin_edit_vendor'),
    path('admin-portal/vendors/<str:vendor_type>/<int:vendor_id>/toggle/', views.admin_toggle_vendor, name='admin_toggle_vendor'),
    path('admin-portal/vendors/<str:vendor_type>/<int:vendor_id>/delete/', views.admin_delete_vendor, name='admin_delete_vendor'),
    path('admin-portal/vendors/<str:vendor_type>/<int:vendor_id>/receive-stock/', views.admin_receive_vendor_stock, name='admin_receive_vendor_stock'),
    path('admin-portal/orders/<int:order_id>/track/', views.admin_track_order, name='admin_track_order'),
    path('admin-portal/orders/<int:order_id>/track/data/', views.admin_track_order_data, name='admin_track_order_data'),
    path('admin-portal/delivered-map/', views.admin_delivered_map, name='admin_delivered_map'),
    path('admin-portal/price-trends/', views.admin_price_trends, name='admin_price_trends'),

    path('admin-portal/users/', views.admin_users, name='admin_users'),
    path('admin-portal/users/register-b2b-picker/', views.admin_register_b2b_picker, name='admin_register_b2b_picker'),
    path('admin-portal/users/<int:user_id>/edit/', views.admin_edit_user, name='admin_edit_user'),
    path('admin-portal/users/<int:user_id>/approve-picker/', views.admin_approve_picker, name='admin_approve_picker'),
    path('admin-portal/users/<int:user_id>/toggle-active/', views.admin_toggle_user_active, name='admin_toggle_user_active'),
    path('admin-portal/users/<int:user_id>/delete/', views.admin_delete_user, name='admin_delete_user'),

    path('admin-portal/stale-orders/', views.admin_stale_orders, name='admin_stale_orders'),
    path('admin-portal/stale-orders/<int:order_id>/delete/', views.admin_delete_stale_order, name='admin_delete_stale_order'),

    path('admin-portal/contact-settings/', views.admin_contact_settings, name='admin_contact_settings'),
    path('admin-portal/home-content/', views.admin_home_content, name='admin_home_content'),
    path('admin-portal/home-content/news/<int:news_id>/edit/', views.admin_edit_news, name='admin_edit_news'),
    path('admin-portal/home-content/news/<int:news_id>/toggle/', views.admin_toggle_news, name='admin_toggle_news'),
    path('admin-portal/home-content/news/<int:news_id>/delete/', views.admin_delete_news, name='admin_delete_news'),
    path('admin-portal/home-content/partners/<int:partner_id>/edit/', views.admin_edit_partner, name='admin_edit_partner'),
    path('admin-portal/home-content/partners/<int:partner_id>/toggle/', views.admin_toggle_partner, name='admin_toggle_partner'),
    path('admin-portal/home-content/partners/<int:partner_id>/delete/', views.admin_delete_partner, name='admin_delete_partner'),
    path('admin-portal/broadcast/', views.admin_broadcast, name='admin_broadcast'),
    path('admin-portal/picker-settings/', views.admin_picker_settings, name='admin_picker_settings'),
    path('admin-portal/fee-settings/', views.admin_fee_settings, name='admin_fee_settings'),
    path('admin-portal/payment-methods/', views.admin_payment_methods, name='admin_payment_methods'),
    path('admin-portal/payment-methods/<int:method_id>/edit/', views.admin_edit_payment_method, name='admin_edit_payment_method'),
    path('admin-portal/payment-methods/<int:method_id>/toggle/', views.admin_toggle_payment_method, name='admin_toggle_payment_method'),

    path('admin-portal/truck-types/', views.admin_truck_types, name='admin_truck_types'),
    path('admin-portal/truck-types/<int:truck_type_id>/edit/', views.admin_edit_truck_type, name='admin_edit_truck_type'),
    path('admin-portal/truck-types/<int:truck_type_id>/toggle/', views.admin_toggle_truck_type, name='admin_toggle_truck_type'),

    path('admin-portal/fleet-companies/', views.admin_fleet_companies, name='admin_fleet_companies'),
    path('admin-portal/fleet-orders/', views.admin_fleet_orders, name='admin_fleet_orders'),
    path('admin-portal/fleet-orders/<int:order_id>/assign/', views.admin_assign_order_driver, name='admin_assign_order_driver'),
    path('admin-portal/fleet-companies/<int:company_id>/approve/', views.admin_approve_fleet_company, name='admin_approve_fleet_company'),

    path('admin-portal/fleet-trucks/', views.admin_fleet_trucks, name='admin_fleet_trucks'),
    path('admin-portal/fleet-trucks/<int:truck_id>/edit/', views.admin_edit_fleet_truck, name='admin_edit_fleet_truck'),
    path('admin-portal/fleet-trucks/<int:truck_id>/delete/', views.admin_delete_fleet_truck, name='admin_delete_fleet_truck'),

    path('admin-portal/api-subscriptions/', views.admin_api_subscriptions, name='admin_api_subscriptions'),
    path('admin-portal/api-subscriptions/<int:subscription_id>/activate/', views.admin_activate_api_subscription, name='admin_activate_api_subscription'),
    path('admin-portal/api-subscriptions/<int:subscription_id>/suspend/', views.admin_suspend_api_subscription, name='admin_suspend_api_subscription'),

    path('admin-portal/regions/', views.admin_regions, name='admin_regions'),
    path('admin-portal/regions/<int:region_id>/edit/', views.admin_edit_region, name='admin_edit_region'),
    path('admin-portal/regions/<int:region_id>/delete/', views.admin_delete_region, name='admin_delete_region'),

    path('admin-portal/known-areas/', views.admin_known_areas, name='admin_known_areas'),
    path('admin-portal/known-areas/<int:area_id>/edit/', views.admin_edit_known_area, name='admin_edit_known_area'),
    path('admin-portal/known-areas/<int:area_id>/delete/', views.admin_delete_known_area, name='admin_delete_known_area'),

    path('admin-portal/markets/', views.admin_markets, name='admin_markets'),
    path('admin-portal/markets/<int:market_id>/edit/', views.admin_edit_market, name='admin_edit_market'),
    path('admin-portal/markets/<int:market_id>/toggle/', views.admin_toggle_market, name='admin_toggle_market'),
    path('admin-portal/markets/<int:market_id>/delete/', views.admin_delete_market, name='admin_delete_market'),

    path('admin-portal/payouts/', views.admin_payouts, name='admin_payouts'),
    path('admin-portal/payouts/<int:picker_id>/pay/', views.admin_pay_picker, name='admin_pay_picker'),

    path('admin-portal/financial-dashboard/', views.admin_financial_dashboard, name='admin_financial_dashboard'),
    path('admin-portal/analytics/', views.admin_analytics, name='admin_analytics'),

    path('admin-portal/legal-policies/', views.admin_legal_policies, name='admin_legal_policies'),
    path('admin-portal/legal-policies/<str:policy_type>/edit/', views.admin_edit_legal_policy, name='admin_edit_legal_policy'),
]
