diff --git a/src/components/dashboard/SubscriptionCardActive.tsx b/src/components/dashboard/SubscriptionCardActive.tsx
index 0f2ebbb..b62c859 100644
--- a/src/components/dashboard/SubscriptionCardActive.tsx
+++ b/src/components/dashboard/SubscriptionCardActive.tsx
@@ -72,7 +72,7 @@ export default function SubscriptionCardActive({
return (
- {/* Trial shimmer border */}
- {subscription.is_trial && (
-
- )}
-
- {/* Background glow */}
-
+ {/* Decorative ambient radial + trial shimmer border were
+ removed: they carried no information, leaked zone/accent
+ hue into pure decoration (violates DESIGN.md
+ Tunable-but-Scarce + Status-Hue Lockout rules), and the
+ same chrome was distilled out of SubscriptionCardActive
+ earlier in this branch. Trial state is conveyed by the
+ header badge. */}
{/* ─── Header ─── */}
@@ -1509,10 +1494,17 @@ export default function Subscription() {
{devicesData && devicesData.devices.length > 0 && (
{
- if (confirm(t('subscription.confirmDeleteAllDevices'))) {
- deleteAllDevicesMutation.mutate();
- }
+ onClick={async () => {
+ // Platform-aware destructive confirm: Telegram native popup
+ // in Mini App, inline panel on web. Replaces the bare
+ // browser confirm() which broke premium frame + lost
+ // haptic / theming inside Telegram.
+ const confirmed = await destructiveConfirm(
+ t('subscription.confirmDeleteAllDevices'),
+ t('subscription.deleteAllDevices'),
+ t('subscription.deleteAllDevices'),
+ );
+ if (confirmed) deleteAllDevicesMutation.mutate();
}}
disabled={deleteAllDevicesMutation.isPending}
className="text-[11px] font-medium transition-colors"
@@ -1706,10 +1698,13 @@ export default function Subscription() {
{
- if (confirm(t('subscription.confirmDeleteDevice'))) {
- deleteDeviceMutation.mutate(device.hwid);
- }
+ onClick={async () => {
+ const confirmed = await destructiveConfirm(
+ t('subscription.confirmDeleteDevice'),
+ t('subscription.deleteDevice'),
+ t('subscription.deleteDevice'),
+ );
+ if (confirmed) deleteDeviceMutation.mutate(device.hwid);
}}
disabled={deleteDeviceMutation.isPending}
className="p-2 transition-colors"