Commit 3a4599a8 by Aleksandr

Message for empty print jobs list

parent d3152f57
package com.isidroid.c23.ui.screen.print_jobs package com.isidroid.c23.ui.screen.print_jobs
import androidx.activity.compose.BackHandler import androidx.activity.compose.BackHandler
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items import androidx.compose.foundation.lazy.items
import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Scaffold import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBarDefaults import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.State import androidx.compose.runtime.State
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.isidroid.c23.R import com.isidroid.c23.R
import com.isidroid.c23.ui._component.TopAppBarComponent import com.isidroid.c23.ui._component.TopAppBarComponent
...@@ -67,20 +73,34 @@ private fun ListComponent( ...@@ -67,20 +73,34 @@ private fun ListComponent(
) { ) {
val list = state.value.jobs ?: return val list = state.value.jobs ?: return
LazyColumn(modifier) { if (list.isEmpty()) {
items(list) { item -> Box(
PrintJobListItemComponent( modifier = Modifier.fillMaxSize(),
spotName = item.spotName, contentAlignment = Alignment.Center
cost = item.cost, ) {
statusName = item.statusName, Text(
cover = item.cover, text = "No any print jobs found",
accessCode = item.accessCode, style = MaterialTheme.typography.labelLarge,
statusColor = item.statusColor, modifier = Modifier.fillMaxWidth(),
createdAt = item.createdAt, textAlign = TextAlign.Center
modifier = Modifier.padding(horizontal = 12.dp, vertical = 4.dp),
clickOnCard = { onEventSent(PrintJobsContract.Event.ToDetails(item.id)) },
clickOnSpot = { onEventSent(PrintJobsContract.Event.ToSpot(item.spotCode)) }
) )
} }
} else {
LazyColumn(modifier) {
items(list) { item ->
PrintJobListItemComponent(
spotName = item.spotName,
cost = item.cost,
statusName = item.statusName,
cover = item.cover,
accessCode = item.accessCode,
statusColor = item.statusColor,
createdAt = item.createdAt,
modifier = Modifier.padding(horizontal = 12.dp, vertical = 4.dp),
clickOnCard = { onEventSent(PrintJobsContract.Event.ToDetails(item.id)) },
clickOnSpot = { onEventSent(PrintJobsContract.Event.ToSpot(item.spotCode)) }
)
}
}
} }
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment