feat: add tasks and notes management for lessons

- Introduced a new feature for managing tasks and notes associated with lessons.
- Added a `NotesStore` class to handle local storage of notes in JSON format.
- Implemented UI components for displaying, adding, editing, and deleting notes.
- Enhanced the `HomeScreen`, `ScheduleScreen`, and `SubjectsScreen` to integrate notes functionality.
- Updated the API to handle versioning and added error handling for outdated endpoints.
- Improved the overall user experience with visual indicators for tasks and notes in the schedule.
This commit is contained in:
2026-10-17 13:35:49 +03:00
parent e1a787c1dd
commit 29df0aa61f
18 changed files with 384859 additions and 22 deletions

View File

@@ -28,11 +28,16 @@ app.use("/api", (_req, res, next) => {
res.set("Cache-Control", "no-store");
next();
});
// Raised whenever an endpoint is added or changed, so a deployment is easy to verify:
// 2 — /api/timetable for the Android client.
const API_VERSION = 2;
// Liveness plus what the server currently reads from the university, without network calls.
app.get("/api/health", async (_req, res) => {
const sources = await sourceStatus().catch((e) => ({ error: e.message }));
res.json({
ok: true,
apiVersion: API_VERSION,
parserVersion: PARSER_VERSION,
...sources,
directory: indexStatus(),