gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/routes/_dashboard/nodes.lazy.tsx · v0.4.1
Source
1 0ef1346 Mrdn 2y ago import {
2 e5dcd82 Dawsh 2y ago Alert,
3 e5dcd82 Dawsh 2y ago AlertDescription,
4 e5dcd82 Dawsh 2y ago AlertTitle,
5 e5dcd82 Dawsh 2y ago Card,
6 e5dcd82 Dawsh 2y ago CardContent,
7 e5dcd82 Dawsh 2y ago CardFooter,
8 e5dcd82 Dawsh 2y ago CardHeader,
9 e5dcd82 Dawsh 2y ago CardTitle,
10 03b3dbc Mardin 2y ago Page,
11 03b3dbc Mardin 2y ago Loading,
12 0ef1346 Mrdn 2y ago } from '@marzneshin/components';
13 b15ff05 Mrdn 2y ago import { NodesTable } from '@marzneshin/features/nodes';
14 03b3dbc Mardin 2y ago import { Link, createFileRoute, Outlet } from '@tanstack/react-router'
15 b15ff05 Mrdn 2y ago import { Info } from 'lucide-react';
16 03b3dbc Mardin 2y ago import { type FC, Suspense } from 'react';
17 b15ff05 Mrdn 2y ago import { useTranslation } from 'react-i18next';
18 9ddfbc8 Mardin 2y ago import { SudoRoute } from "@marzneshin/features/sudo-routes";
19 b15ff05 Mrdn 2y ago
20 b15ff05 Mrdn 2y ago export const NodesPage: FC = () => {
21 e5dcd82 Dawsh 2y ago const { t } = useTranslation();
22 e5dcd82 Dawsh 2y ago return (
23 e5dcd82 Dawsh 2y ago <Page>
24 e5dcd82 Dawsh 2y ago <Card className="border-0 sm:w-screen md:w-full">
25 e5dcd82 Dawsh 2y ago <CardHeader>
26 e5dcd82 Dawsh 2y ago <CardTitle>
27 e5dcd82 Dawsh 2y ago {t('nodes')}
28 e5dcd82 Dawsh 2y ago </CardTitle>
29 e5dcd82 Dawsh 2y ago </CardHeader>
30 e5dcd82 Dawsh 2y ago <CardContent>
31 e5dcd82 Dawsh 2y ago <NodesTable />
32 03b3dbc Mardin 2y ago <Suspense fallback={<Loading />}>
33 03b3dbc Mardin 2y ago <Outlet />
34 03b3dbc Mardin 2y ago </Suspense>
35 e5dcd82 Dawsh 2y ago </CardContent>
36 e5dcd82 Dawsh 2y ago <CardFooter>
37 e5dcd82 Dawsh 2y ago <Alert>
38 e5dcd82 Dawsh 2y ago <Info className="mr-2" />
39 e5dcd82 Dawsh 2y ago <AlertTitle className="font-semibold text-primary">{t('page.nodes.certificate-alert.title')}</AlertTitle>
40 e5dcd82 Dawsh 2y ago <AlertDescription>
41 e5dcd82 Dawsh 2y ago {t('page.nodes.certificate-alert.desc')}
42 e5dcd82 Dawsh 2y ago <Link className="m-1 font-semibold text-secondary-foreground" to="/settings">{t('page.nodes.certificate-alert.click')}</Link>
43 e5dcd82 Dawsh 2y ago </AlertDescription>
44 e5dcd82 Dawsh 2y ago </Alert>
45 e5dcd82 Dawsh 2y ago </CardFooter>
46 e5dcd82 Dawsh 2y ago </Card >
47 e5dcd82 Dawsh 2y ago </Page>
48 e5dcd82 Dawsh 2y ago )
49 b15ff05 Mrdn 2y ago };
50 1eb203e Mrdn 2y ago
51 1eb203e Mrdn 2y ago export const Route = createFileRoute('/_dashboard/nodes')({
52 9ddfbc8 Mardin 2y ago component: () => <SudoRoute> <NodesPage /> </SudoRoute>
53 b15ff05 Mrdn 2y ago })