Files
workoutsplus/WorkoutsPlus/Configuration/NavigationManager.swift
T
2024-11-26 17:22:29 +01:00

41 lines
711 B
Swift

//
// NavigationManager.swift
// WorkoutsPlus
//
// Created by Felix Förtsch on 04.11.24.
//
import SwiftUI
class NavigationManager: ObservableObject {
@Published var path = NavigationPath()
func navigateFromRoot(to destination: NavigationDestination) {
path = NavigationPath()
path.append(destination)
}
func popToRoot() {
path = NavigationPath()
}
func pop() {
if !path.isEmpty {
path.removeLast()
}
}
func push(_ destination: NavigationDestination) {
path.append(destination)
}
}
enum NavigationDestination: Hashable {
case activeWorkoutSession
case workoutLibrary
case workoutLog
case exerciseLibrary
case settings
case debug
}