feat(subscribe): Add unsubscribe functionality with confirmation messages and localized strings

This commit is contained in:
web@ppanel
2025-01-04 20:05:00 +07:00
parent cc834caa30
commit b2a2f42e53
30 changed files with 423 additions and 131 deletions
+16 -14
View File
@@ -14,7 +14,7 @@ import {
CardHeader,
CardTitle,
} from '@workspace/ui/components/card';
import { formatDate } from '@workspace/ui/utils';
import { formatDate, isBrowser } from '@workspace/ui/utils';
import { Copy } from 'lucide-react';
import { useTranslations } from 'next-intl';
import { useState } from 'react';
@@ -60,19 +60,21 @@ export default function Affiliate() {
<code className='bg-muted rounded px-2 py-1 text-2xl font-bold'>
{user?.refer_code}
</code>
<CopyToClipboard
text={`${location?.origin}/auth?invite=${user?.refer_code}`}
onCopy={(text, result) => {
if (result) {
toast.success(t('copySuccess'));
}
}}
>
<Button variant='secondary' size='sm' className='gap-2'>
<Copy className='h-4 w-4' />
{t('copyInviteLink')}
</Button>
</CopyToClipboard>
{isBrowser() && (
<CopyToClipboard
text={`${location?.origin}/auth?invite=${user?.refer_code}`}
onCopy={(text, result) => {
if (result) {
toast.success(t('copySuccess'));
}
}}
>
<Button variant='secondary' size='sm' className='gap-2'>
<Copy className='h-4 w-4' />
{t('copyInviteLink')}
</Button>
</CopyToClipboard>
)}
</div>
</CardContent>
</Card>