feat: redesign Dynamic Island with phase-driven UI and animations
This commit is contained in:
@@ -166,6 +166,10 @@ struct PlayerView: View {
|
||||
.onReceive(NotificationCenter.default.publisher(for: .skipTrackFromActivity)) { _ in
|
||||
musicVM.skipTrack()
|
||||
}
|
||||
.onReceive(NotificationCenter.default.publisher(for: .togglePauseFromActivity)) { _ in
|
||||
print("[PlayerView] Received togglePauseFromActivity notification (fallback)")
|
||||
vm.togglePlayPause()
|
||||
}
|
||||
.navigationDestination(isPresented: $vm.isComplete) {
|
||||
CompletionView(session: vm.completedSession, program: program, onDone: { dismiss() })
|
||||
.navigationBarBackButtonHidden()
|
||||
|
||||
@@ -317,5 +317,5 @@ struct ProgramRow: View {
|
||||
#Preview {
|
||||
HomeTab(previewVM: HomeViewModel(previewPrograms: [PreviewData.sampleProgram]))
|
||||
.modelContainer(TabataGoSchema.previewContainer)
|
||||
.environment(AppState())
|
||||
.environment(AppState.shared)
|
||||
}
|
||||
|
||||
@@ -48,5 +48,5 @@ struct MainTabView: View {
|
||||
#Preview {
|
||||
MainTabView()
|
||||
.modelContainer(TabataGoSchema.previewContainer)
|
||||
.environment(AppState())
|
||||
.environment(AppState.shared)
|
||||
}
|
||||
|
||||
@@ -139,5 +139,5 @@ struct ProfileRow: View {
|
||||
#Preview {
|
||||
ProfileTab()
|
||||
.modelContainer(TabataGoSchema.previewContainer)
|
||||
.environment(AppState())
|
||||
.environment(AppState.shared)
|
||||
}
|
||||
|
||||
@@ -103,5 +103,5 @@ struct ProgramsTab: View {
|
||||
#Preview {
|
||||
ProgramsTab()
|
||||
.modelContainer(TabataGoSchema.previewContainer)
|
||||
.environment(AppState())
|
||||
.environment(AppState.shared)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user