gitscope
← 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};