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
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.derivedStateOf
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import com.sadellie.unitto.core.base.Token
|
||||
import com.sadellie.unitto.core.ui.common.ColumnWithConstraints
|
||||
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.RightBracket
|
||||
import com.sadellie.unitto.core.ui.common.key.unittoicons.SquareRoot
|
||||
import com.sadellie.unitto.core.ui.common.textfield.FormatterSymbols
|
||||
|
||||
@Composable
|
||||
internal fun DefaultKeyboard(
|
||||
@ -68,40 +71,44 @@ internal fun DefaultKeyboard(
|
||||
fractional: String,
|
||||
middleZero: Boolean,
|
||||
) {
|
||||
val fractionalIcon = remember { if (fractional == Token.Digit.dot) UnittoIcons.Dot else UnittoIcons.Comma }
|
||||
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
|
||||
val bModifier = Modifier
|
||||
.fillMaxSize()
|
||||
.weight(1f)
|
||||
.padding(mainButtonHorizontalPadding)
|
||||
// Column modifier
|
||||
val cModifier = Modifier.weight(1f).padding(vertical = it.maxHeight * 0.01f)
|
||||
val horizontalArrangement = Arrangement.spacedBy(it.maxWidth * 0.03f)
|
||||
Row(cModifier, horizontalArrangement) {
|
||||
val cModifier = Modifier.weight(1f)
|
||||
Row(cModifier) {
|
||||
KeyboardButtonFilled(bModifier, UnittoIcons.LeftBracket, allowVibration) { addDigit(Token.Operator.leftBracket) }
|
||||
KeyboardButtonFilled(bModifier, UnittoIcons.RightBracket, allowVibration) { addDigit(Token.Operator.rightBracket) }
|
||||
KeyboardButtonFilled(bModifier, UnittoIcons.Exponent, allowVibration) { addDigit(Token.Operator.power) }
|
||||
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.Key8, allowVibration) { addDigit(Token.Digit._8) }
|
||||
KeyboardButtonLight(bModifier, UnittoIcons.Key9, allowVibration) { addDigit(Token.Digit._9) }
|
||||
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.Key5, allowVibration) { addDigit(Token.Digit._5) }
|
||||
KeyboardButtonLight(bModifier, UnittoIcons.Key6, allowVibration) { addDigit(Token.Digit._6) }
|
||||
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.Key2, allowVibration) { addDigit(Token.Digit._2) }
|
||||
KeyboardButtonLight(bModifier, UnittoIcons.Key3, allowVibration) { addDigit(Token.Digit._3) }
|
||||
KeyboardButtonFilled(bModifier, UnittoIcons.Minus, allowVibration) { addDigit(Token.Operator.minus) }
|
||||
}
|
||||
Row(cModifier, horizontalArrangement) {
|
||||
Row(cModifier) {
|
||||
if (middleZero) {
|
||||
KeyboardButtonLight(bModifier, fractionalIcon, allowVibration) { addDigit(Token.Digit.dot) }
|
||||
KeyboardButtonLight(bModifier, UnittoIcons.Key0, allowVibration) { addDigit(Token.Digit._0) }
|
||||
@ -124,42 +131,75 @@ internal fun NumberBaseKeyboard(
|
||||
allowVibration: Boolean
|
||||
) {
|
||||
ColumnWithConstraints(modifier) {
|
||||
val mainButtonHorizontalPadding by remember {
|
||||
derivedStateOf { (it.maxWidth * 0.01f) }
|
||||
}
|
||||
|
||||
// Button modifier
|
||||
val bModifier = Modifier
|
||||
.fillMaxSize()
|
||||
.weight(1f)
|
||||
.padding(mainButtonHorizontalPadding)
|
||||
// Column modifier
|
||||
val cModifier = Modifier.weight(1f).padding(vertical = it.maxHeight * 0.01f)
|
||||
val horizontalArrangement = Arrangement.spacedBy(it.maxWidth * 0.03f)
|
||||
Row(cModifier, horizontalArrangement) {
|
||||
val cModifier = Modifier.weight(1f)
|
||||
Row(cModifier) {
|
||||
KeyboardButtonFilled(bModifier, UnittoIcons.KeyA, allowVibration) { addDigit(Token.Letter._A) }
|
||||
KeyboardButtonFilled(bModifier, UnittoIcons.KeyB, allowVibration) { addDigit(Token.Letter._B) }
|
||||
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.KeyE, allowVibration) { addDigit(Token.Letter._E) }
|
||||
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.Key8, allowVibration) { addDigit(Token.Digit._8) }
|
||||
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.Key5, allowVibration) { addDigit(Token.Digit._5) }
|
||||
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.Key2, allowVibration) { addDigit(Token.Digit._2) }
|
||||
KeyboardButtonLight(bModifier, UnittoIcons.Key3, allowVibration) { addDigit(Token.Digit._3) }
|
||||
}
|
||||
Row(cModifier, horizontalArrangement) {
|
||||
Row(cModifier) {
|
||||
KeyboardButtonLight(bModifier, UnittoIcons.Key0, allowVibration) { addDigit(Token.Digit._0) }
|
||||
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