mirror of
https://github.com/chillpadclub/bedolaga-cabinet.git
synced 2026-07-30 02:23:47 +00:00
fix(cabinet): Lava top-up return route + Telegram-unavailable card overflow
- Lava returns to a path-based result URL (/balance/top-up/result/:method) because Lava Business rejects query strings in success/fail URLs. Add the route and read the method from the path param as a fallback (alongside ?method=) so external-browser redirects still poll the right payment. Pairs with the backend fix. - ConnectedAccounts: the "Привязка Telegram временно недоступна" message overflowed the card (it sat in the non-shrinking action column and never wrapped). Constrain its width and wrap it (max-w + break-words) so it stays inside the card. Verified by rendering. Both reported in the Bedolaga bug topic.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { useState, useCallback, useRef, useEffect } from 'react';
|
||||
import { useNavigate, useSearchParams } from 'react-router';
|
||||
import { useNavigate, useParams, useSearchParams } from 'react-router';
|
||||
import { useQuery, useQueryClient } from '@tanstack/react-query';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { motion } from 'framer-motion';
|
||||
@@ -194,8 +194,11 @@ export default function TopUpResult() {
|
||||
// Load saved payment info from sessionStorage (once on mount)
|
||||
const [pendingInfo] = useState(() => loadTopUpPendingInfo());
|
||||
|
||||
// Fallback: read method from query params (for external browser redirects where sessionStorage is unavailable)
|
||||
const methodFromUrl = searchParams.get('method');
|
||||
// Fallback: read method for external-browser redirects where sessionStorage is unavailable.
|
||||
// Providers that reject query strings (Lava) return to /balance/top-up/result/<method>, so
|
||||
// accept the method from the path param too, not just ?method=.
|
||||
const { method: methodFromPath } = useParams<{ method?: string }>();
|
||||
const methodFromUrl = searchParams.get('method') || methodFromPath || null;
|
||||
|
||||
// Detect if user arrived via redirect with success param (no polling needed)
|
||||
const redirectStatus = searchParams.get('status') || searchParams.get('payment');
|
||||
|
||||
Reference in New Issue
Block a user