From 1596a4ea7a1f8d2d74204869db87969f49a3d58e Mon Sep 17 00:00:00 2001 From: chahinebrini Date: Sun, 17 May 2026 19:05:37 +0200 Subject: [PATCH] feat(protection,onboarding): anti-auto-reactivation + protection pre-explainer + custom sheets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Backend: Anti-Auto-Reactivation nach Cooldown Bug: nach Cooldown-Ablauf wurde der URL-Filter automatisch wieder reaktiviert (enforceProtection-Loop fängt 'recoveringFromBypass'-Phase ab). Damit war der Cooldown-Schritt entwertet — User konnte nicht wirklich abschalten, weil die App den Schutz sofort wieder hochfuhr. Fix: Profile.protectionDisabledAt (DateTime nullable). Wird in /api/cooldown/status auf cooldown-auto-resolve gesetzt. /api/protection/state gibt dann protectionShouldBeActive=false zurück → Frontend macht KEINE Auto-Reactivation. User muss explizit re-aktivieren (CTA in der App). - Migration 20260517_protection_disabled_at - Schema: Profile.protectionDisabledAt - /api/cooldown/status: setzt das Feld auf expired+resolve - /api/protection/state: includes profile.protectionDisabledAt in shouldBeActive-Berechnung - /api/protection/mark-active (POST, NEU): clears das Feld, vom Frontend auto-aufgerufen nach erfolgreichem activateUrlFilter Bypass-Recovery durch externe iOS-Settings-Disable (nicht cooldown-bezogen) funktioniert weiter — protectionDisabledAt ist dann null, alte Logik greift. ## Frontend: ProtectionOffSheet (Custom-Sheet statt Alert.alert) Bisheriges native Alert mit OK+Reactivate-Buttons hat keine visuelle Hierarchy (iOS macht beide gleich). Ersetzt mit FormSheet: - Großer blauer Primary "Schutz wieder einschalten" - Ghost-Link "Später" - Swipe-down / Backdrop-Tap zum Schließen ## Frontend: ProtectionSlide mit Pre-Explainer (Screenshot + Pulse-Marker) User-Request: vor dem iOS-Permission-Dialog ein Erklärungs-Screen zeigen damit der User weiß wo er tappen muss (Apple's "Don't Allow" ist groß+ blau = Trap, "Allow" ist der unscheinbare Button unten). - components/onboarding/ScreenshotPointer.tsx — Reanimated pulsing red ring, positionierbar via {xPercent, yPercent} - lib/onboardingAssets.ts — locale-aware require()-Map für Screenshot- Assets mit de-Fallback - assets/onboarding/de/ — 4 iOS-Screenshots vom User (url_filter + screen_time permission dialogs + 2 confirm screens) - ProtectionSlide refactored: internal phase state preexplain_url → preexplain_lock → done. Jede Phase zeigt Screenshot + Pulse-Marker auf korrekten Button + Lyra-Bubble + activate-CTA. ## Locale-Keys - onboarding.lyra.protection_url.body, onboarding.lyra.protection_lock.body - onboarding.protection.url_title, .lock_title, .tap_marker_hint - onboarding.protection.applock_failed_*, applock_skip - blocker.protection_off_later, reactivate_btn (refined) ## Bugfix: de.json JSON-syntax Smart-quote-typo: schließendes "" nach „Erlauben" und „Fortfahren" war ein plain ASCII " (U+0022) statt U+201D, was den JSON-String früh terminiert hat. Metro+Hermes warfen "unrecognized Unicode —". Fix: escapte \" verwendet — JSON-safe. Co-Authored-By: Claude Opus 4.7 --- apps/rebreak-native/app/(app)/blocker.tsx | 19 +- .../onboarding/de/screen_time_confirm.jpeg | Bin 0 -> 58240 bytes .../onboarding/de/screen_time_confirm_1.jpeg | Bin 0 -> 103556 bytes .../onboarding/de/screen_time_permission.jpeg | Bin 0 -> 126811 bytes .../onboarding/de/url_filter_permission.jpeg | Bin 0 -> 115137 bytes .../components/ProtectionOffSheet.tsx | 134 ++++++++ .../onboarding/ScreenshotPointer.tsx | 97 ++++++ .../onboarding/slides/ProtectionSlide.tsx | 285 +++++++++++------- apps/rebreak-native/lib/onboardingAssets.ts | 60 ++++ apps/rebreak-native/lib/protection.ts | 17 +- apps/rebreak-native/locales/ar.json | 11 +- apps/rebreak-native/locales/de.json | 11 +- apps/rebreak-native/locales/en.json | 11 +- apps/rebreak-native/locales/fr.json | 11 +- .../migration.sql | 20 ++ backend/prisma/schema.prisma | 9 + backend/server/api/cooldown/status.get.ts | 12 + .../server/api/protection/mark-active.post.ts | 28 ++ backend/server/api/protection/state.get.ts | 10 +- 19 files changed, 604 insertions(+), 131 deletions(-) create mode 100644 apps/rebreak-native/assets/onboarding/de/screen_time_confirm.jpeg create mode 100644 apps/rebreak-native/assets/onboarding/de/screen_time_confirm_1.jpeg create mode 100644 apps/rebreak-native/assets/onboarding/de/screen_time_permission.jpeg create mode 100644 apps/rebreak-native/assets/onboarding/de/url_filter_permission.jpeg create mode 100644 apps/rebreak-native/components/ProtectionOffSheet.tsx create mode 100644 apps/rebreak-native/components/onboarding/ScreenshotPointer.tsx create mode 100644 apps/rebreak-native/lib/onboardingAssets.ts create mode 100644 backend/prisma/migrations/20260517_protection_disabled_at/migration.sql create mode 100644 backend/server/api/protection/mark-active.post.ts diff --git a/apps/rebreak-native/app/(app)/blocker.tsx b/apps/rebreak-native/app/(app)/blocker.tsx index 1578c10..0c64a94 100644 --- a/apps/rebreak-native/app/(app)/blocker.tsx +++ b/apps/rebreak-native/app/(app)/blocker.tsx @@ -13,6 +13,7 @@ import { AddDomainSheet } from '../../components/blocker/AddDomainSheet'; import { ProtectionDetailsSheet } from '../../components/blocker/ProtectionDetailsSheet'; import { DeactivationExplainerSheet } from '../../components/blocker/DeactivationExplainerSheet'; import { PermissionDeniedSheet } from '../../components/PermissionDeniedSheet'; +import { ProtectionOffSheet } from '../../components/ProtectionOffSheet'; import { useProtectionState } from '../../hooks/useProtectionState'; import { useCustomDomains } from '../../hooks/useCustomDomains'; import { useBlocklistSync } from '../../hooks/useBlocklistSync'; @@ -68,6 +69,7 @@ export default function BlockerScreen() { const [detailsOpen, setDetailsOpen] = useState(false); const [explainerOpen, setExplainerOpen] = useState(false); const [permissionDeniedOpen, setPermissionDeniedOpen] = useState(false); + const [protectionOffOpen, setProtectionOffOpen] = useState(false); const urlFilterActive = state?.layers.urlFilter === true; const familyControlsActive = state?.layers.familyControls === true; @@ -204,15 +206,8 @@ export default function BlockerScreen() { } if (bypassAlertShownRef.current) return; bypassAlertShownRef.current = true; - Alert.alert( - t('blocker.protection_off_title'), - t('blocker.protection_off_message'), - [ - { text: t('common.ok'), style: 'cancel' }, - { text: t('blocker.reactivate_btn'), onPress: () => { void handleActivateUrlFilter(); } }, - ], - ); - }, [state?.phase, t]); + setProtectionOffOpen(true); + }, [state?.phase]); // ─── Render ────────────────────────────────────────────────────────── @@ -422,6 +417,12 @@ export default function BlockerScreen() { return res; }} /> + + setProtectionOffOpen(false)} + onReactivate={() => handleActivateUrlFilter()} + /> ) : null} diff --git a/apps/rebreak-native/assets/onboarding/de/screen_time_confirm.jpeg b/apps/rebreak-native/assets/onboarding/de/screen_time_confirm.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..cb33fcd9613d3f447f825edfbcfb52e6367648a9 GIT binary patch literal 58240 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