package com.fabledsword.minstrel.nav

import kotlinx.serialization.Serializable

// ── In-shell top-level destinations (reachable from MainAppBarActions
// icons + kebab) ──────────────────────────────────────────────────────

@Serializable data object Home
@Serializable data object Library
@Serializable data object Search
@Serializable data object Discover
@Serializable data object Playlists
@Serializable data object Settings
@Serializable data object Admin
@Serializable data object Requests

// ── In-shell detail / push-on-top destinations ────────────────────────

@Serializable data class AlbumDetail(val id: String)
@Serializable data class ArtistDetail(val id: String)
@Serializable data class PlaylistDetail(val id: String)
@Serializable data object AdminRequests
@Serializable data object AdminQuarantine
@Serializable data object AdminUsers
@Serializable data object AdminTagSources

// ── Outside-shell full-screen routes ──────────────────────────────────

@Serializable data object NowPlaying      // slide-up modal transition
@Serializable data object Queue           // standard push
@Serializable data object ServerUrl       // unauthenticated layer
@Serializable data object Login           // unauthenticated layer
