diff options
| author | Ruben Beltran del Rio <git@r.bdr.sh> | 2025-02-02 23:19:57 +0100 |
|---|---|---|
| committer | Ruben Beltran del Rio <git@r.bdr.sh> | 2025-02-02 23:19:57 +0100 |
| commit | c676230cbc7da1c2c4d5540f89da32e9228deffd (patch) | |
| tree | b47f940282ee552b2608d847a9ce5e06b5749f29 /Hotline/macOS/TrackerView.swift | |
| parent | 77b3ac3c051fc4e8fa126cd21e261be28f4aad1a (diff) | |
Add autoconnect + reconnect logic
Diffstat (limited to 'Hotline/macOS/TrackerView.swift')
| -rw-r--r-- | Hotline/macOS/TrackerView.swift | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/Hotline/macOS/TrackerView.swift b/Hotline/macOS/TrackerView.swift index 0fac8b0..cdeef7f 100644 --- a/Hotline/macOS/TrackerView.swift +++ b/Hotline/macOS/TrackerView.swift @@ -24,6 +24,11 @@ struct TrackerView: View { List(selection: $selection) { ForEach(bookmarks, id: \.self) { bookmark in TrackerItemView(bookmark: bookmark) + .onAppear { + if bookmark.autoconnect, let server = bookmark.server { + openWindow(id: "server", value: server) + } + } .tag(bookmark) if bookmark.type == .tracker && bookmark.expanded { @@ -403,7 +408,19 @@ struct TrackerItemView: View { .frame(width: 11, height: 11, alignment: .center) .opacity(0.5) .padding(.leading, 3) + Image(systemName: "bolt.fill") + .resizable() + .renderingMode(.template) + .aspectRatio(contentMode: .fit) + .frame(width: 13, height: 13, alignment: .center) + .opacity(0.5) + .padding(.leading, 3) .padding(.trailing, 2) + .foregroundStyle(bookmark.autoconnect ? Color.accentColor : Color.gray) + .onTapGesture { + bookmark.autoconnect.toggle() + try? bookmark.modelContext?.save() + } Image("Server") .resizable() .scaledToFit() |