https://dev.kronoz.win/r/marzneshin.git
1import {
2 Alert,
3 AlertDescription,
4 AlertTitle,
5 Card,
6 CardContent,
7 CardFooter,
8 CardHeader,
9 CardTitle,
10 Page
11} from '@marzneshin/components';
12import { NodesTable } from '@marzneshin/features/nodes';
13import { Link, createFileRoute } from '@tanstack/react-router'
14import { Info } from 'lucide-react';
15import { FC } from 'react';
16import { useTranslation } from 'react-i18next';
17
18export const NodesPage: FC = () => {
19 const { t } = useTranslation();
20 return (
21 <Page>
22 <Card className="border-0 sm:w-screen md:w-full">
23 <CardHeader>
24 <CardTitle>
25 {t('nodes')}
26 </CardTitle>
27 </CardHeader>
28 <CardContent>
29 <NodesTable />
30 </CardContent>
31 <CardFooter>
32 <Alert>
33 <Info className="mr-2" />
34 <AlertTitle className="font-semibold text-primary">{t('page.nodes.certificate-alert.title')}</AlertTitle>
35 <AlertDescription>
36 {t('page.nodes.certificate-alert.desc')}
37 <Link className="m-1 font-semibold text-secondary-foreground" to="/settings">{t('page.nodes.certificate-alert.click')}</Link>
38 </AlertDescription>
39 </Alert>
40 </CardFooter>
41 </Card >
42 </Page>
43 )
44};
45
46export const Route = createFileRoute('/_dashboard/nodes')({
47 component: () => <NodesPage />
48})