aboutsummaryrefslogtreecommitdiff
path: root/Hotline/macOS/TrackerView.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Hotline/macOS/TrackerView.swift')
-rw-r--r--Hotline/macOS/TrackerView.swift28
1 files changed, 16 insertions, 12 deletions
diff --git a/Hotline/macOS/TrackerView.swift b/Hotline/macOS/TrackerView.swift
index ab70389..104e15d 100644
--- a/Hotline/macOS/TrackerView.swift
+++ b/Hotline/macOS/TrackerView.swift
@@ -11,6 +11,7 @@ struct TrackerView: View {
@State private var refreshing = false
@State private var trackerSheetPresented: Bool = false
@State private var trackerSheetBookmark: Bookmark? = nil
+ @State private var attemptedPrepopulate: Bool = false
@Query(sort: \Bookmark.order) private var bookmarks: [Bookmark]
@State private var selection: Bookmark? = nil
@@ -46,12 +47,22 @@ struct TrackerView: View {
.environment(\.defaultMinListRowHeight, 34)
.listStyle(.inset)
.alternatingRowBackgrounds(.enabled)
- .onAppear {
-// Bookmark.deleteAll(context: modelContext)
+ .onChange(of: ApplicationState.shared.cloudKitReady) {
+ if attemptedPrepopulate {
+ print("Tracker: Already attempted to prepopulate bookmarks")
+ return
+ }
+
+ print("Tracker: Prepopulating bookmarks")
+
+ attemptedPrepopulate = true
// Make sure default bookmarks are there when empty.
Bookmark.populateDefaults(context: modelContext)
}
+ .onAppear {
+// Bookmark.deleteAll(context: modelContext)
+ }
.contextMenu(forSelectionType: Bookmark.self) { items in
if let item = items.first {
if item.type == .temporary {
@@ -174,15 +185,6 @@ struct TrackerView: View {
.help("Connect to Server")
}
}
-// .onReceive(NotificationCenter.default.publisher(for: NSNotification.BookmarkAdded)) { notification in
-// guard let bookmarks = bookmarks.bookmarks, let userInfo = notification.userInfo else {
-// return
-// }
-//
-// if let i = userInfo["index"] as? Int, bookmarks.count > i {
-// self.servers.insert(TrackerItem(bookmark: bookmarks[i]), at: i)
-// }
-// }
.onOpenURL(perform: { url in
if let s = Server(url: url) {
openWindow(id: "server", value: s)
@@ -309,7 +311,7 @@ struct TrackerItemView: View {
let bookmark: Bookmark
var body: some View {
- HStack(alignment: .center, spacing: 8) {
+ HStack(alignment: .center, spacing: 6) {
if bookmark.type == .tracker {
Button {
bookmark.expanded.toggle()
@@ -323,6 +325,7 @@ struct TrackerItemView: View {
.buttonStyle(.plain)
.frame(width: 10)
.padding(.leading, 4)
+ .padding(.trailing, 2)
}
switch bookmark.type {
@@ -345,6 +348,7 @@ struct TrackerItemView: View {
.frame(width: 11, height: 11, alignment: .center)
.opacity(0.5)
.padding(.leading, 3)
+ .padding(.trailing, 2)
Image("Server")
.resizable()
.scaledToFit()