aboutsummaryrefslogtreecommitdiff
path: root/Hotline/macOS/Files/NewFolderPopover.swift
diff options
context:
space:
mode:
authorRuben Beltran del Rio <git@r.bdr.sh>2025-11-27 23:38:04 +0100
committerRuben Beltran del Rio <git@r.bdr.sh>2025-11-27 23:38:04 +0100
commit213710bf5bd6413c747bf126db50816ef5de5a6e (patch)
tree912f8cf87955a08077c92fea8ad934f50b7ab975 /Hotline/macOS/Files/NewFolderPopover.swift
parentf466b21dc02f78c984ba6748e703f6780a7a0db4 (diff)
parent6a95b53616a4abfa306ddce43151cf4fefbd20ed (diff)
Merge remote-tracking branch 'upstream/main'
Diffstat (limited to 'Hotline/macOS/Files/NewFolderPopover.swift')
-rw-r--r--Hotline/macOS/Files/NewFolderPopover.swift51
1 files changed, 51 insertions, 0 deletions
diff --git a/Hotline/macOS/Files/NewFolderPopover.swift b/Hotline/macOS/Files/NewFolderPopover.swift
new file mode 100644
index 0000000..4e282f5
--- /dev/null
+++ b/Hotline/macOS/Files/NewFolderPopover.swift
@@ -0,0 +1,51 @@
+import SwiftUI
+
+struct NewFolderPopover: View {
+ @Environment(\.dismiss) private var dismiss
+
+ let action: ((String) -> Void)?
+
+ @State private var folderName: String = "Untitled Folder"
+
+ var body: some View {
+ VStack(spacing: 16) {
+ TextField("Folder Name", text: self.$folderName)
+ .onSubmit(of: .text) {
+ self.createFolder()
+ }
+
+ HStack(spacing: 8) {
+ Spacer()
+
+ Button("Cancel", role: .cancel) {
+ self.dismiss()
+ }
+ .buttonStyle(.bordered)
+ .buttonBorderShape(.capsule)
+
+ if #available(macOS 26.0, *) {
+ Button("New Folder", role: .confirm) {
+ self.createFolder()
+ }
+ .buttonStyle(.borderedProminent)
+ .buttonBorderShape(.capsule)
+ }
+ else {
+ Button("OK") {
+ self.dismiss()
+ self.action?(self.folderName)
+ }
+ .buttonStyle(.borderedProminent)
+ .buttonBorderShape(.capsule)
+ }
+ }
+ }
+ .frame(width: 250)
+ .padding()
+ }
+
+ private func createFolder() {
+ self.dismiss()
+ self.action?(self.folderName)
+ }
+}