import { useCallback, useRef } from 'react'; import { Route, Switch } from 'react-router'; import { RoutePath } from '../../shared/routes'; import SelectLocation from '../components/select-location/SelectLocationContainer'; import { useViewTransitions } from '../lib/transition-hooks'; import ApiAccessMethods from './ApiAccessMethods'; import Debug from './Debug'; import { DeviceRevokedView } from './DeviceRevokedView'; import { EditApiAccessMethod } from './EditApiAccessMethod'; import { EditCustomBridge } from './EditCustomBridge'; import { SetupFinished, TimeAdded, VoucherInput, VoucherVerificationSuccess, } from './ExpiredAccountAddTime'; import ExpiredAccountErrorView from './ExpiredAccountErrorView'; import Filter from './Filter'; import Focus, { IFocusHandle } from './Focus'; import ProblemReport from './ProblemReport'; import SettingsImport from './SettingsImport'; import SettingsTextImport from './SettingsTextImport'; import StateTriggeredNavigation from './StateTriggeredNavigation'; import Support from './Support'; import { Account, AppInfoView, AppUpgradeView, ChangelogView, DaitaSettingsView, LaunchView, LoginView, MainView, ManageDevicesView, MultihopSettingsView, OpenVpnSettingsView, SelectLanguageView, SettingsView, ShadowsocksSettingsView, SplitTunnelingView, TooManyDevicesView, UdpOverTcpSettingsView, UserInterfaceSettingsView, VpnSettingsView, WireguardSettingsView, } from './views'; export default function AppRouter() { const focusRef = useRef(null); const onNavigation = useCallback(() => { focusRef.current?.resetFocus(); }, [focusRef]); const currentLocation = useViewTransitions(onNavigation); return ( <> ); }