gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/modules/users/components/dialogs/settings/user-info/subscription-actions.tsx · nightly
Source
1 7389ad0 Mardin 2y ago import { Button, HStack } from "@marzneshin/common/components";
2 45e0190 Mrdn 2y ago import { useTranslation } from "react-i18next";
3 d636f3f Dawsh 2y ago import { getSubscriptionLink } from "@marzneshin/common/utils";
4 e6e6467 Dawsh 2y ago import { useUserSubscriptionRevokeCmd } from "@marzneshin/modules/users";
5 7389ad0 Mardin 2y ago import { CopyToClipboardButton } from "@marzneshin/common/components";
6 fb9bc33 Mardin 2y ago import { SquareCode } from "lucide-react";
7 45e0190 Mrdn 2y ago import type { QRCodeProps } from "./qrcode";
8 45e0190 Mrdn 2y ago import type { FC } from 'react';
9 45e0190 Mrdn 2y ago
10 45e0190 Mrdn 2y ago export const SubscriptionActions: FC<QRCodeProps> = ({ entity }) => {
11 fb9bc33 Mardin 2y ago const subscribeQrLink = getSubscriptionLink(entity.subscription_url);
12 fb9bc33 Mardin 2y ago const { mutate: revokeSubscription } = useUserSubscriptionRevokeCmd();
13 fb9bc33 Mardin 2y ago const { t } = useTranslation();
14 fb9bc33 Mardin 2y ago return (
15 fb9bc33 Mardin 2y ago <HStack className="w-full items-center my-2">
16 fb9bc33 Mardin 2y ago <CopyToClipboardButton
17 fb9bc33 Mardin 2y ago text={subscribeQrLink}
18 fb9bc33 Mardin 2y ago successMessage={t("page.users.settings.subscription_link.copied")}
19 fb9bc33 Mardin 2y ago copyLabel={t("page.users.settings.subscription_link.copy")}
20 fb9bc33 Mardin 2y ago errorLabel={t("page.users.settings.subscription_link.error")}
21 fb9bc33 Mardin 2y ago copyIcon={SquareCode}
22 fb9bc33 Mardin 2y ago className="w-1/2"
23 fb9bc33 Mardin 2y ago />
24 fb9bc33 Mardin 2y ago <Button variant="destructive" className="w-1/2" onClick={() => revokeSubscription(entity)}>
25 fb9bc33 Mardin 2y ago {t("page.users.revoke_subscription")}
26 fb9bc33 Mardin 2y ago </Button>
27 fb9bc33 Mardin 2y ago </HStack>
28 fb9bc33 Mardin 2y ago );
29 45e0190 Mrdn 2y ago };