gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/features/services/dialogs/settings.dialog.tsx · v0.3.1
Source
1 3b7feef Mrdn 2y ago import {
2 3b7feef Mrdn 2y ago Sheet,
3 3b7feef Mrdn 2y ago SheetContent,
4 3b7feef Mrdn 2y ago SheetHeader,
5 3b7feef Mrdn 2y ago SheetTitle,
6 3b7feef Mrdn 2y ago Tabs,
7 3b7feef Mrdn 2y ago TabsContent,
8 3b7feef Mrdn 2y ago TabsList,
9 3b7feef Mrdn 2y ago TabsTrigger,
10 3b7feef Mrdn 2y ago } from "@marzneshin/components"
11 03b3dbc Mardin 2y ago import { type FC, useEffect } from "react"
12 3b7feef Mrdn 2y ago import { useTranslation } from "react-i18next"
13 3b7feef Mrdn 2y ago import { ServiceType } from "..";
14 3b7feef Mrdn 2y ago import { ServiceInboundsTable } from "../tables/inbounds";
15 3b7feef Mrdn 2y ago import { ServicesUsersTable } from "../tables/users";
16 3b7feef Mrdn 2y ago
17 3b7feef Mrdn 2y ago interface ServicecSettingsDialogProps {
18 3b7feef Mrdn 2y ago onOpenChange: (state: boolean) => void
19 3b7feef Mrdn 2y ago open: boolean
20 03b3dbc Mardin 2y ago entity: ServiceType
21 03b3dbc Mardin 2y ago onClose: () => void;
22 3b7feef Mrdn 2y ago }
23 3b7feef Mrdn 2y ago
24 03b3dbc Mardin 2y ago export const ServiceSettingsDialog: FC<ServicecSettingsDialogProps> = ({
25 03b3dbc Mardin 2y ago onOpenChange, open, entity, onClose
26 03b3dbc Mardin 2y ago }) => {
27 3b7feef Mrdn 2y ago const { t } = useTranslation();
28 3b7feef Mrdn 2y ago
29 03b3dbc Mardin 2y ago useEffect(() => {
30 03b3dbc Mardin 2y ago if (!open) onClose();
31 03b3dbc Mardin 2y ago }, [open, onClose]);
32 03b3dbc Mardin 2y ago
33 03b3dbc Mardin 2y ago return (
34 03b3dbc Mardin 2y ago <Sheet open={open} onOpenChange={onOpenChange}>
35 03b3dbc Mardin 2y ago <SheetContent className="sm:min-w-full md:min-w-[700px]" >
36 03b3dbc Mardin 2y ago <SheetHeader>
37 03b3dbc Mardin 2y ago <SheetTitle>
38 03b3dbc Mardin 2y ago {t('page.services.settings.title')}
39 03b3dbc Mardin 2y ago </SheetTitle>
40 03b3dbc Mardin 2y ago </SheetHeader>
41 03b3dbc Mardin 2y ago <Tabs className="my-3 w-full h-full" defaultValue="inbounds">
42 03b3dbc Mardin 2y ago <TabsList className="w-full">
43 03b3dbc Mardin 2y ago <TabsTrigger className="w-full" value="inbounds">{t('inbounds')}</TabsTrigger>
44 03b3dbc Mardin 2y ago <TabsTrigger className="w-full" value="users">{t('users')}</TabsTrigger>
45 03b3dbc Mardin 2y ago </TabsList>
46 03b3dbc Mardin 2y ago <TabsContent value="inbounds" className="h-full">
47 03b3dbc Mardin 2y ago <ServiceInboundsTable service={entity} />
48 03b3dbc Mardin 2y ago </TabsContent>
49 03b3dbc Mardin 2y ago <TabsContent value="users" className="h-full">
50 03b3dbc Mardin 2y ago <ServicesUsersTable service={entity} />
51 03b3dbc Mardin 2y ago </TabsContent>
52 03b3dbc Mardin 2y ago </Tabs>
53 03b3dbc Mardin 2y ago </SheetContent>
54 03b3dbc Mardin 2y ago </Sheet>
55 03b3dbc Mardin 2y ago )
56 3b7feef Mrdn 2y ago }