feat: Add Settings and Subjects screens with theme reveal functionality

- Implemented SettingsScreen for user preferences including theme selection, reminders, and notifications.
- Created SubjectsScreen to display subjects with upcoming lessons and associated details.
- Introduced ThemeReveal for a smooth transition between light and dark themes.
- Added support for managing notes and tasks related to subjects.
- Enhanced UI components for better user experience and accessibility.
This commit is contained in:
2026-10-24 02:47:37 +03:00
parent 416527fb33
commit 297091cb0e
54 changed files with 182588 additions and 172428 deletions

View File

@@ -9,7 +9,13 @@
export function placesOn(places, group, labels, day, date = null) {
const on = (places || [])
.filter((p) => p.groups.includes(group) && p.day === day && (!p.date || p.date === date))
.map((p) => ({ place: p.place, text: p.text, subgroup: p.subgroups.find((s) => s.group === group)?.label || null }));
.map((p) => ({
place: p.place,
text: p.text,
subgroup: p.subgroups.find((s) => s.group === group)?.label || null,
// "13:40": the note holds from that lesson on, not the whole day.
...(p.from && { from: p.from }),
}));
const whole = on.filter((p) => !p.subgroup);
for (const p of on)
if (