feat: add Next Lesson widget and enhance existing widgets

- Implemented a new Next Lesson widget to display the upcoming lesson details on the home screen.
- Updated Today widget to dynamically adjust the number of lessons displayed based on available space.
- Enhanced the Settings screen to allow users to manage hidden lessons more effectively.
- Introduced harmonized color palettes for better visual consistency across themes.
- Updated the timetable API to support a new range parameter for semester-based queries.
- Added tests to ensure the new semester range functionality works as expected.
- Refactored widget styling for improved appearance on devices with different Android versions.
This commit is contained in:
2026-10-18 00:39:32 +03:00
parent 29df0aa61f
commit d900e038b6
52 changed files with 278058 additions and 183859 deletions

View File

@@ -51,3 +51,10 @@ test("Без семестра в таблице недель даты не уг
/нет группы/,
);
});
test("range=semester: все дни текущего семестра от первого до последнего", () => {
const t = timetable({ file, schedule, calendar, group: "23-БА", from: "2026-10-16", range: "semester", today: "2026-10-16" });
assert.equal(t.days[0].date, t.semester.start);
assert.equal(t.days.at(-1).date, t.semester.end);
assert.ok(t.days.length > 62, "больше обычного предела в 62 дня");
});