import { View, Text } from "@tarojs/components"; import Buttons from '@components/Buttons'; import Texts from '@components/Texts'; import Rings from '@components/Rings'; import Footer from '@components/Footer'; import SingleSelect from '../../../components/SingleSelect'; import { ComponentStatus, TextType } from "@utils/types"; import { useTranslation } from 'react-i18next' import './ChooseScenario.scss' import { useState } from "react"; import { useReady } from "@tarojs/taro"; import Taro from "@tarojs/taro"; import { useDispatch, useSelector } from "react-redux"; import { setScenario, setScenarioName } from "@/store/scenario"; import { getPlans } from "@/services/trackTimeDuration"; export default function Component() { const { t } = useTranslation() const dispatch = useDispatch(); const [selIndex,setSelIndex] = useState(0) const [scenarios,setScenarios] = useState([]) const selScenario = useSelector((state: any) => state.scenario); useReady(()=>{ console.log(selScenario) if (selScenario) { if (selScenario.name == 'FAST_SLEEP'){ setSelIndex(2) } else if (selScenario.name == 'SLEEP'){ setSelIndex(1) } else { setSelIndex(0) } } getPlans().then(res=>{ const data = res as { scenarios: any[] }; setScenarios(data.scenarios) }) }) function next() { console.log(scenarios); // var scenario = scenarios[selIndex]; // setScenario(scenario) Taro.navigateTo({ url: '/pages/SetSchedule' }) } function footerContent() { var style = {} switch (selIndex) { case 0: style = { backgroundColor: '#AAFF00' } break; case 1: style = { backgroundColor: '#00FFFF' } break; case 2: style = { background: 'linear-gradient(to right, #AAFF00, #00FFFF)' } break; } return } function items() { const array: any[] = [] array.push( {t('page.choose_scenario.fast')} ); array.push( {t('page.choose_scenario.sleep')} ) array.push( {t('page.choose_scenario.fast_sleep')} ) return array; } function handleItemSelect(index: number) { setSelIndex(index) dispatch(setScenario(scenarios[index]) as any) // dispatch(setScenarioName(scenarios[index].scenario) as any) } return