mirror of
https://github.com/FBukovina/Atoll.git
synced 2026-10-27 15:14:33 +00:00
Applied latest changes from boring.notch
This commit is contained in:
parent
bad481588b
commit
628d76b41c
18 changed files with 940 additions and 339 deletions
|
|
@ -2,10 +2,6 @@
|
|||
// DynamicIslandExtrasMenu.swift
|
||||
// DynamicIsland
|
||||
//
|
||||
// Created by Harsh Vardhan Goswami on 02/08/24.
|
||||
// DynamicIslandExtrasMenu.swift
|
||||
// DynamicIsland
|
||||
//
|
||||
// Created by Harsh Vardhan Goswami on 04/08/24.
|
||||
//
|
||||
|
||||
|
|
@ -65,7 +61,9 @@ struct DynamicIslandExtrasMenu : View {
|
|||
}
|
||||
|
||||
var settings: some View {
|
||||
SettingsLink(label: {
|
||||
Button(action: {
|
||||
SettingsWindowController.shared.showWindow()
|
||||
}) {
|
||||
ZStack {
|
||||
RoundedRectangle(cornerRadius: 12.0).fill(.black).frame(width: 70, height: 70)
|
||||
VStack(spacing: 8) {
|
||||
|
|
@ -74,7 +72,7 @@ struct DynamicIslandExtrasMenu : View {
|
|||
Text("Settings").font(.body)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
.buttonStyle(PlainButtonStyle()).shadow(color: .black.opacity(0.5), radius: 10)
|
||||
}
|
||||
|
||||
|
|
@ -107,5 +105,5 @@ struct DynamicIslandExtrasMenu : View {
|
|||
|
||||
|
||||
#Preview {
|
||||
DynamicIslandExtrasMenu(vm: .init())
|
||||
DynamicIslandExtrasMenu(vm: DynamicIslandViewModel())
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import SwiftUI
|
|||
|
||||
struct DynamicIslandHeader: View {
|
||||
@EnvironmentObject var vm: DynamicIslandViewModel
|
||||
@EnvironmentObject var webcamManager: WebcamManager
|
||||
@ObservedObject var batteryModel = BatteryStatusViewModel.shared
|
||||
@ObservedObject var coordinator = DynamicIslandViewCoordinator.shared
|
||||
@StateObject var tvm = TrayDrop.shared
|
||||
|
|
@ -40,8 +41,30 @@ struct DynamicIslandHeader: View {
|
|||
|
||||
HStack(spacing: 4) {
|
||||
if vm.notchState == .open {
|
||||
if Defaults[.showMirror] {
|
||||
Button(action: {
|
||||
if webcamManager.isSessionRunning {
|
||||
webcamManager.stopSession()
|
||||
} else {
|
||||
webcamManager.startSession()
|
||||
}
|
||||
}) {
|
||||
Capsule()
|
||||
.fill(.black)
|
||||
.frame(width: 30, height: 30)
|
||||
.overlay {
|
||||
Image(systemName: "web.camera")
|
||||
.foregroundColor(.white)
|
||||
.padding()
|
||||
.imageScale(.medium)
|
||||
}
|
||||
}
|
||||
.buttonStyle(PlainButtonStyle())
|
||||
}
|
||||
if Defaults[.settingsIconInNotch] {
|
||||
SettingsLink(label: {
|
||||
Button(action: {
|
||||
SettingsWindowController.shared.showWindow()
|
||||
}) {
|
||||
Capsule()
|
||||
.fill(.black)
|
||||
.frame(width: 30, height: 30)
|
||||
|
|
@ -51,7 +74,7 @@ struct DynamicIslandHeader: View {
|
|||
.padding()
|
||||
.imageScale(.medium)
|
||||
}
|
||||
})
|
||||
}
|
||||
.buttonStyle(PlainButtonStyle())
|
||||
}
|
||||
if Defaults[.showBatteryIndicator] {
|
||||
|
|
@ -81,5 +104,7 @@ struct DynamicIslandHeader: View {
|
|||
}
|
||||
|
||||
#Preview {
|
||||
DynamicIslandHeader().environmentObject(DynamicIslandViewModel())
|
||||
DynamicIslandHeader()
|
||||
.environmentObject(DynamicIslandViewModel())
|
||||
.environmentObject(WebcamManager.shared)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
// DynamicIsland
|
||||
//
|
||||
// Created by Hugo Persson on 2024-08-18.
|
||||
// Modified by Harsh Vardhan Goswami & Richard Kunkli
|
||||
// Modified by Harsh Vardhan Goswami & Richard Kunkli & Mustafa Ramadan
|
||||
//
|
||||
|
||||
import Combine
|
||||
|
|
@ -179,11 +179,11 @@ struct MusicControlsView: View {
|
|||
|
||||
struct NotchHomeView: View {
|
||||
@EnvironmentObject var vm: DynamicIslandViewModel
|
||||
@EnvironmentObject var webcamManager: WebcamManager
|
||||
@ObservedObject var webcamManager = WebcamManager.shared
|
||||
@ObservedObject var batteryModel = BatteryStatusViewModel.shared
|
||||
@ObservedObject var coordinator = DynamicIslandViewCoordinator.shared
|
||||
let albumArtNamespace: Namespace.ID
|
||||
|
||||
|
||||
var body: some View {
|
||||
Group {
|
||||
if !coordinator.firstLaunch {
|
||||
|
|
@ -196,16 +196,18 @@ struct NotchHomeView: View {
|
|||
private var mainContent: some View {
|
||||
HStack(alignment: .top, spacing: 20) {
|
||||
MusicPlayerView(albumArtNamespace: albumArtNamespace)
|
||||
|
||||
|
||||
if Defaults[.showCalendar] {
|
||||
CalendarView()
|
||||
.onHover { isHovering in
|
||||
vm.isHoveringCalendar = isHovering
|
||||
}
|
||||
.environmentObject(vm)
|
||||
.onHover { isHovering in
|
||||
vm.isHoveringCalendar = isHovering
|
||||
}
|
||||
.environmentObject(vm)
|
||||
}
|
||||
|
||||
if Defaults[.showMirror] && webcamManager.cameraAvailable {
|
||||
|
||||
if Defaults[.showMirror],
|
||||
webcamManager.cameraAvailable,
|
||||
vm.notchState == .open {
|
||||
CameraPreviewView(webcamManager: webcamManager)
|
||||
.scaledToFit()
|
||||
.opacity(vm.notchState == .closed ? 0 : 1)
|
||||
|
|
@ -249,7 +251,7 @@ struct MusicSliderView: View {
|
|||
range: 0 ... duration,
|
||||
color: Defaults[.sliderColor] == SliderColorEnum.albumArt ? Color(
|
||||
nsColor: color
|
||||
).ensureMinimumBrightness(factor: 0.8) : Defaults[.sliderColor] == SliderColorEnum.accent ? Defaults[.accentColor] : .white,
|
||||
).ensureMinimumBrightness(factor: 0.8) : Defaults[.sliderColor] == SliderColorEnum.accent ? .accentColor : .white,
|
||||
dragging: $dragging,
|
||||
lastDragged: $lastDragged,
|
||||
onValueChange: onValueChange
|
||||
|
|
@ -336,7 +338,8 @@ struct CustomSlider: View {
|
|||
}
|
||||
|
||||
#Preview {
|
||||
NotchHomeView(albumArtNamespace: Namespace().wrappedValue)
|
||||
.environmentObject(DynamicIslandViewModel())
|
||||
.environmentObject(WebcamManager())
|
||||
NotchHomeView(
|
||||
albumArtNamespace: Namespace().wrappedValue
|
||||
)
|
||||
.environmentObject(DynamicIslandViewModel())
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
//
|
||||
// Created by Kai Azim on 2023-08-24.
|
||||
// Original source: https://github.com/MrKai77/DynamicNotchKit
|
||||
// Modified by Alexander Greco on 2025-05-18.
|
||||
// Modified by Alexander on 2025-05-18.
|
||||
|
||||
import SwiftUI
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue