Home's news card now shows up to 3 recent items (lead item with its photo placeholder, the next two as compact rows) instead of just the latest one, plus an "All news" link -- the design canvas's own M1 markup already had that link, just unbuilt until now. Both also now filter by visibility (internal or both, never external-only -- that's the public website's own audience), which the teaser never actually enforced before. New mobile:news_list page is the full archive: every published, member-visible item for the club, newest first, not narrowed to any particular team the way Home's own teaser is. Paginated at 20/page. The bottom tab bar's News tab now links here instead of a dead #news anchor on Home. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ECGMEwrc2k4D8VQuwjstj9
23 lines
1.0 KiB
Python
23 lines
1.0 KiB
Python
from django.urls import path
|
|
|
|
from . import views
|
|
|
|
app_name = "mobile"
|
|
|
|
urlpatterns = [
|
|
# PWA plumbing.
|
|
path("manifest.webmanifest", views.ManifestView.as_view(), name="manifest"),
|
|
path("sw.js", views.ServiceWorkerView.as_view(), name="service_worker"),
|
|
path("icon/<int:size>.png", views.AppIconView.as_view(), name="icon"),
|
|
path("push/subscribe/", views.PushSubscribeView.as_view(), name="push_subscribe"),
|
|
# Member mode (M1-M7).
|
|
path("", views.HomeView.as_view(), name="home"),
|
|
path("calendar/", views.CalendarView.as_view(), name="calendar"),
|
|
path("events/<uuid:pk>/", views.EventDetailView.as_view(), name="event_detail"),
|
|
path("news/", views.NewsListView.as_view(), name="news_list"),
|
|
path("news/<slug:slug>/", views.NewsDetailView.as_view(), name="news_detail"),
|
|
path("me/", views.MeView.as_view(), name="me"),
|
|
path("me/<uuid:member_id>/edit/", views.EditProfileView.as_view(), name="edit_profile"),
|
|
path("notifications/", views.NotificationsView.as_view(), name="notifications"),
|
|
]
|