mirror of
https://github.com/billsonnn/nitro-react.git
synced 2025-02-18 18:02:36 +01:00
Condition User Count
This commit is contained in:
parent
33e2baeb20
commit
49131d0137
@ -11,6 +11,7 @@ import { WiredConditionFurniIsOfTypeView } from '../views/conditions/furni-is-of
|
||||
import { WiredConditionFurniMatchesSnapshotView } from '../views/conditions/furni-matches-snapshot/WiredConditionFurniMatchesSnapshotView';
|
||||
import { WiredConditionTimeElapsedLessView } from '../views/conditions/time-elapsed-less/WiredConditionTimeElapsedLessView';
|
||||
import { WiredConditionTimeElapsedMoreView } from '../views/conditions/time-elapsed-more/WiredConditionTimeElapsedMoreView';
|
||||
import { WiredConditionUserCountInRoomView } from '../views/conditions/user-count-in-room/WiredConditionUserCountInRoomView';
|
||||
import { WiredConditionlayout } from './WiredConditionLayoutCode';
|
||||
|
||||
export function GetWiredConditionLayout(code: number): JSX.Element
|
||||
@ -51,5 +52,8 @@ export function GetWiredConditionLayout(code: number): JSX.Element
|
||||
return <WiredConditionTimeElapsedLessView />;
|
||||
case WiredConditionlayout.TIME_ELAPSED_MORE:
|
||||
return <WiredConditionTimeElapsedMoreView />;
|
||||
case WiredConditionlayout.USER_COUNT_IN:
|
||||
case WiredConditionlayout.NOT_USER_COUNT_IN:
|
||||
return <WiredConditionUserCountInRoomView />;
|
||||
}
|
||||
}
|
||||
|
@ -72,7 +72,7 @@ export const WiredBaseView: FC<WiredBaseViewProps> = props =>
|
||||
<div className="fw-bold">{ LocalizeText('wiredfurni.pickfurnis.caption', [ 'count', 'limit' ], [ '0', '0' ]) }</div>
|
||||
<div>{ LocalizeText('wiredfurni.pickfurnis.desc') }</div>
|
||||
</> }
|
||||
<div className="d-flex mt-2">
|
||||
<div className="d-flex mt-3">
|
||||
<button className="btn btn-success me-2 w-100" onClick={ onSave }>{ LocalizeText('wiredfurni.ready') }</button>
|
||||
<button className="btn btn-secondary w-100" onClick={ close }>{ LocalizeText('cancel') }</button>
|
||||
</div>
|
||||
|
@ -0,0 +1,51 @@
|
||||
import Slider from 'rc-slider/lib/Slider';
|
||||
import { FC, useCallback, useEffect, useState } from 'react';
|
||||
import { LocalizeText } from '../../../../../utils/LocalizeText';
|
||||
import { useWiredContext } from '../../../context/WiredContext';
|
||||
import { WiredFurniType } from '../../../WiredView.types';
|
||||
import { WiredConditionBaseView } from '../base/WiredConditionBaseView';
|
||||
|
||||
export const WiredConditionUserCountInRoomView: FC<{}> = props =>
|
||||
{
|
||||
const [ min, setMin ] = useState(1);
|
||||
const [ max, setMax ] = useState(1);
|
||||
const { trigger = null, setIntParams = null } = useWiredContext();
|
||||
|
||||
useEffect(() =>
|
||||
{
|
||||
if(trigger.intData.length >= 2)
|
||||
{
|
||||
setMin(trigger.intData[0]);
|
||||
setMax(trigger.intData[1]);
|
||||
}
|
||||
}, [ trigger ]);
|
||||
|
||||
const save = useCallback(() =>
|
||||
{
|
||||
setIntParams([min, max]);
|
||||
}, [ min, max, setIntParams ]);
|
||||
|
||||
return (
|
||||
<WiredConditionBaseView requiresFurni={ WiredFurniType.STUFF_SELECTION_OPTION_NONE } save={ save }>
|
||||
<div className="fw-bold">{ LocalizeText('wiredfurni.params.usercountmin', ['value'], [min.toString()]) }</div>
|
||||
<Slider
|
||||
defaultValue={ min }
|
||||
dots={ true }
|
||||
min={ 1 }
|
||||
max={ 50 }
|
||||
step={ 1 }
|
||||
onChange={ event => setMin(event) }
|
||||
/>
|
||||
<hr className="my-1 mb-2 bg-dark" />
|
||||
<div className="fw-bold">{ LocalizeText('wiredfurni.params.usercountmax', ['value'], [max.toString()]) }</div>
|
||||
<Slider
|
||||
defaultValue={ max }
|
||||
dots={ true }
|
||||
min={ 1 }
|
||||
max={ 50 }
|
||||
step={ 1 }
|
||||
onChange={ event => setMax(event) }
|
||||
/>
|
||||
</WiredConditionBaseView>
|
||||
);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user