https://dev.kronoz.win/r/marzneshin.git
| 1 |
857e289 |
Mrdn |
2y ago |
import { Alert, AlertDescription, AlertTitle, Card, CardContent, CardFooter, CardHeader, CardTitle } from '@marzneshin/components'; |
| 2 |
857e289 |
Mrdn |
2y ago |
import { useServicesQuery } from '@marzneshin/features/services'; |
| 3 |
857e289 |
Mrdn |
2y ago |
import { UsersTable } from '@marzneshin/features/users'; |
| 4 |
857e289 |
Mrdn |
2y ago |
import { ExclamationTriangleIcon } from '@radix-ui/react-icons'; |
| 5 |
857e289 |
Mrdn |
2y ago |
import { Link, createFileRoute } from '@tanstack/react-router' |
| 6 |
3b7feef |
Mrdn |
2y ago |
import { FC } from 'react'; |
| 7 |
3b7feef |
Mrdn |
2y ago |
import { useTranslation } from 'react-i18next'; |
| 8 |
3b7feef |
Mrdn |
2y ago |
|
| 9 |
3b7feef |
Mrdn |
2y ago |
|
| 10 |
3b7feef |
Mrdn |
2y ago |
export const UsersPage: FC = () => { |
| 11 |
857e289 |
Mrdn |
2y ago |
const { data } = useServicesQuery(); |
| 12 |
3b7feef |
Mrdn |
2y ago |
const { t } = useTranslation(); |
| 13 |
3b7feef |
Mrdn |
2y ago |
return ( |
| 14 |
3b7feef |
Mrdn |
2y ago |
<Card className="m-3"> |
| 15 |
3b7feef |
Mrdn |
2y ago |
<CardHeader> |
| 16 |
3b7feef |
Mrdn |
2y ago |
<CardTitle> |
| 17 |
3b7feef |
Mrdn |
2y ago |
{t('users')} |
| 18 |
3b7feef |
Mrdn |
2y ago |
</CardTitle> |
| 19 |
3b7feef |
Mrdn |
2y ago |
</CardHeader> |
| 20 |
3b7feef |
Mrdn |
2y ago |
<CardContent> |
| 21 |
857e289 |
Mrdn |
2y ago |
<UsersTable /> |
| 22 |
3b7feef |
Mrdn |
2y ago |
</CardContent> |
| 23 |
3b7feef |
Mrdn |
2y ago |
<CardFooter> |
| 24 |
857e289 |
Mrdn |
2y ago |
{(data && data.length === 0) && ( |
| 25 |
857e289 |
Mrdn |
2y ago |
<Alert> |
| 26 |
857e289 |
Mrdn |
2y ago |
<ExclamationTriangleIcon className="mr-2" /> |
| 27 |
857e289 |
Mrdn |
2y ago |
<AlertTitle className="font-semibold text-primary">{t('page.users.services-alert.title')}</AlertTitle> |
| 28 |
857e289 |
Mrdn |
2y ago |
<AlertDescription> |
| 29 |
857e289 |
Mrdn |
2y ago |
{t('page.users.services-alert.desc')} |
| 30 |
857e289 |
Mrdn |
2y ago |
<Link className="m-1 font-semibold text-secondary-foreground" to="/services">{t('page.nodes.certificate-alert.click')}</Link> |
| 31 |
857e289 |
Mrdn |
2y ago |
</AlertDescription> |
| 32 |
857e289 |
Mrdn |
2y ago |
</Alert> |
| 33 |
857e289 |
Mrdn |
2y ago |
)} |
| 34 |
3b7feef |
Mrdn |
2y ago |
</CardFooter> |
| 35 |
3b7feef |
Mrdn |
2y ago |
</Card > |
| 36 |
3b7feef |
Mrdn |
2y ago |
) |
| 37 |
3b7feef |
Mrdn |
2y ago |
}; |
| 38 |
3b7feef |
Mrdn |
2y ago |
|
| 39 |
1eb203e |
Mrdn |
2y ago |
|
| 40 |
1eb203e |
Mrdn |
2y ago |
export const Route = createFileRoute('/_dashboard/users')({ |
| 41 |
3b7feef |
Mrdn |
2y ago |
component: () => <UsersPage /> |
| 42 |
3b7feef |
Mrdn |
2y ago |
}) |