43 lines
1019 B
Kotlin
43 lines
1019 B
Kotlin
package com.atridad.openclimb.navigation
|
|
|
|
import kotlinx.serialization.Serializable
|
|
|
|
@Serializable
|
|
sealed class Screen {
|
|
@Serializable
|
|
data object Sessions : Screen()
|
|
|
|
@Serializable
|
|
data object Problems : Screen()
|
|
|
|
@Serializable
|
|
data object Analytics : Screen()
|
|
|
|
@Serializable
|
|
data object Gyms : Screen()
|
|
|
|
@Serializable
|
|
data object Settings : Screen()
|
|
|
|
// Detail screens
|
|
@Serializable
|
|
data class SessionDetail(val sessionId: String) : Screen()
|
|
|
|
@Serializable
|
|
data class ProblemDetail(val problemId: String) : Screen()
|
|
|
|
@Serializable
|
|
data class GymDetail(val gymId: String) : Screen()
|
|
|
|
@Serializable
|
|
data class AddEditGym(val gymId: String? = null) : Screen()
|
|
|
|
@Serializable
|
|
data class AddEditProblem(val problemId: String? = null, val gymId: String? = null) : Screen()
|
|
|
|
@Serializable
|
|
data class AddEditSession(val sessionId: String? = null, val gymId: String? = null) : Screen()
|
|
|
|
|
|
}
|