package com.example.livingai.pages.navigation

import kotlinx.serialization.Serializable

@Serializable
sealed class Route {
    @Serializable
    object AppStartNavigation : Route()
    @Serializable
    object HomeNavigation : Route()
    @Serializable
    object OnBoardingScreen : Route()
    @Serializable
    object HomeScreen : Route()
    @Serializable
    object ListingsScreen : Route()
    @Serializable
    data class AddProfileScreen(val animalId: String? = null, val loadEntry: Boolean = false) : Route()
    @Serializable
    data class RatingScreen(val animalId: String) : Route()
    @Serializable
    data class CameraScreen(val orientation: String, val animalId: String) : Route()
    @Serializable
    data class OldCameraScreen(val orientation: String? = null, val animalId: String) : Route()
    @Serializable
    data class VideoRecordScreen(val animalId: String) : Route()
    @Serializable
    data class ViewImageScreen(val imageUri: String, val shouldAllowRetake: Boolean, val orientation: String? = null, val showAccept: Boolean = false, val showBack: Boolean = false, val animalId: String) : Route()
    @Serializable
    data class ViewVideoScreen(val videoUri: String, val shouldAllowRetake: Boolean, val animalId: String) : Route()
    @Serializable
    object SettingsScreen : Route()
}
