Skip to content

Commit 0384644

Browse files
committed
dynamic header.
1 parent e83f61b commit 0384644

File tree

2 files changed

+20
-4
lines changed

2 files changed

+20
-4
lines changed

mobile/src/main/java/com/windscribe/mobile/ui/helper/ImageHelper.kt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package com.windscribe.mobile.ui.helper
22

3+
import androidx.compose.foundation.layout.WindowInsets
4+
import androidx.compose.foundation.layout.asPaddingValues
5+
import androidx.compose.foundation.layout.statusBars
36
import androidx.compose.runtime.Composable
47
import androidx.compose.ui.platform.LocalConfiguration
58
import androidx.compose.ui.unit.Dp
@@ -8,6 +11,11 @@ import androidx.compose.ui.unit.min
811

912
data class ImageDimensions(val width: Dp, val height: Dp)
1013

14+
@Composable
15+
fun getStatusBarHeight(): Dp {
16+
val insets = WindowInsets.statusBars.asPaddingValues()
17+
return insets.calculateTopPadding()
18+
}
1119
@Composable
1220
fun calculateImageDimensions(): ImageDimensions {
1321
val config = LocalConfiguration.current
@@ -17,7 +25,7 @@ fun calculateImageDimensions(): ImageDimensions {
1725
val screenWidth = screenWidthDp.dp
1826
val screenHeight = screenHeightDp.dp
1927

20-
val minHeight = 273.dp
28+
val minHeight = 242.dp + getStatusBarHeight()
2129
val maxHeight = screenHeight * 0.45f
2230

2331
// Determine dynamic height

mobile/src/main/java/com/windscribe/mobile/ui/home/HomeScreen.kt

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.windscribe.mobile.ui.home
33
import NetworkNameSheet
44
import ServerListScreen
55
import android.annotation.SuppressLint
6+
import android.util.Log
67
import android.widget.Toast
78
import androidx.compose.animation.AnimatedVisibility
89
import androidx.compose.animation.core.LinearEasing
@@ -21,13 +22,16 @@ import androidx.compose.foundation.layout.BoxScope
2122
import androidx.compose.foundation.layout.Column
2223
import androidx.compose.foundation.layout.Row
2324
import androidx.compose.foundation.layout.Spacer
25+
import androidx.compose.foundation.layout.WindowInsets
26+
import androidx.compose.foundation.layout.asPaddingValues
2427
import androidx.compose.foundation.layout.fillMaxSize
2528
import androidx.compose.foundation.layout.fillMaxWidth
2629
import androidx.compose.foundation.layout.height
2730
import androidx.compose.foundation.layout.navigationBarsPadding
2831
import androidx.compose.foundation.layout.offset
2932
import androidx.compose.foundation.layout.padding
3033
import androidx.compose.foundation.layout.size
34+
import androidx.compose.foundation.layout.statusBars
3135
import androidx.compose.foundation.layout.width
3236
import androidx.compose.foundation.shape.CircleShape
3337
import androidx.compose.foundation.shape.RoundedCornerShape
@@ -60,6 +64,7 @@ import androidx.compose.ui.res.stringResource
6064
import androidx.compose.ui.text.font.FontWeight
6165
import androidx.compose.ui.text.style.TextAlign
6266
import androidx.compose.ui.text.style.TextOverflow
67+
import androidx.compose.ui.unit.Dp
6368
import androidx.compose.ui.unit.IntOffset
6469
import androidx.compose.ui.unit.dp
6570
import androidx.compose.ui.zIndex
@@ -74,6 +79,7 @@ import com.windscribe.mobile.ui.connection.LocationInfoState
7479
import com.windscribe.mobile.ui.connection.ToastMessage
7580
import com.windscribe.mobile.ui.helper.MultiDevicePreview
7681
import com.windscribe.mobile.ui.helper.PreviewWithNav
82+
import com.windscribe.mobile.ui.helper.getStatusBarHeight
7783
import com.windscribe.mobile.ui.helper.hapticClickable
7884
import com.windscribe.mobile.ui.model.AccountStatusDialogData
7985
import com.windscribe.mobile.ui.nav.LocalNavController
@@ -587,20 +593,22 @@ private fun ConnectedBackground(connectionViewmodel: ConnectionViewmodel?) {
587593

588594
}
589595

596+
590597
@Composable
591598
private fun Header(connectionViewmodel: ConnectionViewmodel, homeViewmodel: HomeViewmodel) {
592599
val navController = LocalNavController.current
600+
val height = getStatusBarHeight() + 69.dp
593601
Box(modifier = Modifier.fillMaxWidth()) {
594602
Row(
595603
modifier = Modifier
596-
.height(100.dp)
604+
.height(height)
597605
.fillMaxWidth()
598606
.clipToBounds()
599607
) {
600608

601609
Box(
602610
modifier = Modifier
603-
.height(100.dp)
611+
.height(height)
604612
.weight(1.0f)
605613
.zIndex(0f)
606614
.background(AppColors.midnightNavy.copy(alpha = 0.03f))
@@ -618,7 +626,7 @@ private fun Header(connectionViewmodel: ConnectionViewmodel, homeViewmodel: Home
618626
// Second Image (Right, fixed width and overlapping)
619627
Box(
620628
modifier = Modifier
621-
.height(100.dp)
629+
.height(height)
622630
.width(163.dp)
623631
.zIndex(1f)
624632
.clip(RectangleShape)

0 commit comments

Comments
 (0)