Improve moderation dashboard UI and functionality

- Add status tabs (Pending, Approved, Rejected, Escalated)
- Implement HTMX for smooth tab switching and status changes
- Add proper permissions for escalated submissions
- Change Status filter to Submission Type (Text/Photo)
- Move navigation into dashboard content
- Fix tab menu visibility and transitions
- Add contextual loading indicator
- Update styling to match dark theme
- Ensure consistent styling across components
This commit is contained in:
pacnpal
2024-11-13 18:38:03 +00:00
parent 6a9154ce69
commit 1acfe9d29e
3 changed files with 279 additions and 14 deletions

View File

@@ -1,21 +1,27 @@
from django.urls import path
from django.shortcuts import redirect
from django.urls import reverse_lazy
from . import views
app_name = 'moderation'
def redirect_to_dashboard(request):
return redirect(reverse_lazy('moderation:dashboard'))
urlpatterns = [
# Dashboard
path('', views.DashboardView.as_view(), name='dashboard'),
# Root URL redirects to dashboard
path('', redirect_to_dashboard),
# Dashboard and Submissions
path('dashboard/', views.DashboardView.as_view(), name='dashboard'),
path('submissions/', views.submission_list, name='submission_list'),
# Edit Submissions
path('edits/', views.EditSubmissionListView.as_view(), name='edit_submissions'),
path('edits/<int:submission_id>/approve/', views.approve_submission, name='approve_submission'),
path('edits/<int:submission_id>/reject/', views.reject_submission, name='reject_submission'),
path('edits/<int:submission_id>/escalate/', views.escalate_submission, name='escalate_submission'),
# Submission Actions
path('submissions/<int:submission_id>/approve/', views.approve_submission, name='approve_submission'),
path('submissions/<int:submission_id>/reject/', views.reject_submission, name='reject_submission'),
path('submissions/<int:submission_id>/escalate/', views.escalate_submission, name='escalate_submission'),
# Photo Submissions
path('photos/', views.PhotoSubmissionListView.as_view(), name='photo_submissions'),
path('photos/<int:submission_id>/approve/', views.approve_photo, name='approve_photo'),
path('photos/<int:submission_id>/reject/', views.reject_photo, name='reject_photo'),
]