IceCubes/IceCubesApp/App/AppRouteur.swift

33 lines
867 B
Swift
Raw Normal View History

2022-11-29 11:46:02 +01:00
import SwiftUI
import Timeline
import Account
import Routeur
2022-12-18 20:30:19 +01:00
import Status
2022-12-20 09:37:07 +01:00
import DesignSystem
2022-11-29 11:46:02 +01:00
extension View {
func withAppRouteur() -> some View {
self.navigationDestination(for: RouteurDestinations.self) { destination in
switch destination {
case let .accountDetail(id):
2022-11-29 12:18:06 +01:00
AccountDetailView(accountId: id)
2022-12-17 13:37:46 +01:00
case let .accountDetailWithAccount(account):
AccountDetailView(account: account)
2022-11-29 11:46:02 +01:00
case let .statusDetail(id):
StatusDetailView(statusId: id)
2022-12-20 15:37:51 +01:00
case let .hashTag(tag):
TimelineView(timeline: .hashtag(tag: tag))
2022-11-29 11:46:02 +01:00
}
}
}
2022-12-20 09:37:07 +01:00
func withSheetDestinations(sheetDestinations: Binding<SheetDestinations?>) -> some View {
self.sheet(item: sheetDestinations) { destination in
switch destination {
case let .imageDetail(url):
ImageSheetView(url: url)
}
}
}
2022-11-29 11:46:02 +01:00
}