From d5b5b3262d2e642d00f197d2ede50c365e62fb29 Mon Sep 17 00:00:00 2001 From: Arkadiusz Fal Date: Thu, 15 Oct 2026 23:57:50 +0200 Subject: [PATCH] Give the empty tvOS legacy import screen a focusable Done button The toolbar Done is iOS/macOS only, so after the last legacy account or source was imported or removed the tvOS screen had nothing focusable and the remote was stuck. --- .../Views/Settings/LegacyDataImportView.swift | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/Yattee/Views/Settings/LegacyDataImportView.swift b/Yattee/Views/Settings/LegacyDataImportView.swift index e813c4f5..094d17b0 100644 --- a/Yattee/Views/Settings/LegacyDataImportView.swift +++ b/Yattee/Views/Settings/LegacyDataImportView.swift @@ -134,11 +134,20 @@ struct LegacyAccountsImportView: View { } private var emptyState: some View { - ContentUnavailableView( - String(localized: "migration.accounts.empty.title"), - systemImage: "person.badge.key", - description: Text(String(localized: "migration.accounts.empty.description")) - ) + ContentUnavailableView { + Label(String(localized: "migration.accounts.empty.title"), systemImage: "person.badge.key") + } description: { + Text(String(localized: "migration.accounts.empty.description")) + } actions: { + #if os(tvOS) + // The toolbar Done is iOS/macOS only. Once the last item is + // imported or removed nothing else is focusable, and the remote + // would be stuck — in the full screen cover and when pushed alike. + Button(String(localized: "common.done")) { + dismiss() + } + #endif + } .frame(maxWidth: .infinity, maxHeight: .infinity) }