diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/EffectiveDarkColors.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/EffectiveDarkColors.kt index b9286e419a968bd76bf6fa74ca0b4eb6375bf191..95acb4e2f2c77696b034953cdc987a3cea5ac081 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/EffectiveDarkColors.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/EffectiveDarkColors.kt @@ -50,14 +50,17 @@ val EffectiveDarkColors = EffectiveThemeColors( primaryNormal = orange50, primaryPress = orange40, primaryDisable = orange90, + secondaryNormal = neutral90, + secondaryPress = neutral100, iconNormal = neutral95, iconPress = neutral90, iconDisable = neutral95, tertiaryNormal = neutral95, tertiaryPress = neutral90, - actionNormalNormal = purple30, + actionEditNormal = purple30, actionEditPress = purple20, - actionDelete = red20, + actionDeleteNormal = red40, + actionDeletePress = red20, timeNormal = neutral90, timePress = neutral95, timeActive = neutral90, diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/EffectiveLightColors.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/EffectiveLightColors.kt index 28f3356502726e3ba2ade9caea3142924a77888b..10b70a1a7ea86c94708805c8afac748d09e58345 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/EffectiveLightColors.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/EffectiveLightColors.kt @@ -1,7 +1,5 @@ package band.effective.office.elevator -import androidx.compose.ui.graphics.Color - val EffectiveLightColors = EffectiveThemeColors( background = EffectiveThemeColors.Background( primary = neutral10, @@ -52,14 +50,17 @@ val EffectiveLightColors = EffectiveThemeColors( primaryNormal = orange60, primaryPress = orange50, primaryDisable = orange20, + secondaryNormal = neutral15, + secondaryPress = neutral10, iconNormal = neutral10, iconPress = neutral15, iconDisable = neutral10, tertiaryNormal = neutral10, tertiaryPress = neutral15, - actionNormalNormal = purple40, + actionEditNormal = purple40, actionEditPress = purple30, - actionDelete = red30, + actionDeleteNormal = red50, + actionDeletePress = red30, timeNormal = neutral5, timePress = neutral10, timeActive = neutral5, @@ -68,7 +69,7 @@ val EffectiveLightColors = EffectiveThemeColors( repeatNormal = neutral5, repeatPress = neutral10, toggleOn = green50, - toggleOff = neutral5, + toggleOff = neutral25, toggleNormal = neutral10, ), diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/EffectiveTheme.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/EffectiveTheme.kt index aaaee3a27eb40f6af0bcb7dd5ba635869329f9f0..8b82a7f034ef7cbd3a3f9d920aebd114f450b142 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/EffectiveTheme.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/EffectiveTheme.kt @@ -73,14 +73,17 @@ data class EffectiveThemeColors( val primaryNormal: Color, val primaryPress: Color, val primaryDisable: Color, + val secondaryNormal: Color, + val secondaryPress: Color, val iconNormal: Color, val iconPress: Color, val iconDisable: Color, val tertiaryNormal: Color, val tertiaryPress: Color, - val actionNormalNormal: Color, + val actionEditNormal: Color, val actionEditPress: Color, - val actionDelete: Color, + val actionDeleteNormal: Color, + val actionDeletePress: Color, val timeNormal: Color, val timePress: Color, val timeActive: Color, diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/ModalCalendar.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/ModalCalendar.kt index 2998d4e73bb07d7c5ca9b96ab99000c0cfe56006..0f5ce53242bc9330ee62348beb602c06aa3319d6 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/ModalCalendar.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/ModalCalendar.kt @@ -16,6 +16,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import band.effective.office.elevator.MainRes +import band.effective.office.elevator.components.buttons.EffectiveButton import dev.icerock.moko.resources.compose.stringResource import epicarchitect.calendar.compose.basis.EpicMonth import epicarchitect.calendar.compose.basis.config.rememberMutableBasisEpicCalendarConfig diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/ModalCalendarDateRange.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/ModalCalendarDateRange.kt index 34ec1d1c548cacba8cf9d8d1a64c6952d5649e4f..fe5872e4128b689b1669b49c7b28747474d6455e 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/ModalCalendarDateRange.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/ModalCalendarDateRange.kt @@ -29,6 +29,7 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import band.effective.office.elevator.ExtendedThemeColors import band.effective.office.elevator.MainRes +import band.effective.office.elevator.components.buttons.EffectiveButton import dev.icerock.moko.resources.compose.stringResource import epicarchitect.calendar.compose.basis.EpicMonth import epicarchitect.calendar.compose.basis.config.rememberMutableBasisEpicCalendarConfig diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/TimePickerModal.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/TimePickerModal.kt index 68a86904e447e3b9a7ccfe7dcc18ea1d0058b2ac..90543f19602fd3932426201392a7b5af1840028c 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/TimePickerModal.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/TimePickerModal.kt @@ -20,6 +20,7 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import band.effective.office.elevator.ExtendedThemeColors import band.effective.office.elevator.MainRes +import band.effective.office.elevator.components.buttons.EffectiveButton import com.commandiron.wheel_picker_compose.WheelTimePicker import com.commandiron.wheel_picker_compose.core.WheelPickerDefaults import com.commandiron.wheel_picker_compose.utils.getCurrentTime diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/ActionDeleteButton.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/ActionDeleteButton.kt new file mode 100644 index 0000000000000000000000000000000000000000..79e332d0374d8e7d700a2b01f4492ffab97771e7 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/ActionDeleteButton.kt @@ -0,0 +1,65 @@ +package band.effective.office.elevator.components.buttons + +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.interaction.collectIsPressedAsState +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.Icon +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.unit.dp +import band.effective.office.elevator.EffectiveTheme +import band.effective.office.elevator.MainRes +import dev.icerock.moko.resources.compose.painterResource +import dev.icerock.moko.resources.compose.stringResource + +@Composable +fun ActionDeleteButton( + modifier: Modifier = Modifier, + onClick: () -> Unit, +) { + val interactionSource = remember { MutableInteractionSource() } + val isPressed = interactionSource.collectIsPressedAsState().value + Button( + modifier = modifier, + onClick = onClick, + shape = RoundedCornerShape(12.dp), + contentPadding = PaddingValues(horizontal = 12.dp, vertical = 15.dp), + colors = ButtonDefaults.buttonColors( + containerColor = if (isPressed) { + EffectiveTheme.colors.button.actionDeleteNormal + } else { + EffectiveTheme.colors.button.actionDeleteNormal + } + ), + interactionSource = interactionSource, + ) { + Column( + modifier = Modifier, + verticalArrangement = Arrangement.spacedBy(4.dp), + horizontalAlignment = Alignment.CenterHorizontally, + ) { + Icon( + painter = painterResource(MainRes.images.ic_delete), + contentDescription = null, + modifier = Modifier.size(24.dp), + tint = EffectiveTheme.colors.icon.primaryEvent, + ) + Text( + text = stringResource(MainRes.strings.delete), + textAlign = TextAlign.Center, + style = EffectiveTheme.typography.xsMedium, + color = EffectiveTheme.colors.text.primaryEvent, + ) + } + } +} diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/ActionEditButton.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/ActionEditButton.kt new file mode 100644 index 0000000000000000000000000000000000000000..369c502a61bb3939200ada77005e5e646711fb1a --- /dev/null +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/ActionEditButton.kt @@ -0,0 +1,65 @@ +package band.effective.office.elevator.components.buttons + +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.interaction.collectIsPressedAsState +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.Icon +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.unit.dp +import band.effective.office.elevator.EffectiveTheme +import band.effective.office.elevator.MainRes +import dev.icerock.moko.resources.compose.painterResource +import dev.icerock.moko.resources.compose.stringResource + +@Composable +fun ActionEditButton( + modifier: Modifier = Modifier, + onClick: () -> Unit, +) { + val interactionSource = remember { MutableInteractionSource() } + val isPressed = interactionSource.collectIsPressedAsState().value + Button( + modifier = modifier, + onClick = onClick, + shape = RoundedCornerShape(12.dp), + contentPadding = PaddingValues(horizontal = 12.dp, vertical = 15.dp), + colors = ButtonDefaults.buttonColors( + containerColor = if (isPressed) { + EffectiveTheme.colors.button.actionEditPress + } else { + EffectiveTheme.colors.button.actionEditNormal + } + ), + interactionSource = interactionSource, + ) { + Column( + modifier = Modifier, + verticalArrangement = Arrangement.spacedBy(4.dp), + horizontalAlignment = Alignment.CenterHorizontally, + ) { + Icon( + painter = painterResource(MainRes.images.ic_change), + contentDescription = null, + modifier = Modifier.size(24.dp), + tint = EffectiveTheme.colors.icon.primaryEvent, + ) + Text( + text = stringResource(MainRes.strings.change), + textAlign = TextAlign.Center, + style = EffectiveTheme.typography.xsMedium, + color = EffectiveTheme.colors.text.primaryEvent, + ) + } + } +} diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/EffectiveButton.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/EffectiveButton.kt similarity index 91% rename from composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/EffectiveButton.kt rename to composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/EffectiveButton.kt index acf6ab264a3b1aac26ca938dd1e52b4635e71d85..7d11944fbb62b021347f2a0091d523297eeca04e 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/EffectiveButton.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/EffectiveButton.kt @@ -1,4 +1,4 @@ -package band.effective.office.elevator.components +package band.effective.office.elevator.components.buttons import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.layout.PaddingValues @@ -6,13 +6,13 @@ import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.Button import androidx.compose.material.ButtonColors import androidx.compose.material.ButtonDefaults -import androidx.compose.material.MaterialTheme import androidx.compose.material.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import band.effective.office.elevator.EffectiveTheme +import band.effective.office.elevator.components.Elevation @Composable diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/EffectiveOutlinedButton.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/EffectiveOutlinedButton.kt similarity index 95% rename from composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/EffectiveOutlinedButton.kt rename to composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/EffectiveOutlinedButton.kt index d3d2246f756642a98f49459228b992d7c76deb91..a3abbb91db5872c48529cf28dbdbdba510971c9e 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/EffectiveOutlinedButton.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/EffectiveOutlinedButton.kt @@ -1,4 +1,4 @@ -package band.effective.office.elevator.components +package band.effective.office.elevator.components.buttons import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.Image @@ -13,7 +13,6 @@ import androidx.compose.material.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import band.effective.office.elevator.MainRes import dev.icerock.moko.resources.ImageResource @@ -56,4 +55,4 @@ fun EffectiveOutlinedButton(icon : ImageResource?, text: StringResource?, onClic } } } -} \ No newline at end of file +} diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/FullDayButton.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/FullDayButton.kt new file mode 100644 index 0000000000000000000000000000000000000000..6c07aab3a578c9688dbefb71748891c59077000a --- /dev/null +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/FullDayButton.kt @@ -0,0 +1,58 @@ +package band.effective.office.elevator.components.buttons + +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.interaction.collectIsPressedAsState +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.unit.dp +import band.effective.office.elevator.EffectiveTheme +import band.effective.office.elevator.MainRes +import dev.icerock.moko.resources.compose.stringResource + +@Composable +fun FullDayButton( + modifier: Modifier = Modifier, + onClick: () -> Unit, +) { + val interactionSource = remember { MutableInteractionSource() } + val isPressed = interactionSource.collectIsPressedAsState().value + Button( + modifier = modifier, + onClick = onClick, + shape = RoundedCornerShape(12.dp), + contentPadding = PaddingValues(horizontal = 16.dp, vertical = 20.dp), + colors = ButtonDefaults.buttonColors( + containerColor = if (isPressed) { + EffectiveTheme.colors.button.fullDayPress + } else { + EffectiveTheme.colors.button.fullDayNormal + } + ), + interactionSource = interactionSource, + ) { + Row( + modifier = Modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.SpaceBetween, + verticalAlignment = Alignment.CenterVertically, + ) { + Text( + text = stringResource(MainRes.strings.all_day), + textAlign = TextAlign.Center, + style = EffectiveTheme.typography.mMedium, + color = EffectiveTheme.colors.text.primary, + ) + ToggleButton() + } + } +} diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/GoogleSignInButton.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/GoogleSignInButton.kt similarity index 94% rename from composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/GoogleSignInButton.kt rename to composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/GoogleSignInButton.kt index 638123e16ae40ba76d5cc99741ee20da9b0203c3..ee672ae5d77fe7b28b8ae5f9e404839774de192e 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/GoogleSignInButton.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/GoogleSignInButton.kt @@ -1,4 +1,4 @@ -package band.effective.office.elevator.components +package band.effective.office.elevator.components.buttons import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Spacer @@ -17,6 +17,7 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import band.effective.office.elevator.EffectiveTheme import band.effective.office.elevator.MainRes +import band.effective.office.elevator.components.Elevation import dev.icerock.moko.resources.compose.painterResource import dev.icerock.moko.resources.compose.stringResource diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/PrimaryButton.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/PrimaryButton.kt similarity index 94% rename from composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/PrimaryButton.kt rename to composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/PrimaryButton.kt index 9c85b738abd95cac54518167004c3e59ad2c7453..b5687155fb41e5f847bf56ac040df1b3186223ed 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/PrimaryButton.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/PrimaryButton.kt @@ -1,4 +1,4 @@ -package band.effective.office.elevator.components +package band.effective.office.elevator.components.buttons import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/RepeatButton.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/RepeatButton.kt new file mode 100644 index 0000000000000000000000000000000000000000..fcf7c34f0fb0de93757be6c2a348e934be5318c1 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/RepeatButton.kt @@ -0,0 +1,68 @@ +package band.effective.office.elevator.components.buttons + +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.interaction.collectIsPressedAsState +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.Icon +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.unit.dp +import band.effective.office.elevator.EffectiveTheme +import band.effective.office.elevator.MainRes +import dev.icerock.moko.resources.compose.painterResource +import dev.icerock.moko.resources.compose.stringResource + +@Composable +fun RepeatButton( + modifier: Modifier = Modifier, + onClick: () -> Unit, +) { + val interactionSource = remember { MutableInteractionSource() } + val isPressed = interactionSource.collectIsPressedAsState().value + Row( + modifier = Modifier, + ) { + Button( + modifier = modifier, + onClick = onClick, + shape = RoundedCornerShape(12.dp), + contentPadding = PaddingValues(horizontal = 16.dp, vertical = 18.dp), + colors = ButtonDefaults.buttonColors( + containerColor = if (isPressed) { + EffectiveTheme.colors.button.repeatPress + } else { + EffectiveTheme.colors.button.repeatNormal + } + ), + interactionSource = interactionSource, + ) { + Row( + modifier = Modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.SpaceBetween, + ) { + Text( + text = stringResource(MainRes.strings.does_not_repeat), + textAlign = TextAlign.Center, + style = EffectiveTheme.typography.mMedium, + color = EffectiveTheme.colors.text.primary, + ) + Icon( + painter = painterResource(MainRes.images.ic_repeat), + contentDescription = null, + modifier = Modifier.size(18.dp), + tint = EffectiveTheme.colors.icon.secondary, + ) + } + } + } +} diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/SecondaryButton.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/SecondaryButton.kt new file mode 100644 index 0000000000000000000000000000000000000000..02d13670db2ea350de1af55827c5b4f7c48b7e87 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/SecondaryButton.kt @@ -0,0 +1,50 @@ +package band.effective.office.elevator.components.buttons + +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.interaction.collectIsPressedAsState +import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.unit.dp +import band.effective.office.elevator.EffectiveTheme + +@Composable +fun SecondaryButton( + modifier: Modifier = Modifier, + text: String, + onClick: () -> Unit, +) { + val interactionSource = remember { MutableInteractionSource() } + val isPressed = interactionSource.collectIsPressedAsState().value + Button( + modifier = modifier, + onClick = onClick, + shape = RoundedCornerShape(40.dp), + contentPadding = PaddingValues(horizontal = 40.dp, vertical = 12.dp), + colors = ButtonDefaults.buttonColors( + containerColor = if (isPressed) { + EffectiveTheme.colors.button.secondaryPress + } else { + EffectiveTheme.colors.button.secondaryNormal + } + ), + interactionSource = interactionSource, + ) { + Text( + text = text, + textAlign = TextAlign.Center, + style = EffectiveTheme.typography.mMedium, + color = if (isPressed) { + EffectiveTheme.colors.text.secondary + } else { + EffectiveTheme.colors.text.accent + } + ) + } +} diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/TertiaryButton.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/TertiaryButton.kt new file mode 100644 index 0000000000000000000000000000000000000000..b1ea68ea4d125f9a7423edb5e577e14cb22ede80 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/TertiaryButton.kt @@ -0,0 +1,71 @@ +package band.effective.office.elevator.components.buttons + +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.interaction.collectIsPressedAsState +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.Icon +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.unit.dp +import band.effective.office.elevator.EffectiveTheme +import dev.icerock.moko.resources.ImageResource +import dev.icerock.moko.resources.compose.painterResource + +@Composable +fun TertiaryButton( + modifier: Modifier = Modifier, + text: String, + onClick: () -> Unit, + icon: ImageResource?, +) { + val interactionSource = remember { MutableInteractionSource() } + val isPressed = interactionSource.collectIsPressedAsState().value + Button( + modifier = modifier, + onClick = onClick, + shape = RoundedCornerShape(40.dp), + contentPadding = PaddingValues(horizontal = 40.dp, vertical = 12.dp), + colors = ButtonDefaults.buttonColors( + containerColor = if (isPressed) { + EffectiveTheme.colors.button.secondaryPress + } else { + EffectiveTheme.colors.button.secondaryNormal + } + ), + interactionSource = interactionSource, + ) { + Row( + modifier = modifier, + horizontalArrangement = Arrangement.spacedBy(10.dp), + ) { + if (icon != null) { + Icon( + painter = painterResource(icon), + contentDescription = null, + modifier = Modifier.size(18.dp), + tint = EffectiveTheme.colors.icon.primary + ) + } + Text( + text = text, + textAlign = TextAlign.Center, + style = EffectiveTheme.typography.mMedium, + color = if (isPressed) { + EffectiveTheme.colors.text.secondary + } else { + EffectiveTheme.colors.text.accent + } + ) + } + } +} + diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/TimeButton.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/TimeButton.kt new file mode 100644 index 0000000000000000000000000000000000000000..f2566f220d9e72f0f20f31391df24e8d426fbcdf --- /dev/null +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/TimeButton.kt @@ -0,0 +1,62 @@ +package band.effective.office.elevator.components.buttons + +import androidx.compose.foundation.BorderStroke +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.interaction.collectIsPressedAsState +import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.unit.dp +import band.effective.office.elevator.EffectiveTheme + +@Composable +fun TimeButton( + modifier: Modifier = Modifier, + textTime: String, + isActive: Boolean, + onClick: () -> Unit, +) { + val interactionSource = remember { MutableInteractionSource() } + val isPressed = interactionSource.collectIsPressedAsState().value + Button( + modifier = modifier, + onClick = onClick, + shape = RoundedCornerShape(12.dp), + contentPadding = PaddingValues(horizontal = 16.dp, vertical = 16.dp), + colors = ButtonDefaults.buttonColors( + containerColor = if (isPressed) { + EffectiveTheme.colors.button.secondaryPress + } else { + EffectiveTheme.colors.button.secondaryNormal + } + ), + border = BorderStroke( + width = 1.dp, color = + if (isActive) { + EffectiveTheme.colors.stroke.accent + } else Color.Transparent + ), + interactionSource = interactionSource, + ) { + Text( + text = textTime, + textAlign = TextAlign.Left, + style = EffectiveTheme.typography.mMedium, + color = if (isPressed) { + EffectiveTheme.colors.text.secondary + } else { + EffectiveTheme.colors.text.accent + } + ) + Spacer(modifier = Modifier.padding(end = 100.dp)) + } +} diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/ToggleButton.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/ToggleButton.kt new file mode 100644 index 0000000000000000000000000000000000000000..23d4753768ab0c9d59d248f1e020e3cec766c347 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/components/buttons/ToggleButton.kt @@ -0,0 +1,34 @@ +package band.effective.office.elevator.components.buttons + +import androidx.compose.material3.Switch +import androidx.compose.material3.SwitchDefaults +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Modifier +import band.effective.office.elevator.EffectiveTheme + +@Composable +fun ToggleButton( + modifier: Modifier = Modifier, +) { + var checked by remember { mutableStateOf(true) } + + Switch( + modifier = modifier, + checked = checked, + onCheckedChange = { + checked = it + }, + colors = SwitchDefaults.colors( + checkedThumbColor = EffectiveTheme.colors.button.toggleNormal, + checkedTrackColor = EffectiveTheme.colors.button.toggleOff, + uncheckedThumbColor = EffectiveTheme.colors.button.toggleNormal, + uncheckedTrackColor = EffectiveTheme.colors.button.toggleOn, + checkedBorderColor = EffectiveTheme.colors.button.toggleOff, + uncheckedBorderColor = EffectiveTheme.colors.button.toggleOn, + ) + ) +} diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/authorization/authorization_finish/AuthorizationFinishScreen.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/authorization/authorization_finish/AuthorizationFinishScreen.kt index e0cee4b0e6c3442e64a0621b6bed5514a64568f3..5adf8e929295abccf38018ba41eb6f348355a45a 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/authorization/authorization_finish/AuthorizationFinishScreen.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/authorization/authorization_finish/AuthorizationFinishScreen.kt @@ -28,7 +28,7 @@ import androidx.compose.ui.unit.dp import band.effective.office.elevator.EffectiveTheme import band.effective.office.elevator.MainRes import band.effective.office.elevator.components.EffectiveGradient -import band.effective.office.elevator.components.PrimaryButton +import band.effective.office.elevator.components.buttons.PrimaryButton import band.effective.office.elevator.components.generateImageLoader import com.seiko.imageloader.model.ImageRequest import com.seiko.imageloader.rememberImagePainter diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/authorization/authorization_google/AuthorizationGoogleScreen.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/authorization/authorization_google/AuthorizationGoogleScreen.kt index 3dff258f947046bbd7af01a47f1259fe5dbc0283..938189530e1edefcc936e538eaec4e84b27b91c9 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/authorization/authorization_google/AuthorizationGoogleScreen.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/authorization/authorization_google/AuthorizationGoogleScreen.kt @@ -23,7 +23,13 @@ import androidx.compose.ui.unit.dp import band.effective.office.elevator.EffectiveTheme import band.effective.office.elevator.MainRes import band.effective.office.elevator.components.EffectiveGradient -import band.effective.office.elevator.components.GoogleSignInButton +import band.effective.office.elevator.components.buttons.ActionEditButton +import band.effective.office.elevator.components.buttons.FullDayButton +import band.effective.office.elevator.components.buttons.GoogleSignInButton +import band.effective.office.elevator.components.buttons.RepeatButton +import band.effective.office.elevator.components.buttons.SecondaryButton +import band.effective.office.elevator.components.buttons.TertiaryButton +import band.effective.office.elevator.components.buttons.TimeButton import band.effective.office.elevator.expects.showToast import band.effective.office.elevator.ui.authorization.authorization_google.store.AuthorizationGoogleStore import dev.icerock.moko.resources.compose.painterResource diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/authorization/authorization_phone/AuthorizationPhoneScreen.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/authorization/authorization_phone/AuthorizationPhoneScreen.kt index b907673b44e71594e935c9925d841b09c4015faa..01e57224ef41405e12320fffc6a3e5f983c76815 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/authorization/authorization_phone/AuthorizationPhoneScreen.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/authorization/authorization_phone/AuthorizationPhoneScreen.kt @@ -25,7 +25,7 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import band.effective.office.elevator.EffectiveTheme import band.effective.office.elevator.MainRes -import band.effective.office.elevator.components.EffectiveButton +import band.effective.office.elevator.components.buttons.EffectiveButton import band.effective.office.elevator.components.UserInfoTextField import band.effective.office.elevator.domain.validator.UserInfoValidator import band.effective.office.elevator.expects.showToast diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/authorization/authorization_profile/AuthorizationProfileScreen.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/authorization/authorization_profile/AuthorizationProfileScreen.kt index c20d5869c8af8c7b2ee41113e3e330449e91e170..d47deb2b32453fbcfe3aa3907544dc358a531645 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/authorization/authorization_profile/AuthorizationProfileScreen.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/authorization/authorization_profile/AuthorizationProfileScreen.kt @@ -27,7 +27,7 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import band.effective.office.elevator.EffectiveTheme import band.effective.office.elevator.MainRes -import band.effective.office.elevator.components.EffectiveButton +import band.effective.office.elevator.components.buttons.EffectiveButton import band.effective.office.elevator.components.UserInfoTextField import band.effective.office.elevator.expects.showToast import band.effective.office.elevator.textGrayColor diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/authorization/authorization_telegram/AuthorizationTelegramScreen.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/authorization/authorization_telegram/AuthorizationTelegramScreen.kt index 2313ffcb791f10b12652a165d47a342f0c110e8f..ba3890d0a71c3bcdc3d398884cd4578ee237d2a9 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/authorization/authorization_telegram/AuthorizationTelegramScreen.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/authorization/authorization_telegram/AuthorizationTelegramScreen.kt @@ -27,7 +27,7 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import band.effective.office.elevator.EffectiveTheme import band.effective.office.elevator.MainRes -import band.effective.office.elevator.components.EffectiveButton +import band.effective.office.elevator.components.buttons.EffectiveButton import band.effective.office.elevator.components.UserInfoTextField import band.effective.office.elevator.expects.showToast import band.effective.office.elevator.ui.authorization.authorization_telegram.store.AuthorizationTelegramStore diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/authorization/no_booking/NoBookingScreen.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/authorization/no_booking/NoBookingScreen.kt index 1d896ebd45f8952c93d382129311de42fea2bbf9..2b3ee05f7aed2c929e514edf82342ca679360909 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/authorization/no_booking/NoBookingScreen.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/authorization/no_booking/NoBookingScreen.kt @@ -22,7 +22,7 @@ import androidx.compose.ui.unit.dp import band.effective.office.elevator.EffectiveTheme import band.effective.office.elevator.MainRes import band.effective.office.elevator.components.EffectiveGradient -import band.effective.office.elevator.components.PrimaryButton +import band.effective.office.elevator.components.buttons.PrimaryButton import dev.icerock.moko.resources.compose.painterResource import dev.icerock.moko.resources.compose.stringResource diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/booking/components/modals/BookAccept.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/booking/components/modals/BookAccept.kt index e676f6b8c2003ab102fbac9579848d34bbba72e2..07681670fd11e557c678b5daac3e2d15a3ea26a8 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/booking/components/modals/BookAccept.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/booking/components/modals/BookAccept.kt @@ -25,7 +25,7 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import band.effective.office.elevator.ExtendedThemeColors import band.effective.office.elevator.MainRes -import band.effective.office.elevator.components.EffectiveButton +import band.effective.office.elevator.components.buttons.EffectiveButton import band.effective.office.elevator.domain.models.BookingInfo import band.effective.office.elevator.domain.models.BookingPeriod import band.effective.office.elevator.domain.models.TypeEndPeriodBooking diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/booking/components/modals/BookingPeriod.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/booking/components/modals/BookingPeriod.kt index 7b4f0c798e96df20562ac96fd9cf5470558313a5..b8e3af0d53cc9220f78aeaa8f6f248db7dfd0f99 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/booking/components/modals/BookingPeriod.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/booking/components/modals/BookingPeriod.kt @@ -33,7 +33,7 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp import band.effective.office.elevator.ExtendedThemeColors import band.effective.office.elevator.MainRes -import band.effective.office.elevator.components.EffectiveButton +import band.effective.office.elevator.components.buttons.EffectiveButton import band.effective.office.elevator.components.Elevation import band.effective.office.elevator.textGrayColor import dev.icerock.moko.resources.compose.painterResource diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/booking/components/modals/BookingRepeat.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/booking/components/modals/BookingRepeat.kt index 402f1878a3d8d02bb7c0db79859f63980cedc8eb..c9b811e02ad4fac37431e0cb88fe7aa5943640f1 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/booking/components/modals/BookingRepeat.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/booking/components/modals/BookingRepeat.kt @@ -67,7 +67,7 @@ import band.effective.office.elevator.ExtendedThemeColors import band.effective.office.elevator.MainRes import band.effective.office.elevator.borderGray import band.effective.office.elevator.components.DropDownMenu -import band.effective.office.elevator.components.EffectiveButton +import band.effective.office.elevator.components.buttons.EffectiveButton import band.effective.office.elevator.domain.models.BookingPeriod import band.effective.office.elevator.domain.models.DayOfWeek import band.effective.office.elevator.domain.models.TypeEndPeriodBooking diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/booking/components/modals/BookingResult.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/booking/components/modals/BookingResult.kt index 52293d053d8d4ae75c153c54f10d225e56fe9258..b805d6c0f7064a477e2f38821d1187d98efe3d79 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/booking/components/modals/BookingResult.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/booking/components/modals/BookingResult.kt @@ -23,7 +23,7 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import band.effective.office.elevator.ExtendedThemeColors import band.effective.office.elevator.MainRes -import band.effective.office.elevator.components.EffectiveButton +import band.effective.office.elevator.components.buttons.EffectiveButton import dev.icerock.moko.resources.compose.stringResource @Composable diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/booking/components/modals/DeleteBooking.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/booking/components/modals/DeleteBooking.kt index 3465d9ee41e589956df7533c6e30c98e2f1b7c7d..d409abb415647b701b57810881c02823cf1ed57b 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/booking/components/modals/DeleteBooking.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/booking/components/modals/DeleteBooking.kt @@ -20,7 +20,7 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import band.effective.office.elevator.ExtendedThemeColors import band.effective.office.elevator.MainRes -import band.effective.office.elevator.components.EffectiveButton +import band.effective.office.elevator.components.buttons.EffectiveButton import band.effective.office.elevator.components.OutlinedPrimaryButton import dev.icerock.moko.resources.compose.stringResource diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/booking/components/modals/EditBooking.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/booking/components/modals/EditBooking.kt index 2d8f6a40d83bca95c2008281ffaaccdd8e494a7b..95126ff3c1d70deabad2c2f49dbd6fd0bb6293ab 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/booking/components/modals/EditBooking.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/booking/components/modals/EditBooking.kt @@ -36,7 +36,7 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp import band.effective.office.elevator.ExtendedThemeColors import band.effective.office.elevator.MainRes -import band.effective.office.elevator.components.EffectiveButton +import band.effective.office.elevator.components.buttons.EffectiveButton import band.effective.office.elevator.components.Elevation import band.effective.office.elevator.domain.models.DayOfWeek import dev.icerock.moko.resources.compose.painterResource diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/errors/ErrorDialog.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/errors/ErrorDialog.kt index 18670b8ab60f0f82de53bd5bb6151c80f4b00a86..d5e78e5d73a341b321c08dc4a8dd047324fee8e8 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/errors/ErrorDialog.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/errors/ErrorDialog.kt @@ -23,7 +23,7 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.window.Dialog import androidx.compose.ui.window.DialogProperties import band.effective.office.elevator.EffectiveTheme -import band.effective.office.elevator.components.PrimaryButton +import band.effective.office.elevator.components.buttons.PrimaryButton import dev.icerock.moko.resources.ImageResource import dev.icerock.moko.resources.StringResource import dev.icerock.moko.resources.compose.painterResource diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/main/components/BottomDialog.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/main/components/BottomDialog.kt index 77cd1322ab05f190898a79a3aae7d0500464e51f..b3d315473d8ebcaac44805e14cab054c212b6528 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/main/components/BottomDialog.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/main/components/BottomDialog.kt @@ -29,7 +29,7 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import band.effective.office.elevator.ExtendedThemeColors import band.effective.office.elevator.MainRes -import band.effective.office.elevator.components.EffectiveButton +import band.effective.office.elevator.components.buttons.EffectiveButton import band.effective.office.elevator.components.OutlinedPrimaryButton import band.effective.office.elevator.textInBorderGray import band.effective.office.elevator.ui.employee.aboutEmployee.models.BookingsFilter diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/main/components/SeatReservation.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/main/components/SeatReservation.kt index 9a4610108bd070dd49d5c749093cd0d60f6cc513..6f21cfe5be1f1b6ed24dd4f5f1a896ec8b67f59e 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/main/components/SeatReservation.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/main/components/SeatReservation.kt @@ -17,7 +17,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import band.effective.office.elevator.MainRes -import band.effective.office.elevator.components.EffectiveButton +import band.effective.office.elevator.components.buttons.EffectiveButton import band.effective.office.elevator.textGrayColor import band.effective.office.elevator.ui.models.ReservedSeat import dev.icerock.moko.resources.compose.stringResource diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/profile/editProfile/ProfileEditScreen.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/profile/editProfile/ProfileEditScreen.kt index 02d7764b57caeb64512c1bb258a24ab949a49427..7ad9b79f10a2b22ef52b4e189c29d7f570d76daa 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/profile/editProfile/ProfileEditScreen.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/profile/editProfile/ProfileEditScreen.kt @@ -31,7 +31,7 @@ import androidx.compose.ui.unit.dp import band.effective.office.elevator.EffectiveTheme import band.effective.office.elevator.MainRes import band.effective.office.elevator.components.LoadingIndicator -import band.effective.office.elevator.components.PrimaryButton +import band.effective.office.elevator.components.buttons.PrimaryButton import band.effective.office.elevator.components.PopupMessage import band.effective.office.elevator.components.PopupMessageInfo import band.effective.office.elevator.components.TitlePage diff --git a/composeApp/src/commonMain/moko-resources/base/strings_ru.xml b/composeApp/src/commonMain/moko-resources/base/strings_ru.xml index 24f700120b46e0c0dd9bcd580c3bacb3f28f2fb4..240dedc49ad5c8df3f0c3032fd0a0a0260c1cfd7 100644 --- a/composeApp/src/commonMain/moko-resources/base/strings_ru.xml +++ b/composeApp/src/commonMain/moko-resources/base/strings_ru.xml @@ -11,6 +11,9 @@ Назад Закрыть + Изменить + Удалить + Продолжить @@ -200,6 +203,8 @@ по %s повторяется %s раз(а) На это время нет мест. Выберите другое время + Весь день + Не повторяется О коллеге diff --git a/composeApp/src/commonMain/moko-resources/en/strings_en.xml b/composeApp/src/commonMain/moko-resources/en/strings_en.xml index 45607a5d225acc18566f4dbe0a4049a882e5e3b5..1a8e52cb3c9258460a274e13c8c92cfc2d13024e 100644 --- a/composeApp/src/commonMain/moko-resources/en/strings_en.xml +++ b/composeApp/src/commonMain/moko-resources/en/strings_en.xml @@ -12,7 +12,8 @@ No reservations Back Close - + Change + Delete Continue @@ -92,6 +93,8 @@ Week Month Year + All day + Does not repeat Map Show map diff --git a/composeApp/src/commonMain/moko-resources/images/ic_change.svg b/composeApp/src/commonMain/moko-resources/images/ic_change.svg new file mode 100644 index 0000000000000000000000000000000000000000..09a103015103a941d8e04607fb8075fa1e7f3625 --- /dev/null +++ b/composeApp/src/commonMain/moko-resources/images/ic_change.svg @@ -0,0 +1,3 @@ + + + diff --git a/composeApp/src/commonMain/moko-resources/images/ic_delete.svg b/composeApp/src/commonMain/moko-resources/images/ic_delete.svg new file mode 100644 index 0000000000000000000000000000000000000000..09dd748ab3b5489f4abb160f4b884864662da29c --- /dev/null +++ b/composeApp/src/commonMain/moko-resources/images/ic_delete.svg @@ -0,0 +1,3 @@ + + + diff --git a/composeApp/src/commonMain/moko-resources/images/ic_repeat.svg b/composeApp/src/commonMain/moko-resources/images/ic_repeat.svg new file mode 100644 index 0000000000000000000000000000000000000000..42c9146993f24900868ad8ed73aef1f42749f13d --- /dev/null +++ b/composeApp/src/commonMain/moko-resources/images/ic_repeat.svg @@ -0,0 +1,3 @@ + + +