Initial commit
Build / run (push) Has been cancelled

This commit is contained in:
maher
2026-05-14 13:42:10 +02:00
commit 511fad8199
4595 changed files with 385164 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
import {ReactElement} from 'react';
import {Navigate, Outlet} from 'react-router-dom';
import {useAuth} from '../use-auth';
import {NotFoundPage} from '@common/ui/not-found-page/not-found-page';
import {useSettings} from '@common/core/settings/use-settings';
interface Props {
children?: ReactElement;
permission?: string;
requireLogin?: boolean;
}
export function AuthRoute({children, permission, requireLogin = true}: Props) {
const {isLoggedIn, hasPermission, isSubscribed} = useAuth();
const {billing} = useSettings();
if (
(requireLogin && !isLoggedIn) ||
(permission && !hasPermission(permission))
) {
if (isLoggedIn) {
return billing.enable && !isSubscribed ? (
<Navigate to="/pricing" replace />
) : (
<NotFoundPage />
);
}
return <Navigate to="/login" replace />;
}
return children || <Outlet />;
}