diff --git a/frontend/app/src/main/java/space/rethelyi/mosogepsch/view/AppBar.kt b/frontend/app/src/main/java/space/rethelyi/mosogepsch/view/AppBar.kt index b346ae3f832a0c6fa80e73e22d234c462c2bc7a2..ed3182561c38b2148285576a49a85d584133f8a4 100644 --- a/frontend/app/src/main/java/space/rethelyi/mosogepsch/view/AppBar.kt +++ b/frontend/app/src/main/java/space/rethelyi/mosogepsch/view/AppBar.kt @@ -4,6 +4,7 @@ import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding +import androidx.compose.material.DropdownMenu import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.SmallTopAppBar @@ -37,6 +38,10 @@ fun AppBar(internet: Boolean) { contentDescription = stringResource(R.string.no_internet) ) } +// DropdownMenu() +// { +// +// } }, ) } \ No newline at end of file diff --git a/frontend/app/src/main/java/space/rethelyi/mosogepsch/view/MachineOnFloor.kt b/frontend/app/src/main/java/space/rethelyi/mosogepsch/view/MachineOnFloor.kt index d94574a79fdd22b664576565b8b7ef6094a862f4..a17b534e819edf503f88c439cc352bb5a6f7d6e7 100644 --- a/frontend/app/src/main/java/space/rethelyi/mosogepsch/view/MachineOnFloor.kt +++ b/frontend/app/src/main/java/space/rethelyi/mosogepsch/view/MachineOnFloor.kt @@ -26,6 +26,7 @@ fun MachineOnFloorView(machine: Machine, modifier: Modifier, lastRequestTime: Da onClick = { val intent = Intent(context, MachineViewActivity::class.java) intent.putExtra("machine", machine) + intent.putExtra("last_request_time", lastRequestTime) context.startActivity(intent) }), color = when { diff --git a/frontend/app/src/main/java/space/rethelyi/mosogepsch/view/MachineScreen.kt b/frontend/app/src/main/java/space/rethelyi/mosogepsch/view/MachineScreen.kt index 843a6290af2dbcd5672ce3c44b3477084eb8ee12..bd70527fd37474c19195231522520514782c4101 100644 --- a/frontend/app/src/main/java/space/rethelyi/mosogepsch/view/MachineScreen.kt +++ b/frontend/app/src/main/java/space/rethelyi/mosogepsch/view/MachineScreen.kt @@ -21,12 +21,13 @@ import com.google.firebase.messaging.ktx.messaging import space.rethelyi.mosogepsch.R import space.rethelyi.mosogepsch.model.Machine import java.text.SimpleDateFormat +import java.util.* val format = SimpleDateFormat.getDateTimeInstance() @Composable @OptIn(ExperimentalMaterial3Api::class) -fun MachineScreen(machine: Machine, onUpdate: (Boolean) -> Unit) { +fun MachineScreen(machine: Machine, lastRequestTime: Date?, onUpdate: (Boolean) -> Unit) { val modifier = Modifier.fillMaxWidth() val ctx = LocalContext.current Scaffold( @@ -61,10 +62,25 @@ fun MachineScreen(machine: Machine, onUpdate: (Boolean) -> Unit) { ) { Card( modifier = modifier, - color = if (machine.status == 1) { MaterialTheme.colorScheme.error } else { MaterialTheme.colorScheme.primary } + color = when { + machine.last_query_time.isLostInSpace(lastRequestTime) -> { + MaterialTheme.colorScheme.surfaceVariant + } + machine.status == 1 -> { + MaterialTheme.colorScheme.error + } + else -> MaterialTheme.colorScheme.primary + }, ) { - val status = if (machine.status == 1) { stringResource(R.string.not_available) } else { stringResource( - R.string.available) } + val status = when { + machine.last_query_time.isLostInSpace(lastRequestTime) -> { + stringResource(R.string.lost_in_space) + } + machine.status == 1 -> { + stringResource(R.string.not_available) + } + else -> stringResource(R.string.available) + } Text( modifier = modifier .padding(16.dp), diff --git a/frontend/app/src/main/java/space/rethelyi/mosogepsch/view/MachineViewActivity.kt b/frontend/app/src/main/java/space/rethelyi/mosogepsch/view/MachineViewActivity.kt index 96673f0e5f2654128fa6f97776db951035943236..ab183a57daaecd99f1d81667f3a227a0cef56c0f 100644 --- a/frontend/app/src/main/java/space/rethelyi/mosogepsch/view/MachineViewActivity.kt +++ b/frontend/app/src/main/java/space/rethelyi/mosogepsch/view/MachineViewActivity.kt @@ -7,12 +7,14 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface import space.rethelyi.mosogepsch.model.Machine import space.rethelyi.mosogepsch.ui.theme.MosogepSCHTheme +import java.util.* class MachineViewActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val machine = intent.getSerializableExtra("machine") as? Machine ?: throw IllegalArgumentException("machine must be machine") + val lastRequestTime = intent.getSerializableExtra("last_request_time") as? Date ?: throw IllegalArgumentException("date must be date") setContent { MosogepSCHTheme { @@ -20,6 +22,7 @@ class MachineViewActivity : ComponentActivity() { Surface(color = MaterialTheme.colorScheme.background) { MachineScreen( machine = machine, + lastRequestTime = lastRequestTime ) { false } } } diff --git a/frontend/app/src/main/res/values-hu/strings.xml b/frontend/app/src/main/res/values-hu/strings.xml index 38d650730861f87538f3b5528c5b9f63c82969fa..65462b28c3a29c257fb0138f714ae246c8e4633c 100644 --- a/frontend/app/src/main/res/values-hu/strings.xml +++ b/frontend/app/src/main/res/values-hu/strings.xml @@ -17,4 +17,5 @@ <string name="title">%1$s. emeleti %2$s</string> <string name="notification_msg">A %1$s. emeleti %2$s %3$s lett.</string> <string name="no_internet">nincs internet kapcsolat</string> + <string name="lost_in_space">elveszett (az űrben)</string> </resources> \ No newline at end of file diff --git a/frontend/app/src/main/res/values/strings.xml b/frontend/app/src/main/res/values/strings.xml index b9e3cab918072257bbe8e29c09d765bda8bea7f6..5e73bdbfdce42c9652879ffe9853a278d4e13069 100644 --- a/frontend/app/src/main/res/values/strings.xml +++ b/frontend/app/src/main/res/values/strings.xml @@ -19,4 +19,5 @@ <string name="title">%2$s on floor %1$s</string> <string name="notification_msg">The %2$s on floor %1$s became %3$s</string> <string name="no_internet">no internet connection</string> + <string name="lost_in_space">lost in space</string> </resources> \ No newline at end of file