package com.isidroid.c23.ui.screen.print_jobs

import com.isidroid.c23.domain.dto.PrintJobListItem
import com.isidroid.c23.ui.screen.content.ContentContract
import com.isidroid.core.vm.ViewEvent
import com.isidroid.core.vm.ViewSideEffect
import com.isidroid.core.vm.ViewState
import com.isidroid.job.model.PrintJob

class PrintJobsContract {
    sealed interface Event : ViewEvent {
        data object ToBack : Event
    }

    sealed interface Effect : ViewSideEffect {
        sealed interface Navigation : Effect {
            data object ToBack : Navigation
        }
    }

    data class State(
        val loading: Boolean = false,
        val jobs: List<PrintJobListItem>? = null
    ) : ViewState
}