gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/features/users/components/dialogs/settings/user-info/table.tsx · v0.3.2
Source
1 cba9caa Dawsh 2y ago import {
2 cba9caa Dawsh 2y ago Card,
3 cba9caa Dawsh 2y ago CardContent,
4 cba9caa Dawsh 2y ago CardHeader,
5 cba9caa Dawsh 2y ago CardTitle,
6 cba9caa Dawsh 2y ago Table,
7 cba9caa Dawsh 2y ago TableBody,
8 d377c4c Dawsh 2y ago TableRowWithCell,
9 d377c4c Dawsh 2y ago DateTableRow,
10 cba9caa Dawsh 2y ago } from "@marzneshin/components";
11 45e0190 Mrdn 2y ago import { FC } from "react";
12 6955aba Mrdn 2y ago import {
13 d377c4c Dawsh 2y ago type UserProp,
14 d377c4c Dawsh 2y ago UserEnabledPill,
15 d377c4c Dawsh 2y ago UserUsedTraffic,
16 d377c4c Dawsh 2y ago UserActivatedPill,
17 d377c4c Dawsh 2y ago UserDataLimitReachedPill,
18 3c21dbd Mardin 2y ago UserExpiredPill,
19 45e0190 Mrdn 2y ago } from "@marzneshin/features/users";
20 857e289 Mrdn 2y ago import { useTranslation } from "react-i18next";
21 857e289 Mrdn 2y ago
22 d377c4c Dawsh 2y ago export const UserInfoTable: FC<UserProp> = ({ user: entity }) => {
23 857e289 Mrdn 2y ago const { t } = useTranslation();
24 d377c4c Dawsh 2y ago const expireDate = entity.expire_date
25 d377c4c Dawsh 2y ago ? new Date(entity.expire_date)
26 45e0190 Mrdn 2y ago : null;
27 cba9caa Dawsh 2y ago
28 857e289 Mrdn 2y ago return (
29 857e289 Mrdn 2y ago <Card>
30 6955aba Mrdn 2y ago <CardHeader className="flex flex-row justify-between items-center w-full">
31 45e0190 Mrdn 2y ago <CardTitle>{t("user_info")}</CardTitle>
32 857e289 Mrdn 2y ago </CardHeader>
33 857e289 Mrdn 2y ago <CardContent>
34 857e289 Mrdn 2y ago <Table>
35 857e289 Mrdn 2y ago <TableBody>
36 45e0190 Mrdn 2y ago <TableRowWithCell label={t("username")} value={entity.username} />
37 3c21dbd Mardin 2y ago <TableRowWithCell
38 3c21dbd Mardin 2y ago label={t("activated")}
39 3c21dbd Mardin 2y ago value={<UserActivatedPill user={entity} />}
40 3c21dbd Mardin 2y ago />
41 45e0190 Mrdn 2y ago <TableRowWithCell
42 d377c4c Dawsh 2y ago label={t("enabled")}
43 d377c4c Dawsh 2y ago value={<UserEnabledPill user={entity} />}
44 45e0190 Mrdn 2y ago />
45 d377c4c Dawsh 2y ago <TableRowWithCell
46 3c21dbd Mardin 2y ago label={t("page.users.data_limit_reached")}
47 3c21dbd Mardin 2y ago value={<UserDataLimitReachedPill user={entity} />}
48 3c21dbd Mardin 2y ago />
49 3c21dbd Mardin 2y ago <TableRowWithCell
50 2a02d0e Mardin 2y ago label={t("expired")}
51 3c21dbd Mardin 2y ago value={<UserExpiredPill user={entity} />}
52 d377c4c Dawsh 2y ago />
53 d377c4c Dawsh 2y ago {{
54 d377c4c Dawsh 2y ago fixed_date: (
55 d377c4c Dawsh 2y ago <DateTableRow
56 d377c4c Dawsh 2y ago label={t("page.users.expire_date")}
57 d377c4c Dawsh 2y ago date={expireDate}
58 45e0190 Mrdn 2y ago />
59 d377c4c Dawsh 2y ago ),
60 d377c4c Dawsh 2y ago start_on_first_use: (
61 d377c4c Dawsh 2y ago <>
62 d377c4c Dawsh 2y ago <TableRowWithCell
63 d377c4c Dawsh 2y ago label={t("page.users.usage_duration")}
64 d377c4c Dawsh 2y ago value={(entity.usage_duration ? entity.usage_duration : 0) / 86400}
65 d377c4c Dawsh 2y ago />
66 45e0190 Mrdn 2y ago <DateTableRow
67 d377c4c Dawsh 2y ago label={t("page.users.activation_deadline")}
68 d377c4c Dawsh 2y ago date={entity.activation_deadline}
69 45e0190 Mrdn 2y ago />
70 d377c4c Dawsh 2y ago </>
71 d377c4c Dawsh 2y ago ),
72 d377c4c Dawsh 2y ago never: (
73 d377c4c Dawsh 2y ago <TableRowWithCell
74 d377c4c Dawsh 2y ago label={t("page.users.expire_method")}
75 d377c4c Dawsh 2y ago value={t('never')}
76 d377c4c Dawsh 2y ago />
77 d377c4c Dawsh 2y ago )
78 d377c4c Dawsh 2y ago }[entity.expire_strategy]}
79 d377c4c Dawsh 2y ago
80 d377c4c Dawsh 2y ago <TableRowWithCell
81 d377c4c Dawsh 2y ago label={t("page.users.used_traffic")}
82 d377c4c Dawsh 2y ago value={<UserUsedTraffic user={entity} />}
83 d377c4c Dawsh 2y ago />
84 45e0190 Mrdn 2y ago <DateTableRow
85 45e0190 Mrdn 2y ago label={t("page.users.online_at")}
86 45e0190 Mrdn 2y ago date={entity.online_at}
87 45e0190 Mrdn 2y ago />
88 45e0190 Mrdn 2y ago <TableRowWithCell label={t("note")} value={entity.note} />
89 857e289 Mrdn 2y ago </TableBody>
90 857e289 Mrdn 2y ago </Table>
91 857e289 Mrdn 2y ago </CardContent>
92 857e289 Mrdn 2y ago </Card>
93 857e289 Mrdn 2y ago );
94 857e289 Mrdn 2y ago };