From fb97cda63d1890a625b67f5a4a9adcdba022f643 Mon Sep 17 00:00:00 2001 From: chahinebrini Date: Thu, 7 May 2026 23:10:20 +0200 Subject: [PATCH] fix(ui): i18n device-locale + share-pill rounded-full + Profile debug-marker MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit stores/language.ts: - init() override AsyncStorage-Wert nicht — wenn nichts gespeichert, i18n bleibt bei deviceLocale (von lib/i18n.ts via Localization.getLocales). Vorher: forced 'en' default obwohl App auf DE. ComposeCard share-button: - borderRadius:12 + height:50 → rounded-full px-5 h-11 (44pt) - text-base → text-sm. Pill-Pattern wie Pre-Session. app/profile/index.tsx: - AppHeader title "Profil" → "Profil DEBUG-2300" — TEMPORARY marker zur Verifikation ob File geladen wird (user-suspect: routing zu altem File). Wird nach Test wieder entfernt. Co-Authored-By: Claude Opus 4.7 (1M context) --- apps/rebreak-native/app/profile/index.tsx | 2 +- apps/rebreak-native/components/ComposeCard.tsx | 7 ++----- apps/rebreak-native/stores/language.ts | 11 ++++++++--- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/apps/rebreak-native/app/profile/index.tsx b/apps/rebreak-native/app/profile/index.tsx index a70cd10..a882559 100644 --- a/apps/rebreak-native/app/profile/index.tsx +++ b/apps/rebreak-native/app/profile/index.tsx @@ -156,7 +156,7 @@ export default function ProfileScreen() { return ( - + { if (!content.trim() || posting) return; submit(); }} disabled={!content.trim() || posting} - className="bg-rebreak-500 items-center justify-center" + className="bg-rebreak-500 items-center justify-center rounded-full px-5 h-11" style={({ pressed }) => ({ - height: 50, - paddingHorizontal: 24, - borderRadius: 12, opacity: pressed || !content.trim() || posting ? 0.5 : 1, })} > {posting ? ( ) : ( - {t('community.share')} + {t('community.share')} )} diff --git a/apps/rebreak-native/stores/language.ts b/apps/rebreak-native/stores/language.ts index 7de8bf1..49e03dd 100644 --- a/apps/rebreak-native/stores/language.ts +++ b/apps/rebreak-native/stores/language.ts @@ -17,9 +17,14 @@ export const useLanguageStore = create((set) => ({ init: async () => { const stored = await AsyncStorage.getItem(STORAGE_KEY); - const lang: AppLanguage = stored === 'de' || stored === 'en' ? stored : 'en'; - await i18n.changeLanguage(lang); - set({ language: lang }); + if (stored === 'de' || stored === 'en') { + await i18n.changeLanguage(stored); + set({ language: stored }); + } else { + // Kein expliziter Wert gespeichert — i18n.ts hat bereits via deviceLocale + // initialisiert (Localization.getLocales()). NICHT auf 'en' overriden. + set({ language: (i18n.language === 'de' ? 'de' : 'en') as AppLanguage }); + } }, setLanguage: async (lang) => {