mirror of
https://github.com/Myzel394/NumberHub.git
synced 2025-06-19 08:45:27 +02:00
Fix Converter Keyboard padding
This commit is contained in:
parent
e530cdd7b0
commit
864f7ba702
@ -18,13 +18,15 @@
|
|||||||
|
|
||||||
package com.sadellie.unitto.feature.converter.components
|
package com.sadellie.unitto.feature.converter.components
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.runtime.derivedStateOf
|
||||||
|
import androidx.compose.runtime.getValue
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import com.sadellie.unitto.core.base.Token
|
import com.sadellie.unitto.core.base.Token
|
||||||
import com.sadellie.unitto.core.ui.common.ColumnWithConstraints
|
import com.sadellie.unitto.core.ui.common.ColumnWithConstraints
|
||||||
import com.sadellie.unitto.core.ui.common.KeyboardButtonFilled
|
import com.sadellie.unitto.core.ui.common.KeyboardButtonFilled
|
||||||
@ -57,6 +59,7 @@ import com.sadellie.unitto.core.ui.common.key.unittoicons.Multiply
|
|||||||
import com.sadellie.unitto.core.ui.common.key.unittoicons.Plus
|
import com.sadellie.unitto.core.ui.common.key.unittoicons.Plus
|
||||||
import com.sadellie.unitto.core.ui.common.key.unittoicons.RightBracket
|
import com.sadellie.unitto.core.ui.common.key.unittoicons.RightBracket
|
||||||
import com.sadellie.unitto.core.ui.common.key.unittoicons.SquareRoot
|
import com.sadellie.unitto.core.ui.common.key.unittoicons.SquareRoot
|
||||||
|
import com.sadellie.unitto.core.ui.common.textfield.FormatterSymbols
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
internal fun DefaultKeyboard(
|
internal fun DefaultKeyboard(
|
||||||
@ -68,40 +71,44 @@ internal fun DefaultKeyboard(
|
|||||||
fractional: String,
|
fractional: String,
|
||||||
middleZero: Boolean,
|
middleZero: Boolean,
|
||||||
) {
|
) {
|
||||||
val fractionalIcon = remember { if (fractional == Token.Digit.dot) UnittoIcons.Dot else UnittoIcons.Comma }
|
|
||||||
ColumnWithConstraints(modifier) {
|
ColumnWithConstraints(modifier) {
|
||||||
|
val fractionalIcon = remember { if (fractional == Token.Digit.dot) UnittoIcons.Dot else UnittoIcons.Comma }
|
||||||
|
val mainButtonHorizontalPadding by remember {
|
||||||
|
derivedStateOf { (it.maxWidth * 0.01f) }
|
||||||
|
}
|
||||||
|
|
||||||
// Button modifier
|
// Button modifier
|
||||||
val bModifier = Modifier
|
val bModifier = Modifier
|
||||||
.fillMaxSize()
|
.fillMaxSize()
|
||||||
.weight(1f)
|
.weight(1f)
|
||||||
|
.padding(mainButtonHorizontalPadding)
|
||||||
// Column modifier
|
// Column modifier
|
||||||
val cModifier = Modifier.weight(1f).padding(vertical = it.maxHeight * 0.01f)
|
val cModifier = Modifier.weight(1f)
|
||||||
val horizontalArrangement = Arrangement.spacedBy(it.maxWidth * 0.03f)
|
Row(cModifier) {
|
||||||
Row(cModifier, horizontalArrangement) {
|
|
||||||
KeyboardButtonFilled(bModifier, UnittoIcons.LeftBracket, allowVibration) { addDigit(Token.Operator.leftBracket) }
|
KeyboardButtonFilled(bModifier, UnittoIcons.LeftBracket, allowVibration) { addDigit(Token.Operator.leftBracket) }
|
||||||
KeyboardButtonFilled(bModifier, UnittoIcons.RightBracket, allowVibration) { addDigit(Token.Operator.rightBracket) }
|
KeyboardButtonFilled(bModifier, UnittoIcons.RightBracket, allowVibration) { addDigit(Token.Operator.rightBracket) }
|
||||||
KeyboardButtonFilled(bModifier, UnittoIcons.Exponent, allowVibration) { addDigit(Token.Operator.power) }
|
KeyboardButtonFilled(bModifier, UnittoIcons.Exponent, allowVibration) { addDigit(Token.Operator.power) }
|
||||||
KeyboardButtonFilled(bModifier, UnittoIcons.SquareRoot, allowVibration) { addDigit(Token.Operator.sqrt) }
|
KeyboardButtonFilled(bModifier, UnittoIcons.SquareRoot, allowVibration) { addDigit(Token.Operator.sqrt) }
|
||||||
}
|
}
|
||||||
Row(cModifier, horizontalArrangement) {
|
Row(cModifier) {
|
||||||
KeyboardButtonLight(bModifier, UnittoIcons.Key7, allowVibration) { addDigit(Token.Digit._7) }
|
KeyboardButtonLight(bModifier, UnittoIcons.Key7, allowVibration) { addDigit(Token.Digit._7) }
|
||||||
KeyboardButtonLight(bModifier, UnittoIcons.Key8, allowVibration) { addDigit(Token.Digit._8) }
|
KeyboardButtonLight(bModifier, UnittoIcons.Key8, allowVibration) { addDigit(Token.Digit._8) }
|
||||||
KeyboardButtonLight(bModifier, UnittoIcons.Key9, allowVibration) { addDigit(Token.Digit._9) }
|
KeyboardButtonLight(bModifier, UnittoIcons.Key9, allowVibration) { addDigit(Token.Digit._9) }
|
||||||
KeyboardButtonFilled(bModifier, UnittoIcons.Divide, allowVibration) { addDigit(Token.Operator.divide) }
|
KeyboardButtonFilled(bModifier, UnittoIcons.Divide, allowVibration) { addDigit(Token.Operator.divide) }
|
||||||
}
|
}
|
||||||
Row(cModifier, horizontalArrangement) {
|
Row(cModifier) {
|
||||||
KeyboardButtonLight(bModifier, UnittoIcons.Key4, allowVibration) { addDigit(Token.Digit._4) }
|
KeyboardButtonLight(bModifier, UnittoIcons.Key4, allowVibration) { addDigit(Token.Digit._4) }
|
||||||
KeyboardButtonLight(bModifier, UnittoIcons.Key5, allowVibration) { addDigit(Token.Digit._5) }
|
KeyboardButtonLight(bModifier, UnittoIcons.Key5, allowVibration) { addDigit(Token.Digit._5) }
|
||||||
KeyboardButtonLight(bModifier, UnittoIcons.Key6, allowVibration) { addDigit(Token.Digit._6) }
|
KeyboardButtonLight(bModifier, UnittoIcons.Key6, allowVibration) { addDigit(Token.Digit._6) }
|
||||||
KeyboardButtonFilled(bModifier, UnittoIcons.Multiply, allowVibration) { addDigit(Token.Operator.multiply) }
|
KeyboardButtonFilled(bModifier, UnittoIcons.Multiply, allowVibration) { addDigit(Token.Operator.multiply) }
|
||||||
}
|
}
|
||||||
Row(cModifier, horizontalArrangement) {
|
Row(cModifier) {
|
||||||
KeyboardButtonLight(bModifier, UnittoIcons.Key1, allowVibration) { addDigit(Token.Digit._1) }
|
KeyboardButtonLight(bModifier, UnittoIcons.Key1, allowVibration) { addDigit(Token.Digit._1) }
|
||||||
KeyboardButtonLight(bModifier, UnittoIcons.Key2, allowVibration) { addDigit(Token.Digit._2) }
|
KeyboardButtonLight(bModifier, UnittoIcons.Key2, allowVibration) { addDigit(Token.Digit._2) }
|
||||||
KeyboardButtonLight(bModifier, UnittoIcons.Key3, allowVibration) { addDigit(Token.Digit._3) }
|
KeyboardButtonLight(bModifier, UnittoIcons.Key3, allowVibration) { addDigit(Token.Digit._3) }
|
||||||
KeyboardButtonFilled(bModifier, UnittoIcons.Minus, allowVibration) { addDigit(Token.Operator.minus) }
|
KeyboardButtonFilled(bModifier, UnittoIcons.Minus, allowVibration) { addDigit(Token.Operator.minus) }
|
||||||
}
|
}
|
||||||
Row(cModifier, horizontalArrangement) {
|
Row(cModifier) {
|
||||||
if (middleZero) {
|
if (middleZero) {
|
||||||
KeyboardButtonLight(bModifier, fractionalIcon, allowVibration) { addDigit(Token.Digit.dot) }
|
KeyboardButtonLight(bModifier, fractionalIcon, allowVibration) { addDigit(Token.Digit.dot) }
|
||||||
KeyboardButtonLight(bModifier, UnittoIcons.Key0, allowVibration) { addDigit(Token.Digit._0) }
|
KeyboardButtonLight(bModifier, UnittoIcons.Key0, allowVibration) { addDigit(Token.Digit._0) }
|
||||||
@ -124,42 +131,75 @@ internal fun NumberBaseKeyboard(
|
|||||||
allowVibration: Boolean
|
allowVibration: Boolean
|
||||||
) {
|
) {
|
||||||
ColumnWithConstraints(modifier) {
|
ColumnWithConstraints(modifier) {
|
||||||
|
val mainButtonHorizontalPadding by remember {
|
||||||
|
derivedStateOf { (it.maxWidth * 0.01f) }
|
||||||
|
}
|
||||||
|
|
||||||
// Button modifier
|
// Button modifier
|
||||||
val bModifier = Modifier
|
val bModifier = Modifier
|
||||||
.fillMaxSize()
|
.fillMaxSize()
|
||||||
.weight(1f)
|
.weight(1f)
|
||||||
|
.padding(mainButtonHorizontalPadding)
|
||||||
// Column modifier
|
// Column modifier
|
||||||
val cModifier = Modifier.weight(1f).padding(vertical = it.maxHeight * 0.01f)
|
val cModifier = Modifier.weight(1f)
|
||||||
val horizontalArrangement = Arrangement.spacedBy(it.maxWidth * 0.03f)
|
Row(cModifier) {
|
||||||
Row(cModifier, horizontalArrangement) {
|
|
||||||
KeyboardButtonFilled(bModifier, UnittoIcons.KeyA, allowVibration) { addDigit(Token.Letter._A) }
|
KeyboardButtonFilled(bModifier, UnittoIcons.KeyA, allowVibration) { addDigit(Token.Letter._A) }
|
||||||
KeyboardButtonFilled(bModifier, UnittoIcons.KeyB, allowVibration) { addDigit(Token.Letter._B) }
|
KeyboardButtonFilled(bModifier, UnittoIcons.KeyB, allowVibration) { addDigit(Token.Letter._B) }
|
||||||
KeyboardButtonFilled(bModifier, UnittoIcons.KeyC, allowVibration) { addDigit(Token.Letter._C) }
|
KeyboardButtonFilled(bModifier, UnittoIcons.KeyC, allowVibration) { addDigit(Token.Letter._C) }
|
||||||
}
|
}
|
||||||
Row(cModifier, horizontalArrangement) {
|
Row(cModifier) {
|
||||||
KeyboardButtonFilled(bModifier, UnittoIcons.KeyD, allowVibration) { addDigit(Token.Letter._D) }
|
KeyboardButtonFilled(bModifier, UnittoIcons.KeyD, allowVibration) { addDigit(Token.Letter._D) }
|
||||||
KeyboardButtonFilled(bModifier, UnittoIcons.KeyE, allowVibration) { addDigit(Token.Letter._E) }
|
KeyboardButtonFilled(bModifier, UnittoIcons.KeyE, allowVibration) { addDigit(Token.Letter._E) }
|
||||||
KeyboardButtonFilled(bModifier, UnittoIcons.KeyF, allowVibration) { addDigit(Token.Letter._F) }
|
KeyboardButtonFilled(bModifier, UnittoIcons.KeyF, allowVibration) { addDigit(Token.Letter._F) }
|
||||||
}
|
}
|
||||||
Row(cModifier, horizontalArrangement) {
|
Row(cModifier) {
|
||||||
KeyboardButtonLight(bModifier, UnittoIcons.Key7, allowVibration) { addDigit(Token.Digit._7) }
|
KeyboardButtonLight(bModifier, UnittoIcons.Key7, allowVibration) { addDigit(Token.Digit._7) }
|
||||||
KeyboardButtonLight(bModifier, UnittoIcons.Key8, allowVibration) { addDigit(Token.Digit._8) }
|
KeyboardButtonLight(bModifier, UnittoIcons.Key8, allowVibration) { addDigit(Token.Digit._8) }
|
||||||
KeyboardButtonLight(bModifier, UnittoIcons.Key9, allowVibration) { addDigit(Token.Digit._9) }
|
KeyboardButtonLight(bModifier, UnittoIcons.Key9, allowVibration) { addDigit(Token.Digit._9) }
|
||||||
}
|
}
|
||||||
Row(cModifier, horizontalArrangement) {
|
Row(cModifier) {
|
||||||
KeyboardButtonLight(bModifier, UnittoIcons.Key4, allowVibration) { addDigit(Token.Digit._4) }
|
KeyboardButtonLight(bModifier, UnittoIcons.Key4, allowVibration) { addDigit(Token.Digit._4) }
|
||||||
KeyboardButtonLight(bModifier, UnittoIcons.Key5, allowVibration) { addDigit(Token.Digit._5) }
|
KeyboardButtonLight(bModifier, UnittoIcons.Key5, allowVibration) { addDigit(Token.Digit._5) }
|
||||||
KeyboardButtonLight(bModifier, UnittoIcons.Key6, allowVibration) { addDigit(Token.Digit._6) }
|
KeyboardButtonLight(bModifier, UnittoIcons.Key6, allowVibration) { addDigit(Token.Digit._6) }
|
||||||
}
|
}
|
||||||
Row(cModifier, horizontalArrangement) {
|
Row(cModifier) {
|
||||||
KeyboardButtonLight(bModifier, UnittoIcons.Key1, allowVibration) { addDigit(Token.Digit._1) }
|
KeyboardButtonLight(bModifier, UnittoIcons.Key1, allowVibration) { addDigit(Token.Digit._1) }
|
||||||
KeyboardButtonLight(bModifier, UnittoIcons.Key2, allowVibration) { addDigit(Token.Digit._2) }
|
KeyboardButtonLight(bModifier, UnittoIcons.Key2, allowVibration) { addDigit(Token.Digit._2) }
|
||||||
KeyboardButtonLight(bModifier, UnittoIcons.Key3, allowVibration) { addDigit(Token.Digit._3) }
|
KeyboardButtonLight(bModifier, UnittoIcons.Key3, allowVibration) { addDigit(Token.Digit._3) }
|
||||||
}
|
}
|
||||||
Row(cModifier, horizontalArrangement) {
|
Row(cModifier) {
|
||||||
KeyboardButtonLight(bModifier, UnittoIcons.Key0, allowVibration) { addDigit(Token.Digit._0) }
|
KeyboardButtonLight(bModifier, UnittoIcons.Key0, allowVibration) { addDigit(Token.Digit._0) }
|
||||||
KeyboardButtonLight(
|
KeyboardButtonLight(
|
||||||
Modifier.fillMaxSize().weight(2f).padding(it.maxWidth * 0.015f, it.maxHeight * 0.008f), UnittoIcons.Backspace, allowVibration, onLongClick = clearInput) { deleteDigit() }
|
Modifier
|
||||||
|
.fillMaxSize()
|
||||||
|
.weight(2f)
|
||||||
|
.padding(mainButtonHorizontalPadding), UnittoIcons.Backspace, allowVibration, onLongClick = clearInput) { deleteDigit() }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Preview
|
||||||
|
@Composable
|
||||||
|
private fun PreviewConverterKeyboard() {
|
||||||
|
DefaultKeyboard(
|
||||||
|
modifier = Modifier,
|
||||||
|
addDigit = {},
|
||||||
|
clearInput = {},
|
||||||
|
deleteDigit = {},
|
||||||
|
allowVibration = false,
|
||||||
|
fractional = FormatterSymbols.Spaces.fractional,
|
||||||
|
middleZero = false
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Preview
|
||||||
|
@Composable
|
||||||
|
private fun PreviewConverterKeyboardNumberBase() {
|
||||||
|
NumberBaseKeyboard(
|
||||||
|
modifier = Modifier,
|
||||||
|
addDigit = {},
|
||||||
|
clearInput = {},
|
||||||
|
deleteDigit = {},
|
||||||
|
allowVibration = false,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user