wip: wiring network client

This commit is contained in:
2026-05-29 00:33:12 +02:00
parent c68787cd01
commit 6b07424ebe
11 changed files with 78 additions and 40 deletions
@@ -56,11 +56,12 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import xyz.magicalbits.smsremote.R
import xyz.magicalbits.smsremote.network.NetworkClient
import xyz.magicalbits.smsremote.theme.JetchatTheme
import xyz.magicalbits.smsremote.widget.WidgetReceiver
@Composable
fun JetchatDrawerContent(onChatClicked: (String) -> Unit, selectedMenu: String = "iPhone XYZ") {
fun JetchatDrawerContent(onChatClicked: (NetworkClient.DeviceDto) -> Unit, selectedMenu: String = "", deviceDtoList: List<NetworkClient.DeviceDto> = listOf()) {
// Use windowInsetsTopHeight() to add a spacer which pushes the drawer content
// below the status bar (y-axis)
Column {
@@ -68,12 +69,13 @@ fun JetchatDrawerContent(onChatClicked: (String) -> Unit, selectedMenu: String =
DrawerHeader()
DividerItem()
DrawerItemHeader("Devices")
DeviceItem("Samsung A14", selectedMenu == "Samsung A14") {
onChatClicked("Samsung A14")
}
DeviceItem("iPhone XYZ", selectedMenu == "iPhone XYZ") {
onChatClicked("iPhone XYZ")
for (deviceDto in deviceDtoList) {
DeviceItem(deviceDto.name, selectedMenu == deviceDto.access_key) {
onChatClicked(deviceDto)
}
}
// DividerItem(modifier = Modifier.padding(horizontal = 28.dp))
if (widgetAddingIsSupported(LocalContext.current)) {
DividerItem(modifier = Modifier.padding(horizontal = 28.dp))
@@ -23,13 +23,15 @@ import androidx.compose.material3.ModalDrawerSheet
import androidx.compose.material3.ModalNavigationDrawer
import androidx.compose.material3.rememberDrawerState
import androidx.compose.runtime.Composable
import xyz.magicalbits.smsremote.network.NetworkClient
import xyz.magicalbits.smsremote.theme.JetchatTheme
@Composable
fun JetchatDrawer(
drawerState: DrawerState = rememberDrawerState(initialValue = Closed),
selectedMenu: String,
onChatClicked: (String) -> Unit,
deviceDtoList: List<NetworkClient.DeviceDto>,
onChatClicked: (NetworkClient.DeviceDto) -> Unit,
content: @Composable () -> Unit,
) {
JetchatTheme {
@@ -44,6 +46,7 @@ fun JetchatDrawer(
JetchatDrawerContent(
onChatClicked = onChatClicked,
selectedMenu = selectedMenu,
deviceDtoList = deviceDtoList,
)
}
},