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 @@
+