mirror of
https://github.com/FBukovina/Atoll.git
synced 2026-10-27 15:14:33 +00:00
Working
This commit is contained in:
parent
5040381840
commit
13a2ff0e20
67 changed files with 395 additions and 93 deletions
111
DynamicIsland/components/Notch/DynamicIslandExtrasMenu.swift
Normal file
111
DynamicIsland/components/Notch/DynamicIslandExtrasMenu.swift
Normal file
|
|
@ -0,0 +1,111 @@
|
|||
//
|
||||
// DynamicIslandExtrasMenu.swift
|
||||
// DynamicIsland
|
||||
//
|
||||
// Created by Harsh Vardhan Goswami on 02/08/24.
|
||||
// DynamicIslandExtrasMenu.swift
|
||||
// DynamicIsland
|
||||
//
|
||||
// Created by Harsh Vardhan Goswami on 04/08/24.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct DynamicIslandLargeButtons: View {
|
||||
var action: () -> Void
|
||||
var icon: Image
|
||||
var title: String
|
||||
var body: some View {
|
||||
Button (
|
||||
action:action,
|
||||
label: {
|
||||
ZStack {
|
||||
RoundedRectangle(cornerRadius: 12.0).fill(.black).frame(width: 70, height: 70)
|
||||
VStack(spacing: 8) {
|
||||
icon.resizable()
|
||||
.aspectRatio(contentMode: .fit).frame(width:20)
|
||||
Text(title).font(.body)
|
||||
}
|
||||
}
|
||||
}).buttonStyle(PlainButtonStyle()).shadow(color: .black.opacity(0.5), radius: 10)
|
||||
}
|
||||
}
|
||||
|
||||
struct DynamicIslandExtrasMenu : View {
|
||||
@ObservedObject var vm: DynamicIslandViewModel
|
||||
|
||||
var body: some View {
|
||||
VStack{
|
||||
HStack(spacing: 20) {
|
||||
hide
|
||||
settings
|
||||
close
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var github: some View {
|
||||
DynamicIslandLargeButtons(
|
||||
action: {
|
||||
NSWorkspace.shared.open(productPage)
|
||||
},
|
||||
icon: Image(.github),
|
||||
title: "Checkout"
|
||||
)
|
||||
}
|
||||
|
||||
var donate: some View {
|
||||
DynamicIslandLargeButtons(
|
||||
action: {
|
||||
NSWorkspace.shared.open(sponsorPage)
|
||||
},
|
||||
icon: Image(systemName: "heart.fill"),
|
||||
title: "Love Us"
|
||||
)
|
||||
}
|
||||
|
||||
var settings: some View {
|
||||
SettingsLink(label: {
|
||||
ZStack {
|
||||
RoundedRectangle(cornerRadius: 12.0).fill(.black).frame(width: 70, height: 70)
|
||||
VStack(spacing: 8) {
|
||||
Image(systemName: "gear").resizable()
|
||||
.aspectRatio(contentMode: .fit).frame(width:20)
|
||||
Text("Settings").font(.body)
|
||||
}
|
||||
}
|
||||
})
|
||||
.buttonStyle(PlainButtonStyle()).shadow(color: .black.opacity(0.5), radius: 10)
|
||||
}
|
||||
|
||||
var hide: some View {
|
||||
DynamicIslandLargeButtons(
|
||||
action: {
|
||||
DispatchQueue.main.asyncAfter(deadline: .now() + 0.25) {
|
||||
//vm.openMusic()
|
||||
}
|
||||
},
|
||||
icon: Image(systemName: "arrow.down.forward.and.arrow.up.backward"),
|
||||
title: "Hide"
|
||||
)
|
||||
}
|
||||
|
||||
var close: some View {
|
||||
DynamicIslandLargeButtons(
|
||||
action: {
|
||||
DispatchQueue.main.asyncAfter(deadline: .now() + 0.25) {
|
||||
DispatchQueue.main.asyncAfter(deadline: .now() + 0.25) {
|
||||
NSApp.terminate(nil)
|
||||
}
|
||||
}
|
||||
},
|
||||
icon: Image(systemName: "xmark"),
|
||||
title: "Exit"
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#Preview {
|
||||
DynamicIslandExtrasMenu(vm: .init())
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue