Move clock widget out of widget column

This commit is contained in:
MM20 2022-10-18 18:17:07 +02:00
parent a3be3188fa
commit b3a36f640b
No known key found for this signature in database
GPG Key ID: 0B61A8F2DEAFA389
3 changed files with 50 additions and 34 deletions

View File

@ -44,6 +44,7 @@ import de.mm20.launcher2.ui.launcher.search.SearchBarLevel
import de.mm20.launcher2.ui.launcher.search.SearchColumn
import de.mm20.launcher2.ui.launcher.search.SearchVM
import de.mm20.launcher2.ui.launcher.widgets.WidgetColumn
import de.mm20.launcher2.ui.launcher.widgets.clock.ClockWidget
import de.mm20.launcher2.ui.utils.rememberNotificationShadeController
import kotlinx.coroutines.launch
import kotlin.math.roundToInt
@ -290,7 +291,7 @@ fun PagerScaffold(
}
}
WidgetColumn(
Column(
modifier = Modifier
.requiredWidth(width)
.fillMaxHeight()
@ -299,14 +300,30 @@ fun PagerScaffold(
.windowInsetsPadding(WindowInsets.safeDrawing)
.padding(horizontal = 8.dp)
.padding(top = 8.dp, bottom = 64.dp)
.padding(top = editModePadding),
clockHeight = { clockHeight },
clockBottomPadding = { clockPadding },
editMode = isWidgetEditMode,
onEditModeChange = {
viewModel.setWidgetEditMode(it)
.padding(top = editModePadding)
) {
AnimatedVisibility(!isWidgetEditMode) {
Box(
modifier = Modifier
.fillMaxWidth()
.then(clockHeight?.let { Modifier.height(it) } ?: Modifier)
.padding(bottom = clockPadding),
contentAlignment = Alignment.BottomCenter
) {
ClockWidget(
modifier = Modifier.fillMaxWidth()
)
}
}
)
WidgetColumn(
editMode = isWidgetEditMode,
onEditModeChange = {
viewModel.setWidgetEditMode(it)
}
)
}
val websearches by searchVM.websearchResults.observeAsState(emptyList())

View File

@ -41,6 +41,7 @@ import de.mm20.launcher2.ui.launcher.search.SearchBarLevel
import de.mm20.launcher2.ui.launcher.search.SearchColumn
import de.mm20.launcher2.ui.launcher.search.SearchVM
import de.mm20.launcher2.ui.launcher.widgets.WidgetColumn
import de.mm20.launcher2.ui.launcher.widgets.clock.ClockWidget
import kotlinx.coroutines.launch
import kotlin.math.roundToInt
@ -307,9 +308,9 @@ fun PullDownScaffold(
}
}
}
WidgetColumn(
modifier =
Modifier
Column(
modifier = Modifier
.graphicsLayer {
transformOrigin = TransformOrigin.Center
scaleX = 1 - offset
@ -321,14 +322,28 @@ fun PullDownScaffold(
.verticalScroll(widgetsScrollState)
.windowInsetsPadding(WindowInsets.safeDrawing)
.padding(8.dp)
.padding(top = 56.dp),
clockHeight = { clockHeight },
clockBottomPadding = { clockPadding },
editMode = isWidgetEditMode,
onEditModeChange = {
viewModel.setWidgetEditMode(it)
.padding(top = 56.dp)
) {
AnimatedVisibility(!isWidgetEditMode) {
Box(
modifier = Modifier
.fillMaxWidth()
.then(clockHeight?.let { Modifier.height(it) } ?: Modifier)
.padding(bottom = clockPadding),
contentAlignment = Alignment.BottomCenter
) {
ClockWidget(
modifier = Modifier.fillMaxWidth()
)
}
}
)
WidgetColumn(
editMode = isWidgetEditMode,
onEditModeChange = {
viewModel.setWidgetEditMode(it)
}
)
}
}
}

View File

@ -63,8 +63,6 @@ import kotlinx.coroutines.launch
@Composable
fun WidgetColumn(
modifier: Modifier = Modifier,
clockHeight: () -> Dp? = { null },
clockBottomPadding: () -> Dp = { 0.dp },
editMode: Boolean = false,
onEditModeChange: (Boolean) -> Unit,
) {
@ -103,20 +101,6 @@ fun WidgetColumn(
) {
val scope = rememberCoroutineScope()
var showAddDialog by remember { mutableStateOf(false) }
AnimatedVisibility(!editMode) {
Box(
modifier = Modifier
.fillMaxWidth()
.then(clockHeight()?.let { Modifier.height(it) } ?: Modifier)
.padding(bottom = clockBottomPadding()),
contentAlignment = Alignment.BottomCenter
) {
ClockWidget(
modifier = Modifier.fillMaxWidth()
)
}
}
Column {
val widgets by viewModel.widgets.observeAsState(emptyList())
val swapThresholds = remember(widgets) {