diff --git a/Kiwix/SplashScreenKiwix.storyboard b/Kiwix/SplashScreenKiwix.storyboard index 1499af84..d36acdca 100644 --- a/Kiwix/SplashScreenKiwix.storyboard +++ b/Kiwix/SplashScreenKiwix.storyboard @@ -21,7 +21,7 @@ - + @@ -45,7 +45,7 @@ - + diff --git a/Views/BuildingBlocks/LoadingView.swift b/Views/BuildingBlocks/LoadingView.swift index 7b185f1d..c20a52b1 100644 --- a/Views/BuildingBlocks/LoadingView.swift +++ b/Views/BuildingBlocks/LoadingView.swift @@ -43,13 +43,15 @@ struct LogoCalc { /// 50 top bar /// 20 spacing above logo /// Logo itself - /// 20 between logo and buttons - /// 44 height for the row of buttons + /// 20 spacing between logo and buttons + /// 44 height for the one row of buttons /// 20 spacing below buttons + /// 22 for error message + /// 20 spacing below error message /// 32 for bottom navbar /// --------- - /// 186 > it's also used on the splash screen - static let minNonLogoSpace: CGFloat = barHeights + oneRowOfButtonsHeight + 3 * spacing + /// 228 > it's also used on the splash screen + static let minNonLogoSpace: CGFloat = barHeights + oneRowOfButtonsHeight + 4 * spacing + errorMsgHeight static let barHeights: CGFloat = 50 + 32 static let oneRowOfButtonsHeight: CGFloat = 44 static let twoRowsOfButtonsHeight: CGFloat = 96 @@ -104,11 +106,12 @@ struct LogoCalc { } var errorTextCenterY: CGFloat { - if isVerticalCompact { // put the error to the top of the screen - return logoCenterY - logoSize.height * 0.5 - Const.errorMsgHeight * 0.5 - Const.spacing + let buttonsHeight = if isVerticalCompact { + Const.oneRowOfButtonsHeight } else { - return buttonCenterY + Const.twoRowsOfButtonsHeight * 0.5 + Const.spacing + Const.errorMsgHeight * 0.5 + Const.twoRowsOfButtonsHeight } + return buttonCenterY + buttonsHeight * 0.5 + Const.spacing + Const.errorMsgHeight * 0.5 } var buttonCenterY: CGFloat { diff --git a/Views/Welcome.swift b/Views/Welcome.swift index 7845356b..c7702322 100644 --- a/Views/Welcome.swift +++ b/Views/Welcome.swift @@ -108,6 +108,9 @@ struct Welcome: View { .opacity(hasSeenCategories ? 1 : 0) .frame(maxWidth: logoCalc.buttonsWidth) .onChange(of: library.state) { state in + if state == .error { + hasSeenCategories = true + } guard state == .complete else { return } #if os(macOS) navigation.currentItem = .categories