← marzneshin
/
dashboard/src/features/users/dialogs/settings/user-info/subcription-link-button.tsx
/
blame
https://dev.kronoz.win/r/marzneshin.git
| 1 | 45e0190 | Mrdn | 2y ago | import { useTranslation } from "react-i18next"; |
| 2 | 45e0190 | Mrdn | 2y ago | import { CopyToClipboardButton } from "@marzneshin/components"; |
| 3 | 45e0190 | Mrdn | 2y ago | import type { FC } from "react"; |
| 4 | 45e0190 | Mrdn | 2y ago | import { SquareCode } from "lucide-react"; |
| 5 | 45e0190 | Mrdn | 2y ago | import { getSubscriptionLink } from "@marzneshin/utils"; |
| 6 | 857e289 | Mrdn | 2y ago | |
| 7 | 857e289 | Mrdn | 2y ago | interface SubscriptionLinkButtonProps { |
| 8 | 45e0190 | Mrdn | 2y ago | subscriptionLink: string; |
| 9 | 857e289 | Mrdn | 2y ago | } |
| 10 | 857e289 | Mrdn | 2y ago | |
| 11 | 45e0190 | Mrdn | 2y ago | export const SubscriptionLinkButton: FC<SubscriptionLinkButtonProps> = ({ |
| 12 | 45e0190 | Mrdn | 2y ago | subscriptionLink, |
| 13 | 45e0190 | Mrdn | 2y ago | }) => { |
| 14 | 45e0190 | Mrdn | 2y ago | const { t } = useTranslation(); |
| 15 | 857e289 | Mrdn | 2y ago | |
| 16 | 45e0190 | Mrdn | 2y ago | return ( |
| 17 | 45e0190 | Mrdn | 2y ago | <CopyToClipboardButton |
| 18 | 45e0190 | Mrdn | 2y ago | text={getSubscriptionLink(subscriptionLink)} |
| 19 | 45e0190 | Mrdn | 2y ago | successMessage={t("page.users.settings.subscription_link.copied")} |
| 20 | 45e0190 | Mrdn | 2y ago | copyLabel={t("page.users.settings.subscription_link.copy")} |
| 21 | 45e0190 | Mrdn | 2y ago | errorLabel={t("page.users.settings.subscription_link.error")} |
| 22 | 45e0190 | Mrdn | 2y ago | copyIcon={SquareCode} |
| 23 | 45e0190 | Mrdn | 2y ago | className="w-full" |
| 24 | 45e0190 | Mrdn | 2y ago | /> |
| 25 | 45e0190 | Mrdn | 2y ago | ); |
| 26 | 857e289 | Mrdn | 2y ago | }; |