package com.isidroid.c23.ui.screen.home

import com.isidroid.core.vm.ViewEvent
import com.isidroid.core.vm.ViewSideEffect
import com.isidroid.core.vm.ViewState

class HomeContract {
    sealed interface Event : ViewEvent {
    }

    data class State(
        val isLoading: Boolean = true
    ) : ViewState


    sealed interface Effect : ViewSideEffect {
        sealed interface Navigation : Effect {
            data object ToLogin : Navigation
            data object ToSelectContent : Navigation
            data class ToSelectSpot(val lat: Double? = null, val lng: Double? = null, val spotCode: String? = null, val uris: String?) : Navigation
            data class ToPreview(val uris: String) : Navigation
        }
    }
}


