gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/features/admins/components/dialogs/settings/index.tsx · v0.5.5
Source
1 4708fcb Dawsh 2y ago import {
2 f5c168d Mardin 2y ago // Button,
3 f5c168d Mardin 2y ago Tabs,
4 f5c168d Mardin 2y ago TabsContent,
5 f5c168d Mardin 2y ago TabsList,
6 f5c168d Mardin 2y ago TabsTrigger,
7 f5c168d Mardin 2y ago Awaiting,
8 f5c168d Mardin 2y ago SettingsInfoSkeleton,
9 f5c168d Mardin 2y ago SettingsDialogProps,
10 f5c168d Mardin 2y ago SettingsDialog,
11 4708fcb Dawsh 2y ago } from "@marzneshin/components";
12 f5c168d Mardin 2y ago import { type AdminType } from "@marzneshin/features/admins";
13 f5c168d Mardin 2y ago import { type FC } from "react";
14 4708fcb Dawsh 2y ago import { AdminInfoTable } from "./admin-info";
15 4708fcb Dawsh 2y ago import { useTranslation } from "react-i18next";
16 4708fcb Dawsh 2y ago
17 4708fcb Dawsh 2y ago interface AdminsSettingsDialogProps extends SettingsDialogProps {
18 f5c168d Mardin 2y ago entity: AdminType | null;
19 f5c168d Mardin 2y ago onClose: () => void;
20 f5c168d Mardin 2y ago isPending: boolean;
21 4708fcb Dawsh 2y ago }
22 4708fcb Dawsh 2y ago
23 4708fcb Dawsh 2y ago export const AdminsSettingsDialog: FC<AdminsSettingsDialogProps> = ({
24 f5c168d Mardin 2y ago onOpenChange,
25 f5c168d Mardin 2y ago open,
26 f5c168d Mardin 2y ago entity,
27 f5c168d Mardin 2y ago onClose,
28 f5c168d Mardin 2y ago isPending,
29 4708fcb Dawsh 2y ago }) => {
30 f5c168d Mardin 2y ago const { t } = useTranslation();
31 4708fcb Dawsh 2y ago
32 f5c168d Mardin 2y ago return (
33 f5c168d Mardin 2y ago <SettingsDialog open={open} onClose={onClose} onOpenChange={onOpenChange}>
34 f5c168d Mardin 2y ago <Awaiting
35 f5c168d Mardin 2y ago Component={
36 f5c168d Mardin 2y ago entity ? (
37 f5c168d Mardin 2y ago <Tabs defaultValue="info" className="w-full h-full">
38 f5c168d Mardin 2y ago <TabsList className="w-full bg-accent">
39 f5c168d Mardin 2y ago <TabsTrigger className="w-full" value="info">
40 f5c168d Mardin 2y ago {t("admin_info")}
41 f5c168d Mardin 2y ago </TabsTrigger>
42 f5c168d Mardin 2y ago <TabsTrigger className="w-full" value="services">
43 f5c168d Mardin 2y ago {t("services")}
44 f5c168d Mardin 2y ago </TabsTrigger>
45 f5c168d Mardin 2y ago <TabsTrigger className="w-full" value="subscription">
46 f5c168d Mardin 2y ago {t("users")}
47 f5c168d Mardin 2y ago </TabsTrigger>
48 f5c168d Mardin 2y ago </TabsList>
49 f5c168d Mardin 2y ago <TabsContent
50 f5c168d Mardin 2y ago value="info"
51 f5c168d Mardin 2y ago className="flex flex-col gap-2 w-full h-full"
52 f5c168d Mardin 2y ago >
53 f5c168d Mardin 2y ago <AdminInfoTable admin={entity} />
54 f5c168d Mardin 2y ago </TabsContent>
55 f5c168d Mardin 2y ago <TabsContent value="services">
56 f5c168d Mardin 2y ago {/* <AdminServicesTable admin={entity} /> */}
57 f5c168d Mardin 2y ago </TabsContent>
58 f5c168d Mardin 2y ago <TabsContent value="users">Users</TabsContent>
59 f5c168d Mardin 2y ago </Tabs>
60 f5c168d Mardin 2y ago ) : (
61 f5c168d Mardin 2y ago <div>Not Found</div>
62 f5c168d Mardin 2y ago )
63 f5c168d Mardin 2y ago }
64 f5c168d Mardin 2y ago Skeleton={<SettingsInfoSkeleton />}
65 f5c168d Mardin 2y ago isFetching={isPending}
66 f5c168d Mardin 2y ago />
67 f5c168d Mardin 2y ago </SettingsDialog>
68 f5c168d Mardin 2y ago );
69 4708fcb Dawsh 2y ago };