← marzneshin
/
v0.3.0
/
dashboard/src/features/users/dialogs/settings/user-info/subscription-actions.tsx
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/features/users/dialogs/settings/user-info/subscription-actions.tsx
· TypeScript
Blame
Raw
1import { Button, HStack } from "@marzneshin/components";
2import { useTranslation } from "react-i18next";
3import { getSubscriptionLink } from "@marzneshin/utils";
4import { useUserSubscriptionRevokeCmd } from "@marzneshin/features/users";
5import type { QRCodeProps } from "./qrcode";
6import type { FC } from 'react';
7
8import { SubscriptionLinkButton } from "./subcription-link-button";
9export const SubscriptionActions: FC<QRCodeProps> = ({ entity }) => {
10 const subscribeQrLink = getSubscriptionLink(entity.subscription_url);
11 const { mutate: revokeSubscription } = useUserSubscriptionRevokeCmd();
12 const { t } = useTranslation();
13 return (
14 <HStack className="w-full items-center">
15 <SubscriptionLinkButton subscriptionLink={subscribeQrLink} />
16 <Button className="w-full" onClick={() => revokeSubscription(entity)}>
17 {t("page.users.revoke_subscription")}
18 </Button>
19 </HStack>
20 );
21};