package dev.ulfrx.recipe.navigation

import androidx.compose.ui.graphics.vector.ImageVector
import com.composables.icons.lucide.CalendarDays
import com.composables.icons.lucide.House
import com.composables.icons.lucide.Lucide
import com.composables.icons.lucide.Package
import com.composables.icons.lucide.ShoppingCart
import org.jetbrains.compose.resources.StringResource
import recipe.composeapp.generated.resources.Res
import recipe.composeapp.generated.resources.shell_tab_home
import recipe.composeapp.generated.resources.shell_tab_pantry
import recipe.composeapp.generated.resources.shell_tab_planner
import recipe.composeapp.generated.resources.shell_tab_shopping

enum class DockDestination(
    val startDestination: Screen,
    val labelRes: StringResource,
    val icon: ImageVector,
) {
    Home(
        startDestination = Screen.Home.Root,
        labelRes = Res.string.shell_tab_home,
        icon = Lucide.House,
    ),
    Planner(
        startDestination = Screen.Planner.Home,
        labelRes = Res.string.shell_tab_planner,
        icon = Lucide.CalendarDays,
    ),
    Pantry(
        startDestination = Screen.Pantry.Home,
        labelRes = Res.string.shell_tab_pantry,
        icon = Lucide.Package,
    ),
    Shopping(
        startDestination = Screen.Shopping.Home,
        labelRes = Res.string.shell_tab_shopping,
        icon = Lucide.ShoppingCart,
    ),
    ;

    companion object {
        val Default: DockDestination = Home
    }
}
