chahinebrini
7ec4be810b
feat(rebreak-native): AppAlert composable, avatar compression, FamilyControls gate
- components/AppAlert.tsx — one parametrized alert composable (error / success /
confirm), replacing scattered Alert.alert(). error mode sanitizes raw response
bodies (strips HTML, detects 413/5xx/nginx → friendly generic text, raw text
only in a collapsible "Details" section). Light backdrop, TouchableOpacity.
- profile/AvatarCropSheet — compress the cropped avatar via expo-image-manipulator
(max 512×512, JPEG q0.7 → ~50–150 KB) before upload, so the nginx 1 MB cap on
staging.rebreak.org/api/ no longer 413s; compress errors shown via AppAlert.
(adds expo-image-manipulator ~14.0.7 — needs a fresh dev build)
- lib/protection.ts — FAMILY_CONTROLS_AVAILABLE = expoConfig.extra.familyControlsEnabled
- app/(app)/blocker.tsx — App-Lock toggle only rendered when FAMILY_CONTROLS_AVAILABLE;
otherwise a quiet "App-Lock — coming soon" row + "bald" badge. The URL-filter
banner / ProtectionLockedCard stay positive (the filter carries the protection).
- de/en strings for alert.* and blocker.app_lock_coming_soon_*
Follow-ups: nginx client_max_body_size → ≥5 MB on staging (backyard, separate);
ConfirmAlert/SuccessAlert call-site sweep onto AppAlert (separate).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 21:47:18 +02:00
..
2026-05-08 21:27:33 +02:00
2026-05-11 14:00:02 +02:00
2026-05-10 23:59:25 +02:00
2026-05-10 23:59:25 +02:00
2026-05-06 07:13:43 +02:00
2026-05-09 16:16:49 +02:00
2026-05-08 20:47:43 +02:00
2026-05-06 07:13:43 +02:00
2026-05-07 04:15:31 +02:00
2026-05-09 17:54:34 +02:00
2026-05-10 23:59:25 +02:00
2026-05-12 21:47:18 +02:00
2026-05-11 14:00:02 +02:00
2026-05-06 13:58:07 +02:00
2026-05-06 07:13:43 +02:00
2026-05-06 13:58:07 +02:00
2026-05-07 18:22:58 +02:00
2026-05-10 23:59:25 +02:00
2026-05-06 07:13:43 +02:00
2026-05-07 18:22:58 +02:00
2026-05-08 22:15:55 +02:00
2026-05-06 13:58:07 +02:00
2026-05-08 19:32:27 +02:00