|
|
|
|
@ -1,5 +1,5 @@
|
|
|
|
|
'use client'
|
|
|
|
|
import React, { useEffect, useReducer } from 'react'
|
|
|
|
|
import React, { type Reducer, useEffect, useReducer } from 'react'
|
|
|
|
|
import { useTranslation } from 'react-i18next'
|
|
|
|
|
import Link from 'next/link'
|
|
|
|
|
import useSWR from 'swr'
|
|
|
|
|
@ -20,7 +20,14 @@ type IState = {
|
|
|
|
|
timezone: string
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const reducer = (state: IState, action: any) => {
|
|
|
|
|
type IAction =
|
|
|
|
|
| { type: 'failed', payload: null }
|
|
|
|
|
| { type: 'invitation_code', value: string }
|
|
|
|
|
| { type: 'interface_language', value: string }
|
|
|
|
|
| { type: 'timezone', value: string }
|
|
|
|
|
| { type: 'formState', value: 'processing' }
|
|
|
|
|
|
|
|
|
|
const reducer: Reducer<IState, IAction> = (state: IState, action: IAction) => {
|
|
|
|
|
switch (action.type) {
|
|
|
|
|
case 'invitation_code':
|
|
|
|
|
return { ...state, invitation_code: action.value }
|
|
|
|
|
@ -120,7 +127,7 @@ const OneMoreStep = () => {
|
|
|
|
|
defaultValue={LanguagesSupported[0]}
|
|
|
|
|
items={languages.filter(item => item.supported)}
|
|
|
|
|
onSelect={(item) => {
|
|
|
|
|
dispatch({ type: 'interface_language', value: item.value })
|
|
|
|
|
dispatch({ type: 'interface_language', value: item.value as typeof LanguagesSupported[number] })
|
|
|
|
|
}}
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
@ -134,7 +141,7 @@ const OneMoreStep = () => {
|
|
|
|
|
defaultValue={state.timezone}
|
|
|
|
|
items={timezones}
|
|
|
|
|
onSelect={(item) => {
|
|
|
|
|
dispatch({ type: 'timezone', value: item.value })
|
|
|
|
|
dispatch({ type: 'timezone', value: item.value as typeof state.timezone })
|
|
|
|
|
}}
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
|