Convert to use SelectWithInput

This commit is contained in:
Justin Edmund 2023-01-05 20:49:17 -08:00
parent d7ab348e4b
commit 8ed97c55fe

View file

@ -1,9 +1,8 @@
import React, { ForwardedRef, useEffect, useState } from 'react' import React, { useEffect, useState } from 'react'
import { useRouter } from 'next/router' import { useRouter } from 'next/router'
import { useTranslation } from 'next-i18next' import { useTranslation } from 'next-i18next'
import Input from '~components/LabelledInput' import SelectWithInput from '~components/SelectWithInput'
import Select from '~components/Select'
import SelectItem from '~components/SelectItem' import SelectItem from '~components/SelectItem'
import classNames from 'classnames' import classNames from 'classnames'
@ -41,6 +40,24 @@ const AwakeningSelect = (props: Props) => {
const [error, setError] = useState('') const [error, setError] = useState('')
// Data
const dataSet = () => {
if (props.object === 'character') return characterAwakening
else {
const weaponDataSet = weaponAwakening
weaponDataSet.unshift({
id: 0,
name: {
en: 'No awakening',
ja: '覚醒なし',
},
})
return weaponDataSet
}
}
// Classes // Classes
const inputClasses = classNames({ const inputClasses = classNames({
Bound: true, Bound: true,
@ -163,37 +180,17 @@ const AwakeningSelect = (props: Props) => {
} }
return ( return (
<div className="AwakeningSelect"> <div className="Awakening">
<div className="AwakeningSet"> <SelectWithInput
<div className="fields"> object={`${props.object}_awakening`}
<Select dataSet={dataSet()}
key="awakening_type" selectValue={awakeningType}
value={`${awakeningType}`} inputValue={awakeningLevel}
open={open} onOpenChange={changeOpen}
onValueChange={handleSelectChange} sendValidity={props.sendValidity}
onOpenChange={() => changeOpen()} sendValues={props.sendValues}
onClose={onClose}
triggerClass="modal"
>
{generateOptions(props.object)}
</Select>
<Input
value={awakeningLevel}
className={inputClasses}
type="number"
placeholder={rangeString(props.object)}
min={1}
max={maxValue}
step="1"
onChange={handleInputChange}
visible={awakeningType !== -1 ? true : false}
ref={awakeningLevelInput}
/> />
</div> </div>
<p className={errorClasses}>{error}</p>
</div>
</div>
) )
} }