pl-fe: restore state correctly in durationselector
Signed-off-by: Nicole Mikołajczyk <git@mkljczk.pl>
This commit is contained in:
@ -11,16 +11,17 @@ const messages = defineMessages({
|
||||
|
||||
interface IDurationSelector {
|
||||
onDurationChange(expiresIn: number): void;
|
||||
value: number;
|
||||
}
|
||||
|
||||
const DurationSelector = ({ onDurationChange }: IDurationSelector) => {
|
||||
const DurationSelector = ({ onDurationChange, value }: IDurationSelector) => {
|
||||
const intl = useIntl();
|
||||
|
||||
const [days, setDays] = useState<number>(2);
|
||||
const [hours, setHours] = useState<number>(0);
|
||||
const [minutes, setMinutes] = useState<number>(0);
|
||||
const [days, setDays] = useState<number>(Math.floor(value / (24 * 60 * 60)));
|
||||
const [hours, setHours] = useState<number>(Math.floor((value % (24 * 60 * 60)) / (60 * 60)));
|
||||
const [minutes, setMinutes] = useState<number>(Math.floor((value % (60 * 60)) / 60));
|
||||
|
||||
const value = (days * 24 * 60 * 60) + (hours * 60 * 60) + (minutes * 60);
|
||||
const newValue = (days * 24 * 60 * 60) + (hours * 60 * 60) + (minutes * 60);
|
||||
|
||||
useEffect(() => {
|
||||
if (days === 7) {
|
||||
@ -30,8 +31,8 @@ const DurationSelector = ({ onDurationChange }: IDurationSelector) => {
|
||||
}, [days]);
|
||||
|
||||
useEffect(() => {
|
||||
onDurationChange(value);
|
||||
}, [value]);
|
||||
onDurationChange(newValue);
|
||||
}, [newValue]);
|
||||
|
||||
return (
|
||||
<div className='grid grid-cols-1 gap-2 sm:grid-cols-3'>
|
||||
|
||||
@ -203,7 +203,7 @@ const PollForm: React.FC<IPollForm> = ({ composeId }) => {
|
||||
{intl.formatMessage(messages.pollDuration)}
|
||||
</Text>
|
||||
|
||||
<DurationSelector onDurationChange={handleSelectDuration} />
|
||||
<DurationSelector onDurationChange={handleSelectDuration} value={expiresIn || (2 * 24 * 60 * 60)} />
|
||||
</Stack>
|
||||
|
||||
{/* Remove Poll */}
|
||||
|
||||
@ -108,7 +108,7 @@ const MuteModal: React.FC<MuteModalProps & BaseModalProps> = ({ accountId, onClo
|
||||
<Stack space={2}>
|
||||
<Text weight='medium'><FormattedMessage id='mute_modal.duration' defaultMessage='Duration' />: </Text>
|
||||
|
||||
<DurationSelector onDurationChange={handleChangeMuteDuration} />
|
||||
<DurationSelector onDurationChange={handleChangeMuteDuration} value={duration} />
|
||||
</Stack>
|
||||
)}
|
||||
</>
|
||||
|
||||
Reference in New Issue
Block a user