Files
bedolaga-cabinet/src
c0mrade 0ed8bb1d48 fix(navigation): single-tariff /subscriptions/:id deep-link shows Close, not Back
Refines 3c2f650 — that commit broke the loop by suppressing the single-tariff
redirect on idx=0, but left the BackButton visible. The user still saw Back
on the detail page and needed two taps (Back → Close) to exit. Серёжа's
report was specifically that Back should not appear at all when you land on
your only subscription via a bot button.

Move the decision up to TelegramBackButton:

  - Subscribe to the existing ['subscriptions-list'] query (deduped by
    React Query, so no extra fetch).
  - On /subscriptions/:id, when multi_tariff_enabled is false and there is
    no in-app history (idx=0 deep-link entry), hide the BackButton. Telegram
    then surfaces its native Close (X) in the header.
  - Multi-tariff users still see BackButton on /subscriptions/:id deep-links
    because their /subscriptions list is meaningful (they have many subs).
    The 2bcba3b fallback-to-parent behaviour remains intact for unrelated
    deep-links like /balance/top-up, /admin/*, etc.

Revert the defensive guard in Subscriptions.tsx — the loop can no longer be
triggered because no BackButton is shown to trigger it.

Behaviour summary:

  flow                                    BackButton  exit cost
  --------------------------------------  ----------  ---------
  deep-link → /subscriptions/:id (1T)     hidden      Close, 1 tap
  / → /subscriptions → /subscriptions/:id shown       Back → /, 1 tap
  deep-link → /balance/top-up             shown       Back → /balance ✓
  deep-link → /subscriptions/:id (multi)  shown       Back → /subscriptions list

Reported by Серёжа, bugs topic #599679.
2026-05-29 11:36:22 +03:00
..