package com.mitchelbv.thuis_c

import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.DateRange
import androidx.compose.material.icons.filled.Home
import androidx.compose.material.icons.filled.List
import androidx.compose.material.icons.filled.ShoppingCart
import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.vector.ImageVector
import com.mitchelbv.thuis_c.ui.card.CardsScreen
import com.mitchelbv.thuis_c.ui.feyenoord.FeyenoordScreen
import com.mitchelbv.thuis_c.ui.home.HomeScreen
import com.mitchelbv.thuis_c.ui.recipe.RecipeScreen

interface ThuisDestination {
    val route: String
    val screen: @Composable () -> Unit
    val icon: ImageVector
}

object Home : ThuisDestination {
    override val icon = Icons.Filled.Home
    override val route = "home"
    override val screen: @Composable () -> Unit = { HomeScreen() }
}

object FeyenoordMatches : ThuisDestination {
    override val icon = Icons.Filled.DateRange
    override val route: String = "matches"
    override val screen: @Composable () -> Unit = { FeyenoordScreen() }
}

object Card : ThuisDestination {
    override val icon = Icons.Filled.ShoppingCart
    override val route = "card"
    override val screen: @Composable () -> Unit = { CardsScreen() }
}

object Recipe : ThuisDestination {
    override val icon = Icons.Filled.List
    override val route = "recipe"
    override val screen: @Composable () -> Unit = { RecipeScreen() }
}

val destinations = listOf(Home, Recipe, FeyenoordMatches)