refactor(apple): tidy the receive-folder preference row

The "Save received transfers to" section was a gray folder label that read
like a disabled field, stacked above two full-width buttons. Replace it with
the standard macOS "label · value · inline action" row: a folder icon + the
current folder name with a trailing "Choose folder" button, long names
truncated in the middle. "Use default" now shows only when a custom folder is
actually set (hidden when already on the default, where it'd be a no-op).
This commit is contained in:
2026-07-24 00:28:34 +02:00
parent 6180cb95ce
commit c9ef40f00f
2 changed files with 23 additions and 4 deletions

View File

@@ -168,6 +168,15 @@ final class SettingsModel: ObservableObject {
func onReceiveFolderPickFailed(_ reason: String) { messages.error(InvitationError.message(reason)) }
func resetReceiveFolder() { preferences.resetReceiveFolder() }
/// Whether the current receive folder is the platform default (so the reset
/// action can be hidden when it would be a no-op). Compared by location, not
/// display name, which can differ once resolved.
var isUsingDefaultReceiveFolder: Bool {
guard let folder = state.receiveFolder else { return true }
let fallback = fileSystemService.defaultReceiveFolder()
return folder.kind == fallback.kind && folder.value == fallback.value
}
/// Ask the OS for notification permission. This is the only time the app can
/// grant it; disabling or fine-tuning afterwards happens in the Settings app.
func requestNotifications() {