99 */
1010package cmp.navigation.components
1111
12+ import androidx.compose.foundation.Image
1213import androidx.compose.foundation.background
14+ import androidx.compose.foundation.layout.Arrangement
15+ import androidx.compose.foundation.layout.Box
16+ import androidx.compose.foundation.layout.Row
17+ import androidx.compose.foundation.layout.Spacer
1318import androidx.compose.foundation.layout.WindowInsets
19+ import androidx.compose.foundation.layout.fillMaxSize
1420import androidx.compose.foundation.layout.fillMaxWidth
21+ import androidx.compose.foundation.layout.height
22+ import androidx.compose.foundation.layout.padding
23+ import androidx.compose.foundation.layout.size
24+ import androidx.compose.foundation.layout.width
25+ import androidx.compose.foundation.shape.RoundedCornerShape
1526import androidx.compose.material3.BottomAppBar
1627import androidx.compose.material3.BottomAppBarDefaults
28+ import androidx.compose.material3.CardDefaults
29+ import androidx.compose.material3.ElevatedCard
30+ import androidx.compose.material3.MaterialTheme
31+ import androidx.compose.material.*
32+ import androidx.compose.material3.Surface
33+ import androidx.compose.material3.Text
1734import androidx.compose.runtime.Composable
35+ import androidx.compose.ui.Alignment
1836import androidx.compose.ui.Modifier
37+ import androidx.compose.ui.draw.clip
38+ import androidx.compose.ui.draw.drawBehind
39+ import androidx.compose.ui.draw.dropShadow
40+ import androidx.compose.ui.draw.rotate
41+ import androidx.compose.ui.draw.shadow
42+ import androidx.compose.ui.geometry.CornerRadius
43+ import androidx.compose.ui.geometry.Offset
44+ import androidx.compose.ui.geometry.Rect
45+ import androidx.compose.ui.geometry.Size
46+ import androidx.compose.ui.graphics.BlendMode
47+ import androidx.compose.ui.graphics.Brush
48+ import androidx.compose.ui.graphics.Color
49+ import androidx.compose.ui.graphics.ColorFilter
50+ import androidx.compose.ui.graphics.Paint
51+ import androidx.compose.ui.graphics.drawscope.Fill
52+ import androidx.compose.ui.graphics.drawscope.drawIntoCanvas
53+ import androidx.compose.ui.graphics.graphicsLayer
54+ import androidx.compose.ui.graphics.shadow.Shadow
55+ import androidx.compose.ui.graphics.toArgb
1956import androidx.compose.ui.platform.testTag
57+ import androidx.compose.ui.unit.Dp
58+ import androidx.compose.ui.unit.DpOffset
2059import androidx.compose.ui.unit.dp
2160import cmp.navigation.authenticated.NavigationItem
61+ import com.mifos.core.designsystem.component.MifosCard
2262import com.mifos.core.designsystem.component.MifosNavigationBarItem
2363import com.mifos.core.designsystem.theme.AppColors
64+ import com.mifos.core.designsystem.theme.DesignToken
65+ import com.mifos.core.designsystem.theme.MifosTypography
66+ import core.designsystem.generated.resources.Res
67+ import core.designsystem.generated.resources.core_designsystem_app_title
68+ import org.jetbrains.compose.resources.painterResource
69+ import org.jetbrains.compose.resources.stringResource
70+ import org.jetbrains.compose.ui.tooling.preview.Preview
71+ import org.mifos.navigation.generated.resources.powered_by
72+ import org.mifos.navigation.generated.resources.topbarlogo
2473
2574@Composable
2675fun MifosBottomBar (
@@ -50,3 +99,63 @@ fun MifosBottomBar(
5099 }
51100 }
52101}
102+
103+ @Composable
104+ fun MifosBottomBar (
105+ modifier : Modifier = Modifier ,
106+ windowInsets : WindowInsets = BottomAppBarDefaults .windowInsets,
107+ ) {
108+ Box (
109+ modifier = Modifier .dropShadow(
110+ shape = DesignToken .shapes.bottomSheet,
111+ shadow = Shadow (
112+ radius = 10 .dp,
113+ spread = 5 .dp,
114+ color = Color .Gray .copy(alpha = 0.40f ),
115+ offset = DpOffset (x = 4 .dp, 4 .dp),
116+ ),
117+ )
118+ ) {
119+ BottomAppBar (
120+ windowInsets = windowInsets,
121+ modifier = modifier.fillMaxWidth().height(DesignToken .sizes.bottomAppBarHeight)
122+ .clip(
123+ DesignToken .shapes.bottomSheet,
124+ ),
125+ containerColor = MaterialTheme .colorScheme.surfaceContainerLowest,
126+ ) {
127+ Box (
128+ modifier.fillMaxSize().padding(DesignToken .padding.small),
129+ ) {
130+ Row (
131+ modifier = modifier.fillMaxWidth(),
132+ horizontalArrangement = Arrangement .Center ,
133+ verticalAlignment = Alignment .CenterVertically ,
134+ ) {
135+ Text (
136+ text = stringResource(org.mifos.navigation.generated.resources.Res .string.powered_by) + " " ,
137+ style = MifosTypography .tag,
138+ color = MaterialTheme .colorScheme.primary,
139+ )
140+
141+ Image (
142+ painter = painterResource(org.mifos.navigation.generated.resources.Res .drawable.topbarlogo),
143+ contentDescription = null ,
144+ colorFilter = ColorFilter .tint(
145+ MaterialTheme .colorScheme.primary,
146+ blendMode = BlendMode .SrcIn ,
147+ ),
148+ modifier = Modifier .size(DesignToken .sizes.iconMiny),
149+ )
150+
151+ Text (
152+ text = " " + stringResource(Res .string.core_designsystem_app_title),
153+ style = MifosTypography .tag,
154+ color = MaterialTheme .colorScheme.primary,
155+ )
156+ }
157+ }
158+ }
159+
160+ }
161+ }
0 commit comments