From 270b0802c9641ffa99ed3148a47c109072e42053 Mon Sep 17 00:00:00 2001 From: David Ullmer Date: Tue, 12 Jul 2022 10:35:34 +0200 Subject: [PATCH 1/3] Add login background to tvOS --- Shared/ViewModels/UserSignInViewModel.swift | 7 ++- Swiftfin tvOS/Views/UserSignInView.swift | 59 +++++++++++---------- 2 files changed, 38 insertions(+), 28 deletions(-) diff --git a/Shared/ViewModels/UserSignInViewModel.swift b/Shared/ViewModels/UserSignInViewModel.swift index 412ff59c..0b023128 100644 --- a/Shared/ViewModels/UserSignInViewModel.swift +++ b/Shared/ViewModels/UserSignInViewModel.swift @@ -25,6 +25,7 @@ final class UserSignInViewModel: ViewModel { init(server: SwiftfinStore.State.Server) { self.server = server + JellyfinAPIAPI.basePath = server.currentURI } var alertTitle: String { @@ -58,7 +59,6 @@ final class UserSignInViewModel: ViewModel { func loadUsers() { self.isLoadingUsers = true - JellyfinAPIAPI.basePath = server.currentURI UserAPI.getPublicUsers() .sink(receiveCompletion: { completion in self.handleAPIRequestError(displayMessage: L10n.unableToConnectServer, completion: completion) @@ -76,4 +76,9 @@ final class UserSignInViewModel: ViewModel { quality: 90).URLString return URL(string: urlString) } + + func getSplashscreenUrl() -> URL? { + let urlString = ImageAPI.getSplashscreenWithRequestBuilder().URLString + return URL(string: urlString) + } } diff --git a/Swiftfin tvOS/Views/UserSignInView.swift b/Swiftfin tvOS/Views/UserSignInView.swift index b779f7bb..c4a40743 100644 --- a/Swiftfin tvOS/Views/UserSignInView.swift +++ b/Swiftfin tvOS/Views/UserSignInView.swift @@ -19,39 +19,44 @@ struct UserSignInView: View { private var password: String = "" var body: some View { - Form { + ZStack { + ImageView(viewModel.getSplashscreenUrl()) + .ignoresSafeArea() + Color.black.opacity(0.9) + .ignoresSafeArea() + Form { + Section { + TextField(L10n.username, text: $username) + .disableAutocorrection(true) + .autocapitalization(.none) - Section { - TextField(L10n.username, text: $username) - .disableAutocorrection(true) - .autocapitalization(.none) + SecureField(L10n.password, text: $password) + .disableAutocorrection(true) + .autocapitalization(.none) - SecureField(L10n.password, text: $password) - .disableAutocorrection(true) - .autocapitalization(.none) - - Button { - viewModel.login(username: username, password: password) - } label: { - HStack { - L10n.connect.text - Spacer() - if viewModel.isLoading { - ProgressView() + Button { + viewModel.login(username: username, password: password) + } label: { + HStack { + L10n.connect.text + Spacer() + if viewModel.isLoading { + ProgressView() + } } } - } - .disabled(viewModel.isLoading || username.isEmpty) + .disabled(viewModel.isLoading || username.isEmpty) - } header: { - L10n.signInToServer(viewModel.server.name).text + } header: { + L10n.signInToServer(viewModel.server.name).text + } } + .alert(item: $viewModel.errorMessage) { _ in + Alert(title: Text(viewModel.alertTitle), + message: Text(viewModel.errorMessage?.message ?? L10n.unknownError), + dismissButton: .cancel()) + } + .navigationTitle(L10n.signIn) } - .alert(item: $viewModel.errorMessage) { _ in - Alert(title: Text(viewModel.alertTitle), - message: Text(viewModel.errorMessage?.message ?? L10n.unknownError), - dismissButton: .cancel()) - } - .navigationTitle(L10n.signIn) } } From ab5265acaa938f616cee7fd31464fbbad517c6f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=83=9F=E3=83=AB=E3=83=92=E3=81=A1=E3=82=83=E3=82=93?= Date: Mon, 11 Jul 2022 11:01:35 +0000 Subject: [PATCH 2/3] Translated using Weblate (Japanese) Currently translated at 27.6% (54 of 195 strings) Translation: Swiftfin/Swiftfin Translate-URL: https://translate.jellyfin.org/projects/swiftfin/swiftfin/ja/ --- Translations/ja.lproj/Localizable.strings | Bin 4 -> 3494 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Translations/ja.lproj/Localizable.strings b/Translations/ja.lproj/Localizable.strings index ed60b89c47319bc2c37b5775c777dddd6a16d56b..5dbdb7185caf50e0d1d13fb6479257986873af8e 100644 GIT binary patch literal 3494 zcmb7GTWFhQ82%6xEa;`)2#aAA5k}v6IT5WEnO$v74|E~omgY>-KOu*rj3 zrW8@oDMKj~WUli-FJ!u12ov0dc_R*lO@qF^P2z7aU7qz} z9`RRAaoc~5`Uh+GPsF=MTeKc{kTDCu)`E!He$_HqbvXMib2Q=6c}QQy+xNcD449|D z=r|-QmV0KzgQgmOt(!c)MUaC6c+BIw{5ETUXRPuZfu;e=zv9*RhqEg*v?r@+le8?{ zn@vHh#dorMvsW`s%OTg_z1egn)b0hkNZ-+~dy3Vsz>JMJ3I0<%@>|0589XV$KjAuQ zYd0*ZzC05Dd|B$WiK=RV(U+iQ&Q@3f+2bBi{4hOQDpDra3TkT}xvw~gf0texJ1{Cb zr%@GUXqbl1I=s$z)$Dp}gjSZb$o&b5(-C?Oy8JF}K#uFwgDlsRdLdo%(4=5JSgD(r zfvX^T&X8ZF8Iv|~e6GU-jwWv=k;O_#+a{ew{~iKo_uqXUf6MUXIDL?~v@}I;Vv4Y5 z33?ldCj;N=@T+MCQT0h1k@|KjmTiqJiC=X*4^Nm)r!Q-U+4Fgk*`S&v$~HY1|0^pR zYsgU!FU|{3url~@Gjug|IIq|`&}oZuF&Al*Ht5qJhpb6(YQG!BUCt9I4W>Or&w2G( zoq&caKJz?P4gH4s%+oYjJP($)?3-CVf!~ff_H`ajVb+W|I%FPsBu{jP%M4?0vbJJp zZJqh7s2{51((!{wl^yPs463qjUW6R8Fck30RVVzarZu{W?!8QhV{KYE{r-%rOZJhX z{Vmi+eXoRKWm}v#MP9(f{Sy4R`UK@>Zf9K8cGi&X0T=yPA-ecPB&^fNs%6FqLN}g1 z@7!kG&*5(T1-{EPi`vTcPz&L?u>sz;=#L=2ENZ0$emnQ}HTnps&0zmTEuw03t3I8h zTOmXR+L+OFht+fR6MX~ZmB23dLe0*IB>Hy@ezJ_a1@lXXnh(4yjQIEzbo0HzQKju2 zAe9$p`|lXn_OXr~8ih>3%5tUg=GI7V&ZXwX7F*%X%3aierQS31%yRvWHmxqkNbAa% z=I&%GlhC#EmX}^A(#NUQAoJbQ!_dUnRTG`X9;wfrPj=Jv3c84+Np9;>Ek|aqjraCI zabZjeaq(72+m5YRwmK)^bYkjtTZAiQ27gnyv?lD%V7uzsso1{8 zzSExswz_59>&LAWmUJ&okqqmW806_FVpu@Lih8`*Cf21$o*BGVxXN5#f5g<{yHGo! zg2(zriFuXxE7m$MzfJta)_-gia1gALESu3Llhu@feRjFduE>c)Ks zIrt2-QTo@_oZHB Date: Tue, 12 Jul 2022 18:00:27 +0200 Subject: [PATCH 3/3] Formatting changes --- Swiftfin tvOS/Views/UserSignInView.swift | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Swiftfin tvOS/Views/UserSignInView.swift b/Swiftfin tvOS/Views/UserSignInView.swift index c4a40743..03f7aa0d 100644 --- a/Swiftfin tvOS/Views/UserSignInView.swift +++ b/Swiftfin tvOS/Views/UserSignInView.swift @@ -22,8 +22,11 @@ struct UserSignInView: View { ZStack { ImageView(viewModel.getSplashscreenUrl()) .ignoresSafeArea() - Color.black.opacity(0.9) + + Color.black + .opacity(0.9) .ignoresSafeArea() + Form { Section { TextField(L10n.username, text: $username)