commit 163a0fb0e12dba17c58e7636e2a48cf46c7f27d3
parent 4ad0c6d7f6bec95f8a13fbb93843b01daf285f40
Author: Michael Camilleri <[email protected]>
Date: Thu, 26 Mar 2026 14:52:44 +0900
Improve scope of focus guard
Diffstat:
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/ListlessiOS/Views/ItemListView.swift b/ListlessiOS/Views/ItemListView.swift
@@ -22,6 +22,10 @@ struct ItemListView: View, ItemListViewProtocol {
var draftPlacement: DraftItemPlacement?
var draftTitle: String = ""
var fetchWorkaround: Int = 0
+
+ var isShowingOverlay: Bool {
+ isShowingSettings || isShowingSyncDiagnostics || isShowingRenameAlert
+ }
}
struct PullStateData {
@@ -401,9 +405,8 @@ struct ItemListView: View, ItemListViewProtocol {
.accessibilityIdentifier("item-list-scrollview")
.background {
let isEditing = if case .item = focusedFieldBinding { true } else { false }
- let isShowingSheet = iState.isShowingSettings || iState.isShowingSyncDiagnostics
KeyCommandBridge(
- isActive: !isEditing && !isShowingSheet,
+ isActive: !isEditing && !iState.isShowingOverlay,
onUp: { _ = navigateUp() },
onDown: { _ = navigateDown() },
onSpace: { _ = toggleSelectedItem() },
@@ -502,8 +505,7 @@ struct ItemListView: View, ItemListViewProtocol {
handleFocusChange(from: oldValue, to: newValue)
if newValue == nil,
- !iState.isShowingSettings,
- !iState.isShowingSyncDiagnostics
+ !iState.isShowingOverlay
{
if let pending = fState.pendingFocus {
focusedFieldBinding = pending