Add LocalSend support with service integration and UI updates

This commit is contained in:
AntonP29 2026-03-21 21:30:41 -07:00
commit f345ddaff8
15 changed files with 1773 additions and 29 deletions

View file

@ -23,6 +23,7 @@
import AtollExtensionKit
import SwiftUI
import Defaults
import AppKit
struct TabModel: Identifiable {
let id: String
@ -45,6 +46,9 @@ struct TabModel: Identifiable {
struct TabSelectionView: View {
@ObservedObject var coordinator = DynamicIslandViewCoordinator.shared
@ObservedObject private var extensionNotchExperienceManager = ExtensionNotchExperienceManager.shared
@StateObject private var quickShareService = QuickShareService.shared
@Default(.quickShareProvider) private var quickShareProvider
@State private var showQuickSharePopover = false
@Default(.enableTimerFeature) var enableTimerFeature
@Default(.enableStatsFeature) var enableStatsFeature
@Default(.enableColorPickerFeature) var enableColorPickerFeature
@ -106,9 +110,11 @@ struct TabSelectionView: View {
}
var body: some View {
HStack(spacing: 0) {
ForEach(tabs) { tab in
ForEach(Array(tabs.enumerated()), id: \.element.id) { idx, tab in
let isSelected = isSelected(tab)
let activeAccent = tab.accentColor ?? .white
// Render the tab button
TabButton(label: tab.label, icon: tab.icon, selected: isSelected) {
if tab.view == .extensionExperience {
coordinator.selectedExtensionExperienceID = tab.experienceID
@ -130,6 +136,8 @@ struct TabSelectionView: View {
.hidden()
}
}
}
}
.animation(.smooth(duration: 0.3), value: coordinator.currentView)