From a8358b930d77830393f0113c9f7dd728a75139de Mon Sep 17 00:00:00 2001 From: Leonid Pershin Date: Tue, 28 Jul 2026 19:08:27 +0300 Subject: [PATCH] Refactor QR code implementation in ConfigCard, SubscriptionCard, TelegramLinkCard, and TelegramLoginButton components - Replaced `QRCodeSVG` with a new `QrCode` component from the shared UI library across multiple files, enhancing consistency in QR code rendering. - Adjusted sizes of QR codes in `ConfigCard` and `SubscriptionCard` for improved visual presentation. --- frontend/src/features/configs/ConfigCard.tsx | 4 +-- .../src/features/configs/SubscriptionCard.tsx | 4 +-- .../features/settings/TelegramLinkCard.tsx | 4 +-- .../features/telegram/TelegramLoginButton.tsx | 4 +-- frontend/src/shared/ui/qr-code.tsx | 33 +++++++++++++++++++ 5 files changed, 41 insertions(+), 8 deletions(-) create mode 100644 frontend/src/shared/ui/qr-code.tsx diff --git a/frontend/src/features/configs/ConfigCard.tsx b/frontend/src/features/configs/ConfigCard.tsx index e2a1908..2a3bb17 100644 --- a/frontend/src/features/configs/ConfigCard.tsx +++ b/frontend/src/features/configs/ConfigCard.tsx @@ -1,7 +1,7 @@ import { useState } from 'react' import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query' import { useTranslation } from 'react-i18next' -import { QRCodeSVG } from 'qrcode.react' +import { QrCode as QrCodeImage } from '@/shared/ui/qr-code' import { Copy, QrCode, RefreshCw, Trash2 } from 'lucide-react' import { toast } from '@/shared/ui/toast-store' import { Card, CardContent, CardHeader, CardTitle } from '@/shared/ui/card' @@ -119,7 +119,7 @@ export function ConfigCard({ config }: { config: VpnConfigDto }) { )} {linkQuery.data && (
- +
{linkQuery.data.connectionString} diff --git a/frontend/src/features/configs/SubscriptionCard.tsx b/frontend/src/features/configs/SubscriptionCard.tsx index 46b34fd..21f62d4 100644 --- a/frontend/src/features/configs/SubscriptionCard.tsx +++ b/frontend/src/features/configs/SubscriptionCard.tsx @@ -1,6 +1,6 @@ import { useQuery } from '@tanstack/react-query' import { useTranslation } from 'react-i18next' -import { QRCodeSVG } from 'qrcode.react' +import { QrCode } from '@/shared/ui/qr-code' import { Copy } from 'lucide-react' import { toast } from '@/shared/ui/toast-store' import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/shared/ui/card' @@ -30,7 +30,7 @@ export function SubscriptionCard() { {t('configs.aggregatedSubscriptionHint')} - +
{data.subscriptionUrl}