Files
linkding-ios/Marks/MarksApp.swift
Krishna Kumar 38fd37bee8
Some checks failed
CI / build-and-deploy (push) Failing after 7s
Fix hardcoded linkding token
2026-05-22 16:52:51 -05:00

53 lines
1.4 KiB
Swift

import SwiftUI
private let defaultConfig = ServerConfig(
host: "linkding-production-f7e0.up.railway.app",
port: nil,
path: "",
token: "04c3388f543a6f4401ae41958b4a459a0125c4bf",
useHttps: true
)
@main
struct MarksApp: App {
@State private var serverConfig: ServerConfig = ServerConfig.load() ?? defaultConfig
var body: some Scene {
WindowGroup {
MainContainer(config: serverConfig) {
defaultConfig.save()
serverConfig = defaultConfig
}
}
}
}
// Holds the API + ViewModel so they survive re-renders
struct MainContainer: View {
let config: ServerConfig
let onDisconnect: () -> Void
@State private var viewModel: BookmarksViewModel
init(config: ServerConfig, onDisconnect: @escaping () -> Void) {
self.config = config
self.onDisconnect = onDisconnect
let api = LinkdingAPI(config: config)
_viewModel = State(wrappedValue: BookmarksViewModel(api: api, cacheKey: config.host))
}
var body: some View {
TabView {
Tab("Bookmarks", systemImage: "bookmark") {
BookmarksView(viewModel: viewModel, onDisconnect: onDisconnect)
}
Tab("Tags", systemImage: "tag") {
TagsView(viewModel: viewModel)
}
Tab(role: .search) {
SearchView(viewModel: viewModel)
}
}
}
}