diff --git a/Flixy/Session/JellyfinSignInModel.swift b/Flixy/Session/JellyfinSignInModel.swift index 4a6d888..74a056f 100644 --- a/Flixy/Session/JellyfinSignInModel.swift +++ b/Flixy/Session/JellyfinSignInModel.swift @@ -89,11 +89,18 @@ final class JellyfinSignInModel { address = candidate.absoluteString offersQuickConnect = await authenticator.supportsQuickConnect() - if offersQuickConnect { - await beginQuickConnect() - } else { - step = .credentials - } + // **Name und Passwort zuerst.** + // + // Hier sprang der Weg bisher von selbst in den Code-Fluss, sobald + // der Server ihn anbietet. Das war gut gemeint — dabei läuft kein + // Passwort durch diese App —, geht aber am Alltag vorbei: der Code + // muss in einem zweiten Gerät bestätigt werden, und wer gerade im + // Zug sitzt, hat das nicht offen. Ein Passwortspeicher füllt + // dagegen beide Felder in einer Sekunde. + // + // Der Code bleibt erreichbar: `offersQuickConnect` steuert den + // Knopf darunter, und der steht schon da. + step = .credentials return } diff --git a/Packages/FlixyKit/Sources/FlixyDesign/PlatformShims.swift b/Packages/FlixyKit/Sources/FlixyDesign/PlatformShims.swift index 1c62d49..e674f42 100644 --- a/Packages/FlixyKit/Sources/FlixyDesign/PlatformShims.swift +++ b/Packages/FlixyKit/Sources/FlixyDesign/PlatformShims.swift @@ -51,20 +51,18 @@ extension View { /// Auf dem Mac ist ein Blatt ein Fenster: dort zählt keine Rastung, /// sondern eine vernünftige Mindestgröße. public func flixyMediumSheet() -> some View { - #if os(iOS) - presentationDetents([.medium]) - #else - frame(minWidth: 420, minHeight: 460) - #endif + // **Zur Laufzeit, nicht beim Übersetzen.** Der `#else`-Zweig für + // macOS griff nie: auf dem Mac läuft der iOS-Bau, und damit bekam ein + // grosses Fenster eine Blattkante in iPhone-Höhe — ein schmaler + // Streifen, der unten im Nichts klebt. + presentationDetents(FlixyPlatform.isMac ? [.large] : [.medium]) } /// Dasselbe, aber auf Wunsch bis zur vollen Höhe aufziehbar. public func flixyResizableSheet() -> some View { - #if os(iOS) - presentationDetents([.medium, .large]) - #else - frame(minWidth: 460, minHeight: 520) - #endif + // Siehe oben. Auf dem Mac gibt es kein „halb aufgezogen": ein Fenster + // hat die Höhe, die es hat, und eine Liste soll sie nutzen. + presentationDetents(FlixyPlatform.isMac ? [.large] : [.medium, .large]) } /// Ein Formular, das auf beiden Seiten gleich aussieht.