import React, { useMemo } from "react";
import App from "./App";
import { BrowserRouter, Navigate, Route, Routes, useLocation } from "react-router-dom";
import { useTuitioToken } from "@flare/tuitio-client-react";
import LoginContainer from "../features/login/components/LoginContainer";
const PrivateRoute = ({ children }: { children: React.ReactElement }): React.ReactElement => {
const { valid } = useTuitioToken();
const location = useLocation();
return valid ? (
children
) : (
);
};
const PublicRoute = ({ children }: { children: React.ReactElement }): React.ReactElement => {
const location = useLocation();
const { valid } = useTuitioToken();
const to = useMemo(() => {
if (location.state?.from) {
return location.state.from + location.state.search;
}
return "/";
}, [location.state?.from, location.state?.search]);
return valid ? (
) : (
children
);
};
const AppRouter: React.FC = () => {
return (
} />
}
/>
}
/>
);
};
export default AppRouter;