From 66230a8695070b0a52bfd25efaf1bebceb2ede47 Mon Sep 17 00:00:00 2001 From: neodk2004 Date: Sun, 4 Oct 2026 16:08:17 +0200 Subject: [PATCH] feat(mobile): Privatsphaere-Einstellungen im Profil bearbeiten Wer darf Nachrichten schreiben (dmPolicy) und wer darf die Follower sehen (followerVisibility) waren nur im Web einstellbar. Neue PrivacySettings- Komponente mit denselben Optionen/Texten wie im Web, speichert jede Auswahl sofort ueber pets.update. Co-Authored-By: Claude Opus 5.5 --- mobile/app/(app)/pets/[petId]/edit.tsx | 11 +- mobile/src/components/pet/PrivacySettings.tsx | 142 ++++++++++++++++++ mobile/src/i18n/locales/de.json | 15 ++ mobile/src/i18n/locales/en.json | 15 ++ 4 files changed, 182 insertions(+), 1 deletion(-) create mode 100644 mobile/src/components/pet/PrivacySettings.tsx diff --git a/mobile/app/(app)/pets/[petId]/edit.tsx b/mobile/app/(app)/pets/[petId]/edit.tsx index db925b6..933f900 100644 --- a/mobile/app/(app)/pets/[petId]/edit.tsx +++ b/mobile/app/(app)/pets/[petId]/edit.tsx @@ -11,6 +11,7 @@ import { TextField } from "../../../../src/components/TextField"; import { DateField } from "../../../../src/components/DateField"; import { Button } from "../../../../src/components/Button"; import { BreedPicker } from "../../../../src/components/pet/BreedPicker"; +import { PrivacySettings } from "../../../../src/components/pet/PrivacySettings"; import { radii, getTypography, type ColorTokens, type Typography } from "../../../../src/theme/tokens"; import { displayDateToIso, isoToDisplayDate } from "../../../../src/lib/date-format"; import { useBottomSafePadding } from "../../../../src/hooks/useBottomSafePadding"; @@ -18,7 +19,8 @@ import { useBottomSafePadding } from "../../../../src/hooks/useBottomSafePadding /** * Edit form (name, nickname, breed, bio, adoption story, birthday, adoption * date) — a subset of web's src/app/(app)/pets/[petId]/edit/page.tsx. - * DM-policy/follower-visibility/avatar upload aren't editable here yet. + * Privacy (DM policy, follower visibility) lives in PrivacySettings and saves + * on its own; avatar upload isn't editable here yet. * Species itself stays fixed (only its breed is re-selectable) — found.md * asked specifically for breed correction, not a full species change. */ @@ -168,6 +170,13 @@ export default function EditPetScreen() {