add settings screen, clock transparent bg toggle, event tap-to-open, readme

This commit is contained in:
Damocles 2026-04-22 22:26:34 +02:00
parent ca9c45cba1
commit a1a80905a1
8 changed files with 413 additions and 8 deletions

View file

@ -6,16 +6,23 @@ import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.activity.result.contract.ActivityResultContracts
import androidx.compose.animation.slideInHorizontally
import androidx.compose.animation.slideOutHorizontally
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController
import space.darkest.nova.android.data.AgendaDay
import space.darkest.nova.android.data.CalendarRepository
import space.darkest.nova.android.ui.AgendaScreen
import space.darkest.nova.android.ui.SettingsScreen
import space.darkest.nova.android.ui.theme.NovaTheme
class MainActivity : ComponentActivity() {
private var agenda by mutableStateOf(emptyList<space.darkest.nova.android.data.AgendaDay>())
private var agenda by mutableStateOf(emptyList<AgendaDay>())
private val calendarPermission = registerForActivityResult(
ActivityResultContracts.RequestPermission()
@ -31,7 +38,25 @@ class MainActivity : ComponentActivity() {
setContent {
NovaTheme {
AgendaScreen(agenda)
val navController = rememberNavController()
NavHost(
navController = navController,
startDestination = "agenda",
enterTransition = { slideInHorizontally { it } },
exitTransition = { slideOutHorizontally { -it } },
popEnterTransition = { slideInHorizontally { -it } },
popExitTransition = { slideOutHorizontally { it } },
) {
composable("agenda") {
AgendaScreen(
agenda = agenda,
onSettingsClick = { navController.navigate("settings") },
)
}
composable("settings") {
SettingsScreen(onBack = { navController.popBackStack() })
}
}
}
}
}