"""
    core URL Configuration
    The `urlpatterns` list routes URLs to views. For more information please see:
        https://docs.djangoproject.com/en/4.1/topics/http/urls/
    Examples:
    Function views
        1. Add an import:  from my_app import views
        2. Add a URL to urlpatterns:  path('', views.home, name='home')
    Class-based views
        1. Add an import:  from other_app.views import Home
        2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
    Including another URLconf
        1. Import the include() function: from django.urls import include, path
        2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""

from django.contrib import admin
from django.conf import settings
from django.views.static import serve
from django.conf.urls.static import static
from django.urls import path, include, re_path
from django.views.generic.base import RedirectView

from apps.root import views

urlpatterns = [
    path("admin/", admin.site.urls),

    path('', include('apps.root.urls', namespace='landing')),

    path('auth/', include('apps.accounts.urls', namespace='accounts')),
    # path('auth/', include('social_django.urls', namespace='social')),

    path('profile/', include('apps.profiles.urls', namespace='profile')),
    path('process/', include('apps.process.urls', namespace='process')),
    path('upload/',include('apps.uploads.urls', namespace='uploads')), 
    path('newsletter/',include('apps.newsletter.urls', namespace='newsletter')), 
    path('upgrade_plan/',include('apps.subscriptions.urls',namespace='upgrade_plan')),
    # To RemoveAfter Adding The Demo Function
    path('', views.LandingView.as_view(), name="demo_process"),

    # path('membership/', include('apps.membership.urls', namespace='membership')),


    re_path(r'^media/(?P<path>.*)$', serve,{'document_root': settings.MEDIA_ROOT}),
    re_path(r'^static/(?P<path>.*)$', serve,{'document_root': settings.STATIC_ROOT}),
]


handler404 = 'apps.root.views.handler404'
handler500 = 'apps.root.views.handler500'