gonets/FRONT/BUILD/resources/app/src/router.tsx
2025-06-19 13:16:59 +05:00

43 lines
No EOL
1.2 KiB
TypeScript

import { Routes, Route, Outlet } from 'react-router-dom';
import WorkSpace from './components/workSpace/workSpace';
import { useIpStore } from './store';
import { useEffect, useState } from 'react';
import { NetworkService } from './api/request';
import { CreateUser } from './components/register';
import RouterLoader from './components/UI/routerLoader';
export default function Router() {
const { ipAddress } = useIpStore();
const [configExists, setConfigExists] = useState<boolean | null>(null);
useEffect(() => {
const fetchServerConf = async () => {
try {
let response = await NetworkService.checkServerConf(ipAddress);
if(response.status === 200) {
setConfigExists(response.data.has_users);
}
} catch (error) {
console.error('Error checking server config:', error);
setConfigExists(false);
}
};
fetchServerConf();
}, [ipAddress]);
if (configExists === null) {
return <RouterLoader loaderText='Идёт загрузка данных'/>
}
if (configExists === false) {
return <CreateUser/>;
}
return (
<Routes>
<Route path='/' element={<WorkSpace />} />
</Routes>
);
}