| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- import { createSlice } from "@reduxjs/toolkit";
- interface nightState {
- sunRise: string | '06:00',
- sunSet: string | '18:00',
- sunRiseTomorrow: string | '06:00',
- sunSetTomorrow: string | '18:00',
- showNightRing: boolean | false,
- isMember: boolean | false,
- gpsInfo: Object | null,
- nightRingSunset: string | '18:00',
- nightRingSunrise: string | '06:00',
- nightRingDate: any | null
- }
- const initialState: nightState = {
- sunRise: '06:00',
- sunSet: '18:00',
- sunRiseTomorrow: '06:00',
- sunSetTomorrow: '18:00',
- showNightRing: false,
- isMember: false,
- gpsInfo: null,
- nightRingSunset: '18:00',
- nightRingSunrise: '06:00',
- nightRingDate: 0,
- }
- const nightSlice = createSlice({
- name: 'night',
- initialState,
- reducers: {
- showNight(state, action) {
- state.showNightRing = action.payload;
- },
- setNightRingData(state, action) {
- const { sunrise, sunset, date } = action.payload
- state.nightRingDate = date;
- state.nightRingSunrise = sunrise
- state.nightRingSunset = sunset
- },
- updateMember(state, action) {
- var isMember = action.payload.isMember;
- var gpsInfo = action.payload.gpsInfo;
- state.isMember = isMember;
- if (isMember && gpsInfo) {
- state.sunRise = '07:00'
- state.sunSet = '19:00'
- state.sunRiseTomorrow = '07:00'
- state.sunSetTomorrow = '19:00'
- state.gpsInfo = gpsInfo
- }
- else {
- state.sunRise = '06:00'
- state.sunSet = '18:00'
- state.sunRiseTomorrow = '06:00'
- state.sunSetTomorrow = '18:00'
- state.gpsInfo = gpsInfo ? gpsInfo : null
- }
- },
- clearNightStore(state) {
- state.sunRise = '06:00'
- state.sunSet = '18:00'
- state.sunRiseTomorrow = '06:00'
- state.sunSetTomorrow = '18:00'
- state.nightRingSunset = '18:00'
- state.nightRingSunrise = '06:00'
- state.showNightRing= false
- state.nightRingDate = 0
- }
- }
- });
- export default nightSlice.reducer;
- export const { showNight, updateMember, setNightRingData, clearNightStore } = nightSlice.actions;
|