mirror of
https://github.com/sudosylabs/vnidrop.git
synced 2026-08-05 02:29:55 +02:00
Add a native SwiftUI VniDrop app (Send/Receive/Settings) talking to the Rust core via generated UniFFI Swift bindings, plus the uniffi-bindgen helper crate. iOS uses a TabView, macOS a NavigationSplitView sidebar.
28 lines
602 B
Swift
28 lines
602 B
Swift
import Foundation
|
|
|
|
/// Top-level destinations, ported from `ui/navigation/AppDestination.kt`.
|
|
enum AppDestination: String, CaseIterable, Identifiable {
|
|
case send
|
|
case receive
|
|
case settings
|
|
|
|
var id: String { rawValue }
|
|
|
|
var labelKey: String {
|
|
switch self {
|
|
case .send: return "nav_send"
|
|
case .receive: return "nav_receive"
|
|
case .settings: return "nav_settings"
|
|
}
|
|
}
|
|
|
|
/// SF Symbol approximating the Compose line icon.
|
|
var systemImage: String {
|
|
switch self {
|
|
case .send: return "paperplane"
|
|
case .receive: return "tray.and.arrow.down"
|
|
case .settings: return "gearshape"
|
|
}
|
|
}
|
|
}
|