Properly use the new hideBrandChrome in the AuthenticationStartLogo

This commit is contained in:
Stefan Ceriu
2025-09-24 12:16:47 +03:00
committed by Stefan Ceriu
parent 8236893290
commit 39a757d037
21 changed files with 48 additions and 35 deletions
@@ -12,7 +12,7 @@ struct AuthenticationStartLogo: View {
@Environment(\.colorScheme) private var colorScheme
/// Set to `true` when using on top of `Asset.Images.launchBackground`
let isOnGradient: Bool
let hideBrandChrome: Bool
/// Extra padding needed to avoid cropping the shadows.
private let extra: CGFloat = 64
@@ -22,11 +22,19 @@ struct AuthenticationStartLogo: View {
private var isLight: Bool { colorScheme == .light }
var body: some View {
if hideBrandChrome {
Image(asset: Asset.Images.appLogo)
} else {
brandLogo
}
}
private var brandLogo: some View {
Image(asset: Asset.Images.appLogo)
.background {
Circle()
.inset(by: 1)
.shadow(color: .black.opacity(!isLight && isOnGradient ? 0.3 : 0.4),
.shadow(color: .black.opacity(!isLight ? 0.3 : 0.4),
radius: 12.57143,
y: 6.28571)
@@ -40,19 +48,19 @@ struct AuthenticationStartLogo: View {
.padding(24)
.background {
Color.white
.opacity(isLight ? 0.23 : isOnGradient ? 0.05 : 0.13)
.opacity(isLight ? 0.23 : 0.05)
}
.clipShape(outerShape)
.overlay {
outerShape
.inset(by: 0.25)
.stroke(.white.opacity(isLight ? 1 : isOnGradient ? 0.9 : 0.25), lineWidth: 0.5)
.stroke(.white.opacity(isLight ? 1 : 0.9), lineWidth: 0.5)
.blendMode(isLight ? .normal : .overlay)
}
.padding(extra)
.background {
ZStack {
if !isLight, isOnGradient {
if !isLight {
outerShape
.inset(by: 1)
.padding(extra)
@@ -62,7 +62,7 @@ struct AuthenticationStartScreen: View {
if verticalSizeClass == .regular {
Spacer()
AuthenticationStartLogo(isOnGradient: !context.viewState.hideBrandChrome)
AuthenticationStartLogo(hideBrandChrome: context.viewState.hideBrandChrome)
}
Spacer()