From 6ee2b71cabfd8453606ed96cbcedcb43de37afa7 Mon Sep 17 00:00:00 2001 From: Sam Date: Sat, 15 Feb 2025 14:05:51 -0800 Subject: [PATCH] Make UnmaskSecureField respond to dynamic type (#1424) * Make UnmaskSecureField respond to dynamic type * use environment font --------- Co-authored-by: Ethan Pippin --- Shared/Extensions/Font.swift | 4 ++-- Swiftfin/Components/UnmaskSecureField.swift | 2 ++ .../EpisodeSelector/Components/EpisodeContent.swift | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Shared/Extensions/Font.swift b/Shared/Extensions/Font.swift index a27d6911..33b9e6f0 100644 --- a/Shared/Extensions/Font.swift +++ b/Shared/Extensions/Font.swift @@ -10,7 +10,7 @@ import SwiftUI extension Font { - var uiFont: UIFont { + var uiFont: UIFont? { switch self { #if os(iOS) case .largeTitle: @@ -37,7 +37,7 @@ extension Font { case .body: return UIFont.preferredFont(forTextStyle: .body) default: - return UIFont.preferredFont(forTextStyle: .body) + return nil } } } diff --git a/Swiftfin/Components/UnmaskSecureField.swift b/Swiftfin/Components/UnmaskSecureField.swift index d46860ce..b793dfdf 100644 --- a/Swiftfin/Components/UnmaskSecureField.swift +++ b/Swiftfin/Components/UnmaskSecureField.swift @@ -32,6 +32,8 @@ struct UnmaskSecureField: UIViewRepresentable { func makeUIView(context: Context) -> UITextField { let textField = UITextField() + textField.font = context.environment.font?.uiFont ?? UIFont.preferredFont(forTextStyle: .body) + textField.adjustsFontForContentSizeCategory = true textField.isSecureTextEntry = true textField.keyboardType = .asciiCapable textField.placeholder = title diff --git a/Swiftfin/Views/ItemView/Components/EpisodeSelector/Components/EpisodeContent.swift b/Swiftfin/Views/ItemView/Components/EpisodeSelector/Components/EpisodeContent.swift index e9eba103..ce6de9e4 100644 --- a/Swiftfin/Views/ItemView/Components/EpisodeSelector/Components/EpisodeContent.swift +++ b/Swiftfin/Views/ItemView/Components/EpisodeSelector/Components/EpisodeContent.swift @@ -66,7 +66,7 @@ extension SeriesEpisodeSelector { v.frame( height: "A\nA\nA".height( withConstrainedWidth: 10, - font: Font.caption.uiFont + font: Font.caption.uiFont ?? UIFont.preferredFont(forTextStyle: .body) ) ) }