package de.trainingstagebuch.app.ui.navigation

sealed class AppRoute(val route: String) {
    data object Register : AppRoute("register")
    data object Login : AppRoute("login")
    data object Activate : AppRoute("activate/{activationCode}") {
        fun create(activationCode: String) = "activate/$activationCode"
    }
    data object ForgotPassword : AppRoute("forgot-password")
    data object ResetPassword : AppRoute("reset-password/{token}") {
        fun create(token: String) = "reset-password/$token"
    }
    data object Home : AppRoute("home")
    data object CreateClub : AppRoute("createclub")
    data object ShowClub : AppRoute("showclub/{clubId}") {
        fun create(clubId: String) = "showclub/$clubId"
    }
    data object Members : AppRoute("members")
    data object Diary : AppRoute("diary")
    data object PendingApprovals : AppRoute("pending-approvals")
    data object Schedule : AppRoute("schedule")
    data object Tournaments : AppRoute("tournaments")
    data object TrainingStats : AppRoute("training-stats")
    data object ClubSettings : AppRoute("club-settings")
    data object PredefinedActivities : AppRoute("predefined-activities")
    data object MyTischtennisAccount : AppRoute("mytischtennis-account")
    data object TeamManagement : AppRoute("team-management")
    data object Permissions : AppRoute("permissions")
    data object Logs : AppRoute("logs")
    data object MemberTransferSettings : AppRoute("member-transfer-settings")
    data object PersonalSettings : AppRoute("personal-settings")
    data object Impressum : AppRoute("impressum")
    data object Datenschutz : AppRoute("datenschutz")
}
