Round 19c: Professional Notebooks, Enhanced Timetable/Resources/Homework, Bug Fixes

Notebook Enhancements:
- Page numbering (auto page numbers at bottom)
- German-style margin lines on lined pages (rote Randlinie)
- Auto date stamp on new pages
- Sticker/stamp collection for educational rewards
- Page corner fold (dog-ear) on bookmarked pages
- Washi tape decorative strips

Timetable View:
- Weekly grid view (Mon-Fri, periods 1-6)
- Color-coded subjects
- Current period highlight
- Room/location display
- Drag-and-drop reschedule

Resource Library:
- Categories (worksheets, presentations, videos, links)
- Search/filter bar
- Resource preview cards with thumbnails
- Favorite/bookmark functionality

Homework View:
- Calendar view for due dates
- Submission status indicators
- Grade display for graded homework
- My Homework view for students

Settings Bug Fix:
- Fixed TabsContent outside Tabs component (caused runtime crash)

Drawing Canvas:
- Added ruler/straight edge tool

100+ new i18n keys (DE/EN)
This commit is contained in:
Mustafa Cetin committed 2026-07-29 17:02:28 +00:00
1 parent 58cb7afd81
commit 4e2eb05fbf
8 files changed
+1988 -448

No files matched your search

+116
View File
@@ -2218,6 +2218,32 @@ const de: TranslationDict = {
'notebooks.table_of_contents': 'Inhaltsverzeichnis',
'notebooks.no_sections': 'Keine Abschnitte vorhanden',
// ─── Professional Notebook Features ────────────────────────────────
'notebooks.page_number': 'Seite',
'notebooks.page_of': 'von',
'notebooks.date_stamp': 'Datum',
'notebooks.margin_line': 'Randlinie',
'notebooks.stickers': 'Sticker',
'notebooks.sticker_add': 'Sticker hinzufuegen',
'notebooks.sticker_star': 'Stern',
'notebooks.sticker_thumbs_up': 'Daumen hoch',
'notebooks.sticker_checkmark': 'Haekchen',
'notebooks.sticker_heart': 'Herz',
'notebooks.sticker_trophy': 'Pokal',
'notebooks.sticker_lightning': 'Blitz',
'notebooks.sticker_flame': 'Flamme',
'notebooks.sticker_medal': 'Medaille',
'notebooks.sticker_crown': 'Krone',
'notebooks.sticker_sun': 'Sonne',
'notebooks.sticker_rainbow': 'Regenbogen',
'notebooks.sticker_flower': 'Blume',
'notebooks.sticker_remove': 'Sticker entfernen',
'notebooks.washi_tape': 'Washi-Tape',
'notebooks.washi_tape_add': 'Washi-Tape hinzufuegen',
'notebooks.washi_tape_remove': 'Washi-Tape entfernen',
'notebooks.corner_fold': 'Eselsore',
'notebooks.date_format': 'dd.MM.yyyy',
// ─── Highlighter Tool ────────────────────────────────────────────
'drawing.tool_highlighter': 'Textmarker',
'drawing.tool_highlighter_desc': 'Halbtransparenter Textmarker zum Hervorheben',
@@ -2836,6 +2862,14 @@ const de: TranslationDict = {
'homework.due_soon': 'Bald fällig',
'homework.no_due_soon': 'Keine Hausaufgaben in nächster Zeit fällig',
'homework.view_all': 'Alle anzeigen',
'homework.my_homework': 'Meine Hausaufgaben',
'homework.load_error': 'Fehler beim Laden der Hausaufgaben',
'homework.no_homework_hint': 'Es sind noch keine Hausaufgaben vorhanden.',
'homework.view_grid': 'Rasteransicht',
'homework.view_list': 'Listenansicht',
'homework.view_calendar': 'Kalenderansicht',
'homework.sat_short': 'Sa',
'homework.sun_short': 'So',
// Announcements
'announcement.title': 'Ankündigungen',
@@ -2960,6 +2994,18 @@ const de: TranslationDict = {
'timetable.delete_slot': 'Stunde löschen',
'timetable.break_period': 'Pause',
'timetable.drag_hint': 'Ziehen zum Verschieben',
'timetable.current_period': 'Aktuelle Stunde {period}',
'timetable.today': 'Heute',
'timetable.legend': 'Legende',
'timetable.load_error': 'Fehler beim Laden des Stundenplans',
'timetable.select_class_hint': 'Wählen Sie eine Klasse, um den Stundenplan anzuzeigen.',
'timetable.no_slots_hint': 'Klicken Sie auf ein Feld, um eine Stunde hinzuzufügen.',
'timetable.room_placeholder': 'z.B. Raum 101',
'timetable.mon_short': 'Mo',
'timetable.tue_short': 'Di',
'timetable.wed_short': 'Mi',
'timetable.thu_short': 'Do',
'timetable.fri_short': 'Fr',
// Resources
'resources.title': 'Ressourcen',
@@ -2998,6 +3044,18 @@ const de: TranslationDict = {
'resources.tags_field': 'Schlagwörter',
'resources.add_tag': 'Schlagwort hinzufügen',
'resources.delete_confirm': 'Ressource wirklich löschen?',
'resources.load_error': 'Fehler beim Laden der Ressourcen',
'resources.no_favorites': 'Keine Favoriten',
'resources.no_favorites_hint': 'Markieren Sie Ressourcen als Favorit, um sie hier zu sehen.',
'resources.no_resources_hint': 'Erstellen Sie eine neue Ressource, um zu beginnen.',
'resources.create_description': 'Erstellen Sie eine neue Ressource für den Unterricht.',
'resources.tags_placeholder': 'Schlagwort1, Schlagwort2, ...',
'resources.category_all': 'Alle',
'resources.category_worksheets': 'Arbeitsblätter',
'resources.category_presentations': 'Präsentationen',
'resources.category_videos': 'Videos',
'resources.category_links': 'Links',
'resources.category_favorites': 'Favoriten',
// ─── School Branding ──────────────────────────────────────────────
'branding.title': 'Schulbranding',
@@ -5989,6 +6047,32 @@ const en: TranslationDict = {
'notebooks.table_of_contents': 'Table of Contents',
'notebooks.no_sections': 'No sections yet',
// ─── Professional Notebook Features ────────────────────────────────
'notebooks.page_number': 'Page',
'notebooks.page_of': 'of',
'notebooks.date_stamp': 'Date',
'notebooks.margin_line': 'Margin line',
'notebooks.stickers': 'Stickers',
'notebooks.sticker_add': 'Add sticker',
'notebooks.sticker_star': 'Star',
'notebooks.sticker_thumbs_up': 'Thumbs up',
'notebooks.sticker_checkmark': 'Checkmark',
'notebooks.sticker_heart': 'Heart',
'notebooks.sticker_trophy': 'Trophy',
'notebooks.sticker_lightning': 'Lightning',
'notebooks.sticker_flame': 'Flame',
'notebooks.sticker_medal': 'Medal',
'notebooks.sticker_crown': 'Crown',
'notebooks.sticker_sun': 'Sun',
'notebooks.sticker_rainbow': 'Rainbow',
'notebooks.sticker_flower': 'Flower',
'notebooks.sticker_remove': 'Remove sticker',
'notebooks.washi_tape': 'Washi tape',
'notebooks.washi_tape_add': 'Add washi tape',
'notebooks.washi_tape_remove': 'Remove washi tape',
'notebooks.corner_fold': 'Dog-ear',
'notebooks.date_format': 'MM/dd/yyyy',
// ─── Highlighter Tool ────────────────────────────────────────────
'drawing.tool_highlighter': 'Highlighter',
'drawing.tool_highlighter_desc': 'Semi-transparent highlighter for emphasizing',
@@ -6607,6 +6691,14 @@ const en: TranslationDict = {
'homework.due_soon': 'Due Soon',
'homework.no_due_soon': 'No homework due soon',
'homework.view_all': 'View All',
'homework.my_homework': 'My Homework',
'homework.load_error': 'Error loading homework',
'homework.no_homework_hint': 'No homework has been created yet.',
'homework.view_grid': 'Grid View',
'homework.view_list': 'List View',
'homework.view_calendar': 'Calendar View',
'homework.sat_short': 'Sat',
'homework.sun_short': 'Sun',
// Announcements
'announcement.title': 'Announcements',
@@ -6731,6 +6823,18 @@ const en: TranslationDict = {
'timetable.delete_slot': 'Delete Slot',
'timetable.break_period': 'Break',
'timetable.drag_hint': 'Drag to move',
'timetable.current_period': 'Current Period {period}',
'timetable.today': 'Today',
'timetable.legend': 'Legend',
'timetable.load_error': 'Error loading timetable',
'timetable.select_class_hint': 'Select a class to view the timetable.',
'timetable.no_slots_hint': 'Click on a cell to add a slot.',
'timetable.room_placeholder': 'e.g. Room 101',
'timetable.mon_short': 'Mon',
'timetable.tue_short': 'Tue',
'timetable.wed_short': 'Wed',
'timetable.thu_short': 'Thu',
'timetable.fri_short': 'Fri',
// Resources
'resources.title': 'Resources',
@@ -6769,6 +6873,18 @@ const en: TranslationDict = {
'resources.tags_field': 'Tags',
'resources.add_tag': 'Add Tag',
'resources.delete_confirm': 'Are you sure you want to delete this resource?',
'resources.load_error': 'Error loading resources',
'resources.no_favorites': 'No Favorites',
'resources.no_favorites_hint': 'Mark resources as favorite to see them here.',
'resources.no_resources_hint': 'Create a new resource to get started.',
'resources.create_description': 'Create a new resource for the classroom.',
'resources.tags_placeholder': 'Tag1, Tag2, ...',
'resources.category_all': 'All',
'resources.category_worksheets': 'Worksheets',
'resources.category_presentations': 'Presentations',
'resources.category_videos': 'Videos',
'resources.category_links': 'Links',
'resources.category_favorites': 'Favorites',
// ─── School Branding ──────────────────────────────────────────────
'branding.title': 'School Branding',