Skip to content

Commit 2947b42

Browse files
committed
show two cameras in UI
1 parent 807f1f4 commit 2947b42

2 files changed

Lines changed: 23 additions & 10 deletions

File tree

composeApp/src/commonMain/kotlin/me/arianb/storm_robot/dashboard/DashboardScreen.kt

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import me.arianb.storm_robot.theme.PaddingExtraSmall
2222
import me.arianb.storm_robot.theme.PaddingSmall
2323
import me.arianb.storm_robot.theme.Typography
2424

25-
2625
@Composable
2726
fun DashboardScreen(contentPadding: PaddingValues) {
2827
val dashboardCommonPadding = Modifier.padding(all = PaddingSmall)
@@ -48,11 +47,16 @@ fun DashboardScreen(contentPadding: PaddingValues) {
4847

4948
// Middle Column
5049
Column(
51-
Modifier.weight(0.5f)
50+
Modifier.weight(0.75f)
5251
.then(dashboardCommonPadding)
5352
) {
54-
CameraWindow()
55-
//TestThing()
53+
Row(
54+
modifier = Modifier.fillMaxSize(),
55+
horizontalArrangement = Arrangement.SpaceEvenly
56+
) {
57+
CameraWindow(modifier = Modifier.weight(1f))
58+
CameraWindow(modifier = Modifier.weight(1f))
59+
}
5660
}
5761

5862
// Right Column

composeApp/src/commonMain/kotlin/me/arianb/storm_robot/dashboard/cameraFeed/CameraFeedComponent.kt

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,11 @@ package me.arianb.storm_robot.dashboard.cameraFeed
33
import androidx.compose.foundation.ExperimentalFoundationApi
44
import androidx.compose.foundation.Image
55
import androidx.compose.foundation.layout.Arrangement
6+
import androidx.compose.foundation.layout.Box
7+
import androidx.compose.foundation.layout.Column
68
import androidx.compose.foundation.layout.Row
79
import androidx.compose.foundation.layout.aspectRatio
10+
import androidx.compose.foundation.layout.fillMaxSize
811
import androidx.compose.foundation.layout.fillMaxWidth
912
import androidx.compose.material.icons.Icons
1013
import androidx.compose.material.icons.filled.Check
@@ -41,19 +44,25 @@ import storm_robot.composeapp.generated.resources.error
4144

4245
@Composable
4346
fun CameraWindow(
47+
modifier: Modifier = Modifier,
4448
cameraFeedViewModel: CameraFeedViewModel = viewModel(),
4549
) {
4650
val availableWebcams: List<WebcamIdentifier> by cameraFeedViewModel.availableWebcams.collectAsState()
4751

4852
var selectedWebcam by remember { mutableStateOf<WebcamIdentifier?>(null) }
49-
CameraDropdownMenu(availableWebcams) {
50-
selectedWebcam = it
51-
}
5253

53-
CameraStreamWindow(selectedWebcam?.id)
54+
Box(modifier = modifier.fillMaxSize().then(modifier)) {
55+
Column(modifier = Modifier.fillMaxWidth()) {
56+
CameraDropdownMenu(availableWebcams) {
57+
selectedWebcam = it
58+
}
59+
60+
CameraStreamWindow(selectedWebcam?.id)
5461

55-
HorizontalDivider()
56-
CameraFeedControls(selectedWebcam?.id)
62+
HorizontalDivider()
63+
CameraFeedControls(selectedWebcam?.id)
64+
}
65+
}
5766
}
5867

5968
@OptIn(ExperimentalMaterial3Api::class, ExperimentalFoundationApi::class)

0 commit comments

Comments
 (0)