Cleanup: Remove dead nav items, orphaned i18n keys, and stale ViewName entries

Student Navigation:
- Removed 6 teacher-only items from studentNavSections:
  grade-analytics, ai-tests, seating-chart, school-newsletter,
  school-transport, substitute-teacher
- Added 9 student-relevant views to studentViews:
  counseling, report-cards, student-wellness, student-career,
  school-library, announcements, peer-assessment, student-achievements,
  student-study-planner

Parent Navigation:
- Removed 2 student-only items from parentNavSections:
  student-study-planner, peer-assessment
- Added 8 parent-relevant views to parentViews:
  parents, grading, attendance, report-cards, school-library,
  student-achievements, student-career, competitions

i18n Cleanup:
- Removed 92 orphaned tablet_grading.* translation keys (47 DE + 45 EN)
  These were for features in the deleted tablet-grading-view.tsx component

ViewName Type:
- Removed 'tablet-grading', 'exam-calendar', 'school-events' from ViewName union
  (nav entries and renderView cases were already removed in previous commit)
This commit is contained in:
Z User committed 2026-08-10 19:10:39 +00:00
1 parent 1af01dd304
commit af0b0a5272
4 files changed
+5 -116

No files matched your search

-21
View File
@@ -245,8 +245,6 @@ const navSections: NavSection[] = [
{ key: 'portfolio', icon: Briefcase, labelKey: 'nav.portfolio' },
{ key: 'rubrics', icon: Ruler, labelKey: 'nav.rubrics' },
{ key: 'comments', icon: MessageSquareText, labelKey: 'nav.comments' },
{ key: 'peer-assessment', icon: UsersRound, labelKey: 'nav.peer-assessment' },
{ key: 'seating-chart', icon: LayoutGridIcon, labelKey: 'nav.seating_chart' },
{ key: 'subjects', icon: BookOpen, labelKey: 'nav.subjects' },
{ key: 'competitions', icon: Trophy, labelKey: 'nav.competitions' },
],
@@ -258,16 +256,13 @@ const navSections: NavSection[] = [
{ key: 'calendar', icon: CalendarIconNav, labelKey: 'nav.calendar' },
{ key: 'communication', icon: MessageSquare, labelKey: 'nav.communication' },
{ key: 'announcements', icon: Megaphone, labelKey: 'nav.announcements' },
{ key: 'school-newsletter', icon: Newspaper, labelKey: 'nav.school-newsletter' },
{ key: 'school-library', icon: LibraryIcon, labelKey: 'nav.school_library' },
{ key: 'school-transport', icon: Bus, labelKey: 'nav.school-transport' },
{ key: 'counseling', icon: Heart, labelKey: 'counseling.title' },
{ key: 'student-wellness', icon: Heart, labelKey: 'nav.student-wellness' },
{ key: 'student-career', icon: Compass, labelKey: 'nav.student-career' },
{ key: 'disciplinary', icon: Shield, labelKey: 'disciplinary.title' },
{ key: 'behavior', icon: Shield, labelKey: 'nav.behavior' },
{ key: 'illness', icon: Heart, labelKey: 'nav.illness' },
{ key: 'substitute-teacher', icon: UserCheck, labelKey: 'nav.substitute-teacher' },
{ key: 'timetable', icon: ClockIcon, labelKey: 'nav.timetable' },
{ key: 'parents', icon: Mail, labelKey: 'nav.parents' },
],
@@ -280,9 +275,7 @@ const navSections: NavSection[] = [
{ key: 'matrix', icon: Grid3X3, labelKey: 'nav.matrix' },
{ key: 'analytics', icon: TrendingUp, labelKey: 'nav.analytics' },
{ key: 'coverage', icon: Target, labelKey: 'nav.coverage' },
{ key: 'grade-analytics', icon: BarChart3, labelKey: 'nav.grade-analytics' },
{ key: 'reports', icon: FileText, labelKey: 'nav.reports' },
{ key: 'ai-tests', icon: Brain, labelKey: 'ai_tests.title' },
{ key: 'ai-studio', icon: Sparkles, labelKey: 'nav.ai-studio' },
{ key: 'data-import-export', icon: Database, labelKey: 'nav.data-import-export' },
],
@@ -309,7 +302,6 @@ const studentNavSections: NavSection[] = [
{ key: 'notebooks', icon: BookOpen, labelKey: 'nav.student_notebooks' },
{ key: 'flower', icon: Flower2, labelKey: 'nav.student_competencies' },
{ key: 'grading', icon: Calculator, labelKey: 'nav.student_grades' },
{ key: 'grade-analytics', icon: BarChart3, labelKey: 'nav.grade-analytics' },
{ key: 'homework', icon: BookCheck, labelKey: 'nav.homework' },
{ key: 'attendance', icon: CalendarCheck, labelKey: 'nav.student_attendance' },
{ key: 'portfolio', icon: Briefcase, labelKey: 'nav.portfolio' },
@@ -319,19 +311,12 @@ const studentNavSections: NavSection[] = [
{ key: 'illness', icon: Heart, labelKey: 'nav.illness' },
{ key: 'communication', icon: MessageSquare, labelKey: 'nav.communication' },
{ key: 'counseling', icon: Heart, labelKey: 'counseling.title' },
{ key: 'ai-tests', icon: Brain, labelKey: 'ai_tests.title' },
{ key: 'peer-assessment', icon: UsersRound, labelKey: 'nav.peer-assessment' },
{ key: 'report-cards', icon: FileText, labelKey: 'nav.report_cards' },
{ key: 'seating-chart', icon: LayoutGridIcon, labelKey: 'nav.seating_chart' },
{ key: 'student-achievements', icon: Trophy, labelKey: 'achievements.title' },
{ key: 'student-study-planner', icon: Timer, labelKey: 'study_planner.title' },
{ key: 'student-wellness', icon: Heart, labelKey: 'nav.student-wellness' },
{ key: 'student-career', icon: Compass, labelKey: 'nav.student-career' },
{ key: 'resources', icon: FolderOpen, labelKey: 'nav.resources' },
{ key: 'school-library', icon: LibraryIcon, labelKey: 'nav.school_library' },
{ key: 'school-newsletter', icon: Newspaper, labelKey: 'nav.school-newsletter' },
{ key: 'school-transport', icon: Bus, labelKey: 'nav.school-transport' },
{ key: 'substitute-teacher', icon: UserCheck, labelKey: 'nav.substitute-teacher' },
{ key: 'notification-center', icon: Bell, labelKey: 'nav.notification_center' },
{ key: 'announcements', icon: Megaphone, labelKey: 'nav.announcements' },
{ key: 'settings', icon: Settings, labelKey: 'nav.settings' },
@@ -349,21 +334,15 @@ const parentNavSections: NavSection[] = [
{ key: 'parent-portal', icon: Heart, labelKey: 'parent_portal.title' },
{ key: 'parents', icon: Mail, labelKey: 'parent.messages' },
{ key: 'grading', icon: Calculator, labelKey: 'nav.student_grades' },
{ key: 'grade-analytics', icon: BarChart3, labelKey: 'nav.grade-analytics' },
{ key: 'attendance', icon: CalendarCheck, labelKey: 'nav.student_attendance' },
{ key: 'calendar', icon: CalendarIconNav, labelKey: 'nav.calendar' },
{ key: 'competitions', icon: Trophy, labelKey: 'nav.competitions' },
{ key: 'illness', icon: Heart, labelKey: 'nav.illness' },
{ key: 'communication', icon: MessageSquare, labelKey: 'nav.communication' },
{ key: 'student-achievements', icon: Trophy, labelKey: 'achievements.title' },
{ key: 'student-study-planner', icon: Timer, labelKey: 'study_planner.title' },
{ key: 'student-career', icon: Compass, labelKey: 'nav.student-career' },
{ key: 'peer-assessment', icon: UsersRound, labelKey: 'nav.peer-assessment' },
{ key: 'report-cards', icon: FileText, labelKey: 'nav.report_cards' },
{ key: 'school-library', icon: LibraryIcon, labelKey: 'nav.school_library' },
{ key: 'school-newsletter', icon: Newspaper, labelKey: 'nav.school-newsletter' },
{ key: 'school-transport', icon: Bus, labelKey: 'nav.school-transport' },
{ key: 'substitute-teacher', icon: UserCheck, labelKey: 'nav.substitute-teacher' },
{ key: 'notification-center', icon: Bell, labelKey: 'nav.notification_center' },
{ key: 'announcements', icon: Megaphone, labelKey: 'nav.announcements' },
],
-92
View File
@@ -5046,52 +5046,6 @@ const de: TranslationDict = {
// Tablet Grading
'nav.tablet_grading': 'Tablet-Benotung',
'tablet_grading.loading': 'Benotungsansicht wird geladen...',
'tablet_grading.select_class': 'Klasse auswählen',
'tablet_grading.select_assessment': 'Leistungüberprüfung auswählen',
'tablet_grading.search_student': 'Schüler suchen...',
'tablet_grading.all': 'Alle',
'tablet_grading.submitted': 'Abgegeben',
'tablet_grading.graded': 'Benotet',
'tablet_grading.pending': 'Ausstehend',
'tablet_grading.no_students': 'Keine Schüler gefunden',
'tablet_grading.students': 'Schüler',
'tablet_grading.select_student_hint': 'Wählen Sie einen Schüler aus, um mit der Benotung zu beginnen',
'tablet_grading.quick_grade': 'Schnellbenotung (Deutsche Notenskala)',
'tablet_grading.score': 'Punktzahl',
'tablet_grading.teacher_notes': 'Lehrernotizen',
'tablet_grading.notes_placeholder': 'Notizen zur Arbeit dieses Schülers...',
'tablet_grading.ai_suggestion': 'KI-Vorschlag',
'tablet_grading.suggested_grade': 'Vorgeschlagene Note',
'tablet_grading.current_grade': 'Aktuelle Note',
'tablet_grading.accept': 'Akzeptieren',
'tablet_grading.reject': 'Ablehnen',
'tablet_grading.suggestion_accepted': 'Vorschlag akzeptiert',
'tablet_grading.suggestion_rejected': 'Vorschlag abgelehnt',
'tablet_grading.save_grade': 'Note speichern',
'tablet_grading.saved': 'Anmerkungen gespeichert',
'tablet_grading.save_error': 'Fehler beim Speichern der Anmerkungen',
'tablet_grading.grade_saved': 'Note gespeichert',
'tablet_grading.grade_error': 'Fehler beim Speichern der Note',
'tablet_grading.ai_audit': 'KI-Prüfung',
'tablet_grading.ai_results': 'KI-Ergebnisse',
'tablet_grading.ai_review_complete': 'KI-Prüfung abgeschlossen',
'tablet_grading.ai_review_error': 'Fehler bei der KI-Prüfung',
'tablet_grading.ai_audit_title': 'KI-Benotungsprüfung',
'tablet_grading.analyzing': 'Analysiere...',
'tablet_grading.trigger_audit': 'KI-Prüfung starten',
'tablet_grading.latest_review': 'Neueste Prüfung',
'tablet_grading.reasoning': 'Begründung',
'tablet_grading.discrepancies_found': 'Gefundene Unstimmigkeiten',
'tablet_grading.discrepancy': 'Unstimmigkeit',
'tablet_grading.consistent': 'Konsistent',
'tablet_grading.discrepancies': 'Unstimmigkeiten',
'tablet_grading.review_history': 'Prüfungsverlauf',
'tablet_grading.suggested': 'Vorgeschlagen',
'tablet_grading.no_reviews': 'Noch keine KI-Prüfungen. Starten Sie eine Prüfung.',
'tablet_grading.student_view': 'Schüleransicht — Nur Lesen',
'tablet_grading.admin_view': 'Admin-Ansicht',
'tablet_grading.enter_text': 'Text eingeben...',
// Notification Center
'nav.notification_center': 'Benachrichtigungen',
@@ -11700,52 +11654,6 @@ const en: TranslationDict = {
// Tablet Grading
'nav.tablet_grading': 'Tablet Grading',
'tablet_grading.loading': 'Loading grading view...',
'tablet_grading.select_class': 'Select class',
'tablet_grading.select_assessment': 'Select assessment',
'tablet_grading.search_student': 'Search student...',
'tablet_grading.all': 'All',
'tablet_grading.submitted': 'Submitted',
'tablet_grading.graded': 'Graded',
'tablet_grading.pending': 'Pending',
'tablet_grading.no_students': 'No students found',
'tablet_grading.students': 'students',
'tablet_grading.select_student_hint': 'Select a student to begin grading',
'tablet_grading.quick_grade': 'Quick Grade (German Scale)',
'tablet_grading.score': 'Score',
'tablet_grading.teacher_notes': 'Teacher Notes',
'tablet_grading.notes_placeholder': 'Write notes about this student\'s work...',
'tablet_grading.ai_suggestion': 'AI Suggestion',
'tablet_grading.suggested_grade': 'Suggested grade',
'tablet_grading.current_grade': 'Current grade',
'tablet_grading.accept': 'Accept',
'tablet_grading.reject': 'Reject',
'tablet_grading.suggestion_accepted': 'Suggestion accepted',
'tablet_grading.suggestion_rejected': 'Suggestion dismissed',
'tablet_grading.save_grade': 'Save Grade',
'tablet_grading.saved': 'Annotations saved',
'tablet_grading.save_error': 'Error saving annotations',
'tablet_grading.grade_saved': 'Grade saved',
'tablet_grading.grade_error': 'Error saving grade',
'tablet_grading.ai_audit': 'AI Audit',
'tablet_grading.ai_results': 'AI Results',
'tablet_grading.ai_review_complete': 'AI review complete',
'tablet_grading.ai_review_error': 'Error performing AI review',
'tablet_grading.ai_audit_title': 'AI Grading Audit',
'tablet_grading.analyzing': 'Analyzing...',
'tablet_grading.trigger_audit': 'Trigger AI Audit',
'tablet_grading.latest_review': 'Latest Review',
'tablet_grading.reasoning': 'Reasoning',
'tablet_grading.discrepancies_found': 'Discrepancies Found',
'tablet_grading.discrepancy': 'Discrepancy',
'tablet_grading.consistent': 'Consistent',
'tablet_grading.discrepancies': 'discrepancies',
'tablet_grading.review_history': 'Review History',
'tablet_grading.suggested': 'Suggested',
'tablet_grading.no_reviews': 'No AI reviews yet. Trigger an audit to get started.',
'tablet_grading.student_view': 'Student View — Read Only',
'tablet_grading.admin_view': 'Admin View',
'tablet_grading.enter_text': 'Enter text...',
// Notification Center
'nav.notification_center': 'Notifications',
+5
View File
@@ -9,12 +9,17 @@ export const STUDENT_MANAGER_ROLES: readonly AppRole[] = ['SCHOOL_ADMIN', 'SUPER
const parentViews: ViewName[] = [
'dashboard', 'parent-portal', 'calendar', 'communication', 'illness',
'notification-center', 'announcements', 'settings',
'parents', 'grading', 'attendance', 'report-cards', 'school-library',
'student-achievements', 'student-career', 'competitions',
];
const studentViews: ViewName[] = [
'dashboard', 'student-portal', 'calendar', 'communication', 'illness',
'notification-center', 'notebooks', 'homework', 'attendance', 'grading',
'flower', 'subjects', 'resources', 'competitions', 'portfolio', 'settings',
'counseling', 'report-cards', 'student-wellness', 'student-career',
'school-library', 'announcements', 'peer-assessment', 'student-achievements',
'student-study-planner',
];
const teacherViews: ViewName[] = [
-3
View File
@@ -41,8 +41,6 @@ export type ViewName =
| 'parent-portal'
| 'notification-center'
| 'announcements'
| 'tablet-grading'
| 'exam-calendar'
| 'student-achievements'
| 'student-study-planner'
| 'seating-chart'
@@ -50,7 +48,6 @@ export type ViewName =
| 'report-cards'
| 'data-import-export'
| 'student-wellness'
| 'school-events'
| 'substitute-teacher'
| 'student-career'
| 'school-newsletter'