Fix AwakeningSelectWithInput styles and functionality
* Adapts styles for CSS modules * Properly sends validity * Reordered errors
This commit is contained in:
parent
0b42582434
commit
1c805e3f88
2 changed files with 33 additions and 36 deletions
|
|
@ -1,23 +1,11 @@
|
||||||
.SelectWithItem {
|
.set {
|
||||||
.InputSet {
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
gap: $unit;
|
gap: $unit;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
.SelectTrigger {
|
.errors {
|
||||||
flex-grow: 1;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.Input {
|
|
||||||
flex-grow: 0;
|
|
||||||
text-align: right;
|
|
||||||
width: 13rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.errors {
|
|
||||||
color: $error;
|
color: $error;
|
||||||
display: none;
|
display: none;
|
||||||
padding: $unit 0;
|
padding: $unit 0;
|
||||||
|
|
@ -25,5 +13,4 @@
|
||||||
&.visible {
|
&.visible {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -59,13 +59,13 @@ const AwakeningSelectWithInput = ({
|
||||||
|
|
||||||
// Classes
|
// Classes
|
||||||
const inputClasses = classNames({
|
const inputClasses = classNames({
|
||||||
Bound: true,
|
fullHeight: true,
|
||||||
Hidden: currentAwakening === undefined || currentAwakening.id === '0',
|
range: true,
|
||||||
})
|
})
|
||||||
|
|
||||||
const errorClasses = classNames({
|
const errorClasses = classNames({
|
||||||
errors: true,
|
[styles.errors]: true,
|
||||||
visible: error !== '',
|
[styles.visible]: error !== '',
|
||||||
})
|
})
|
||||||
|
|
||||||
// Hooks
|
// Hooks
|
||||||
|
|
@ -138,7 +138,9 @@ const AwakeningSelectWithInput = ({
|
||||||
let error = ''
|
let error = ''
|
||||||
|
|
||||||
if (currentAwakening) {
|
if (currentAwakening) {
|
||||||
if (value < 1) {
|
if (value && value % 1 != 0) {
|
||||||
|
error = t(`awakening.errors.value_not_whole`)
|
||||||
|
} else if (value < 1) {
|
||||||
error = t(`awakening.errors.value_too_low`, {
|
error = t(`awakening.errors.value_too_low`, {
|
||||||
minValue: 1,
|
minValue: 1,
|
||||||
})
|
})
|
||||||
|
|
@ -146,8 +148,6 @@ const AwakeningSelectWithInput = ({
|
||||||
error = t(`awakening.errors.value_too_high`, {
|
error = t(`awakening.errors.value_too_high`, {
|
||||||
maxValue: maxLevel,
|
maxValue: maxLevel,
|
||||||
})
|
})
|
||||||
} else if (value % 1 != 0) {
|
|
||||||
error = t(`awakening.errors.value_not_whole`)
|
|
||||||
} else if (!value || value <= 0) {
|
} else if (!value || value <= 0) {
|
||||||
error = t(`awakening.errors.value_empty`)
|
error = t(`awakening.errors.value_empty`)
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -160,7 +160,10 @@ const AwakeningSelectWithInput = ({
|
||||||
if (error.length > 0) {
|
if (error.length > 0) {
|
||||||
sendValidity(false)
|
sendValidity(false)
|
||||||
return false
|
return false
|
||||||
} else return true
|
} else {
|
||||||
|
sendValidity(true)
|
||||||
|
return true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const rangeString = () => {
|
const rangeString = () => {
|
||||||
|
|
@ -176,8 +179,8 @@ const AwakeningSelectWithInput = ({
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="SelectWithItem">
|
<div>
|
||||||
<div className="InputSet">
|
<div className={styles.set}>
|
||||||
<Select
|
<Select
|
||||||
key="awakening-type"
|
key="awakening-type"
|
||||||
value={`${awakening ? awakening.id : defaultAwakening.id}`}
|
value={`${awakening ? awakening.id : defaultAwakening.id}`}
|
||||||
|
|
@ -186,7 +189,9 @@ const AwakeningSelectWithInput = ({
|
||||||
onValueChange={handleSelectChange}
|
onValueChange={handleSelectChange}
|
||||||
onOpenChange={changeOpen}
|
onOpenChange={changeOpen}
|
||||||
onClose={onClose}
|
onClose={onClose}
|
||||||
triggerClass="modal"
|
trigger={{
|
||||||
|
className: 'grow',
|
||||||
|
}}
|
||||||
overlayVisible={false}
|
overlayVisible={false}
|
||||||
>
|
>
|
||||||
{generateOptions()}
|
{generateOptions()}
|
||||||
|
|
@ -195,6 +200,11 @@ const AwakeningSelectWithInput = ({
|
||||||
<Input
|
<Input
|
||||||
value={level ? level : 1}
|
value={level ? level : 1}
|
||||||
className={inputClasses}
|
className={inputClasses}
|
||||||
|
fieldsetClassName={classNames({
|
||||||
|
hidden:
|
||||||
|
currentAwakening === undefined || currentAwakening.id === '0',
|
||||||
|
})}
|
||||||
|
wrapperClassName="fullHeight"
|
||||||
type="number"
|
type="number"
|
||||||
placeholder={rangeString()}
|
placeholder={rangeString()}
|
||||||
min={1}
|
min={1}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue