| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- import { createSlice } from "@reduxjs/toolkit";
- interface dayState {
- sunRise: string | '06:00',
- sunSet: string | '18:00',
- sunRiseTomorrow: string | '06:00',
- sunSetTomorrow: string | '18:00',
- showDayRing: boolean | false,
- isMember: boolean | false,
- gpsInfo: Object | null,
- dayRingSunrise: string | '06:00',
- dayRingSunset: string | '18:00',
- dayRingDate: any | null,
- }
- const initialState: dayState = {
- sunRise: '06:00',
- sunSet: '18:00',
- sunRiseTomorrow: '06:00',
- sunSetTomorrow: '18:00',
- showDayRing: false,
- isMember: false,
- gpsInfo: null,
- dayRingSunrise: '06:00',
- dayRingSunset: '18:00',
- dayRingDate: 0,
- }
- const daySlice = createSlice({
- name: 'day',
- initialState,
- reducers: {
- showDay(state, action) {
- state.showDayRing = action.payload;
- },
- setDayRingData(state, action) {
- const { sunrise, sunset, date } = action.payload
- state.dayRingDate = date+'';
- state.dayRingSunrise = sunrise
- state.dayRingSunset = 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
- }
- },
- clearDayStore(state) {
- state.sunRise = '06:00'
- state.sunSet = '18:00'
- state.sunRiseTomorrow = '06:00'
- state.sunSetTomorrow = '18:00'
- state.gpsInfo = null
- state.dayRingSunrise = '06:00'
- state.dayRingSunset = '18:00'
- state.dayRingDate = 0
- state.showDayRing = false
- }
- }
- });
- export default daySlice.reducer;
- export const { showDay, updateMember, setDayRingData, clearDayStore } = daySlice.actions;
|