from django.urls import re_path, include
from django.contrib import admin
from django.views.static import serve as static_serve
from django.conf.urls.static import static
from django.conf import settings
from django.contrib.staticfiles import views as static_views
from django.views.generic.base import RedirectView

favicon_view = RedirectView.as_view(url="static/img/favicon.png", permanent=True)


urlpatterns = [
    re_path(r"", include("webapp.urls")),
    re_path(r"^members/", include("members.urls")),
    re_path(r"^infoscreen/", include("infoscreen.urls")),
    re_path(r"^kaehmy/", include("kaehmy.urls")),
    re_path(r"^ohlhafv/", include("ohlhafv.urls")),
    # favourite icon
    re_path(r"^favicon\.ico$", favicon_view),
    # admin
    re_path(r"^admin/", admin.site.urls),
    # i18n default view for changing the active language
    re_path(r"^i18n/", include("django.conf.urls.i18n")),
    # staticfiles default view for static files in development
    re_path(r"^static/(?P<path>.*)$", static_views.serve),
    re_path(
        r"^media/(?P<path>.*)$", static_serve, {"document_root": settings.MEDIA_ROOT}
    ),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
