feat: Implement week grid layout for timetable display

- Added WeekGrid composable to visualize weekly timetable with lessons.
- Introduced LessonBlock for individual lesson representation.
- Created theme file for consistent color schemes across the app.
- Developed NextLessonWidget and TodayWidget for home screen integration.
- Implemented Upcoming data class to manage upcoming lessons.
- Added WidgetStyle for dynamic theming in widgets.
- Created SyncWorker for periodic timetable updates and widget refresh.
This commit is contained in:
2026-10-18 16:55:12 +03:00
parent d900e038b6
commit 3dc6cc4e9e
41 changed files with 208520 additions and 249602 deletions

View File

@@ -10,15 +10,15 @@ val apiUrl = providers.gradleProperty("PSU_API_URL")
.map { if (it.endsWith("/")) it else "$it/" }
android {
namespace = "ritm.schedule"
namespace = "org.xtimms.psu.schedule"
compileSdk {
version = release(37) { minorApiLevel = 1 }
}
defaultConfig {
applicationId = "ritm.schedule"
applicationId = "org.xtimms.psu.schedule"
minSdk = 26
targetSdk = 36
targetSdk = 37
versionCode = 1
versionName = "0.1.0"
buildConfigField("String", "API_URL", "\"${apiUrl.get()}\"")
@@ -27,6 +27,7 @@ android {
buildTypes {
release {
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
// A release build must talk to a public HTTPS server.
require(apiUrl.get().startsWith("https://") || !gradle.startParameter.taskNames.any { "Release" in it }) {