17.05.2026 funny

This commit is contained in:
2026-05-17 12:23:32 +03:00
parent 3387769578
commit 253407abc3
12 changed files with 131 additions and 69 deletions

View File

@@ -1,4 +1,9 @@
import { useEffect } from 'react'
import { useNavigate } from 'react-router-dom'
import { useQueryClient } from '@tanstack/react-query'
import { PrimaryButton } from '@shared/ui'
import { useMe } from '@features/auth'
import { ROUTES } from '@shared/config/routes'
import logo from '@shared/assets/logo-full-white.png'
import { useKyc } from '../model/useKyc'
import { KycModal } from './KycModal'
@@ -6,6 +11,19 @@ import styles from './KycWidget.module.css'
export function KycWidget() {
const { trigger, data, isLoading, isError } = useKyc()
const navigate = useNavigate()
const queryClient = useQueryClient()
const { data: me } = useMe({ refetchInterval: data ? 5000 : false })
useEffect(() => {
if (me?.kyc_verified) {
navigate(ROUTES.SEED_PHRASE, { replace: true })
}
}, [me?.kyc_verified, navigate])
const handleClose = () => {
queryClient.invalidateQueries({ queryKey: ['me'] })
}
return (
<>
@@ -53,7 +71,7 @@ export function KycWidget() {
)}
</div>
{data && <KycModal data={data} onClose={() => window.location.reload()} />}
{data && <KycModal data={data} onClose={handleClose} />}
</>
)
}

View File

@@ -29,10 +29,10 @@ export function useRegisterForm() {
const completeMutation = useMutation({
mutationFn: registrationComplete,
onSuccess: ({ access_token }) => {
onSuccess: async ({ access_token }) => {
clearCsrfCache()
tokenStore.set(access_token)
queryClient.setQueryData(AUTH_QUERY_KEY, access_token)
if (access_token) tokenStore.set(access_token)
await queryClient.invalidateQueries({ queryKey: AUTH_QUERY_KEY })
navigate(ROUTES.WALLET)
},
})

View File

@@ -112,6 +112,30 @@
padding-top: 14px;
}
.profileLinkRow {
margin-top: 24px;
display: flex;
justify-content: center;
}
.profileLink {
font-size: 14px;
font-weight: 600;
letter-spacing: 0.04em;
color: var(--interactive);
text-decoration: none;
padding: 10px 20px;
border-radius: 10px;
border: 1px solid rgba(74, 109, 255, 0.4);
transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.profileLink:hover {
background: rgba(74, 109, 255, 0.1);
border-color: rgba(74, 109, 255, 0.7);
box-shadow: 0 0 12px rgba(74, 109, 255, 0.2);
}
@media (max-width: 768px) {
.seedGrid {
grid-template-columns: repeat(2, 1fr);

View File

@@ -1,4 +1,6 @@
import { Link } from 'react-router-dom'
import { Button } from '@shared/ui'
import { ROUTES } from '@shared/config/routes'
import { useSeedPhrase } from '../model/useSeedPhrase'
import styles from './SeedPhraseWidget.module.css'
@@ -51,6 +53,12 @@ export function SeedPhraseWidget({ words }: Props) {
Никогда не передавайте сид-фразу третьим лицам. Тот, кто знает фразу владеет кошельком.
</p>
</div>
<div className={styles.profileLinkRow}>
<Link to={ROUTES.PROFILE} className={styles.profileLink}>
Перейти в профиль
</Link>
</div>
</div>
)
}