diff options
| author | Dustin Mierau <dustin@mierau.me> | 2025-11-12 18:55:25 -0800 |
|---|---|---|
| committer | Dustin Mierau <dustin@mierau.me> | 2025-11-12 18:55:25 -0800 |
| commit | 5eff79cc4891076d85223dcfd96c7cb8894c80f2 (patch) | |
| tree | 9a0197cf30d3300cb2fbc024da26ddbc82df43bd /Hotline/macOS/Files/NewFolderPopover.swift | |
| parent | 5a3d06c527cf03d68149449965fade0dd5ea0ed2 (diff) | |
Get Accounts out of the sidebar, redesign Account management.
Diffstat (limited to 'Hotline/macOS/Files/NewFolderPopover.swift')
| -rw-r--r-- | Hotline/macOS/Files/NewFolderPopover.swift | 51 |
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) + } +} |