← marzneshin
/
v0.5.0
/
dashboard/src/features/services/components/dialogs/settings.dialog.tsx
https://dev.kronoz.win/r/marzneshin.git
1import {
2 SettingsDialogProps,
3 SettingsDialog,
4 Tabs,
5 TabsContent,
6 TabsList,
7 TabsTrigger,
8} from "@marzneshin/components";
9import { type FC } from "react";
10import { useTranslation } from "react-i18next";
11import {
12 ServicesUsersTable,
13 ServiceInboundsTable,
14 ServiceType,
15} from "@marzneshin/features/services";
16
17interface ServicecSettingsDialogProps extends SettingsDialogProps {
18 entity: ServiceType;
19 onClose: () => void;
20}
21
22export const ServiceSettingsDialog: FC<ServicecSettingsDialogProps> = ({
23 onOpenChange,
24 open,
25 entity,
26 onClose,
27}) => {
28 const { t } = useTranslation();
29
30 return (
31 <SettingsDialog open={open} onClose={onClose} onOpenChange={onOpenChange}>
32 <Tabs className="my-3 w-full h-full" defaultValue="inbounds">
33 <TabsList className="w-full">
34 <TabsTrigger className="w-full" value="inbounds">
35 {t("inbounds")}
36 </TabsTrigger>
37 <TabsTrigger className="w-full" value="users">
38 {t("users")}
39 </TabsTrigger>
40 </TabsList>
41 <TabsContent value="inbounds" className="h-full">
42 <ServiceInboundsTable service={entity} />
43 </TabsContent>
44 <TabsContent value="users" className="h-full">
45 <ServicesUsersTable service={entity} />
46 </TabsContent>
47 </Tabs>
48 </SettingsDialog>
49 );
50};