mirror of
https://github.com/billsonnn/nitro-react.git
synced 2025-02-18 18:02:36 +01:00
Date Condition
This commit is contained in:
parent
a0098d8048
commit
35c542f7db
@ -4,6 +4,7 @@ import { WiredConditionActorIsOnFurniView } from '../views/conditions/actor-is-o
|
|||||||
import { WiredConditionActorIsTeamMemberView } from '../views/conditions/actor-is-team-member/WiredConditionActorIsTeamMemberView';
|
import { WiredConditionActorIsTeamMemberView } from '../views/conditions/actor-is-team-member/WiredConditionActorIsTeamMemberView';
|
||||||
import { WiredConditionActorIsWearingBadgeView } from '../views/conditions/actor-is-wearing-badge/WiredConditionActorIsWearingBadgeView';
|
import { WiredConditionActorIsWearingBadgeView } from '../views/conditions/actor-is-wearing-badge/WiredConditionActorIsWearingBadgeView';
|
||||||
import { WiredConditionActorIsWearingEffectView } from '../views/conditions/actor-is-wearing-effect/WiredConditionActorIsWearingEffectView';
|
import { WiredConditionActorIsWearingEffectView } from '../views/conditions/actor-is-wearing-effect/WiredConditionActorIsWearingEffectView';
|
||||||
|
import { WiredConditionDateRangeView } from '../views/conditions/date-range/WiredConditionDateRangeView';
|
||||||
import { WiredConditionFurniHasAvatarOnView } from '../views/conditions/furni-has-avatar-on/WiredConditionFurniHasAvatarOnView';
|
import { WiredConditionFurniHasAvatarOnView } from '../views/conditions/furni-has-avatar-on/WiredConditionFurniHasAvatarOnView';
|
||||||
import { WiredConditionFurniHasFurniOnView } from '../views/conditions/furni-has-furni-on/WiredConditionFurniHasFurniOnView';
|
import { WiredConditionFurniHasFurniOnView } from '../views/conditions/furni-has-furni-on/WiredConditionFurniHasFurniOnView';
|
||||||
import { WiredConditionFurniHasNotFurniOnView } from '../views/conditions/furni-has-not-furni-on/WiredConditionFurniHasNotFurniOnView';
|
import { WiredConditionFurniHasNotFurniOnView } from '../views/conditions/furni-has-not-furni-on/WiredConditionFurniHasNotFurniOnView';
|
||||||
@ -35,6 +36,8 @@ export function GetWiredConditionLayout(code: number): JSX.Element
|
|||||||
case WiredConditionlayout.ACTOR_IS_WEARING_EFFECT:
|
case WiredConditionlayout.ACTOR_IS_WEARING_EFFECT:
|
||||||
case WiredConditionlayout.NOT_ACTOR_WEARING_EFFECT:
|
case WiredConditionlayout.NOT_ACTOR_WEARING_EFFECT:
|
||||||
return <WiredConditionActorIsWearingEffectView />;
|
return <WiredConditionActorIsWearingEffectView />;
|
||||||
|
case WiredConditionlayout.DATE_RANGE_ACTIVE:
|
||||||
|
return <WiredConditionDateRangeView />;
|
||||||
case WiredConditionlayout.FURNIS_HAVE_AVATARS:
|
case WiredConditionlayout.FURNIS_HAVE_AVATARS:
|
||||||
case WiredConditionlayout.FURNI_NOT_HAVE_HABBO:
|
case WiredConditionlayout.FURNI_NOT_HAVE_HABBO:
|
||||||
return <WiredConditionFurniHasAvatarOnView />;
|
return <WiredConditionFurniHasAvatarOnView />;
|
||||||
|
@ -0,0 +1,62 @@
|
|||||||
|
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 WiredConditionDateRangeView: FC<{}> = props =>
|
||||||
|
{
|
||||||
|
const [ startDate, setStartDate ] = useState('');
|
||||||
|
const [ endDate, setEndDate ] = useState('');
|
||||||
|
const { trigger = null, setIntParams = null } = useWiredContext();
|
||||||
|
|
||||||
|
const dateToString = useCallback((date: Date) =>
|
||||||
|
{
|
||||||
|
return `${date.getFullYear()}/${('0' + (date.getMonth() + 1)).slice(-2)}/${('0' + date.getDate()).slice(-2)} ` + `${('0' + date.getHours()).slice(-2)}:${('0' + date.getMinutes()).slice(-2)}`;
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
useEffect(() =>
|
||||||
|
{
|
||||||
|
if(trigger.intData.length >= 2)
|
||||||
|
{
|
||||||
|
let startDate = new Date();
|
||||||
|
let endDate = new Date();
|
||||||
|
|
||||||
|
if(trigger.intData[0] > 0)
|
||||||
|
startDate = new Date((trigger.intData[0] * 1000));
|
||||||
|
|
||||||
|
if(trigger.intData[1] > 0)
|
||||||
|
endDate = new Date((trigger.intData[1] * 1000));
|
||||||
|
|
||||||
|
setStartDate(dateToString(startDate));
|
||||||
|
setEndDate(dateToString(endDate));
|
||||||
|
}
|
||||||
|
}, [ trigger ]);
|
||||||
|
|
||||||
|
const save = useCallback(() =>
|
||||||
|
{
|
||||||
|
let startDateMili = 0;
|
||||||
|
let endDateMili = 0;
|
||||||
|
|
||||||
|
const startDateInstance = new Date(startDate);
|
||||||
|
const endDateInstance = new Date(endDate);
|
||||||
|
|
||||||
|
if(startDateInstance && endDateInstance)
|
||||||
|
{
|
||||||
|
startDateMili = startDateInstance.getTime() / 1000;
|
||||||
|
endDateMili = endDateInstance.getTime() / 1000;
|
||||||
|
}
|
||||||
|
|
||||||
|
setIntParams([startDateMili, endDateMili]);
|
||||||
|
}, [ startDate, endDate, setIntParams ]);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<WiredConditionBaseView requiresFurni={ WiredFurniType.STUFF_SELECTION_OPTION_NONE } save={ save }>
|
||||||
|
<div className="fw-bold">{ LocalizeText('wiredfurni.params.startdate') }</div>
|
||||||
|
<input type="text" className="form-control form-control-sm" value={ startDate } onChange={ (e) => setStartDate(e.target.value) } />
|
||||||
|
<hr className="my-1 mb-2 bg-dark" />
|
||||||
|
<div className="fw-bold">{ LocalizeText('wiredfurni.params.enddate') }</div>
|
||||||
|
<input type="text" className="form-control form-control-sm" value={ endDate } onChange={ (e) => setEndDate(e.target.value) } />
|
||||||
|
</WiredConditionBaseView>
|
||||||
|
);
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user