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