fix(ui): i18n device-locale + share-pill rounded-full + Profile debug-marker
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) <noreply@anthropic.com>
This commit is contained in:
parent
922d5dc876
commit
fb97cda63d
@ -156,7 +156,7 @@ export default function ProfileScreen() {
|
||||
|
||||
return (
|
||||
<View style={{ flex: 1, backgroundColor: '#ffffff' }}>
|
||||
<AppHeader showBack title="Profil" />
|
||||
<AppHeader showBack title="Profil DEBUG-2300" />
|
||||
<ScrollView
|
||||
ref={scrollViewRef}
|
||||
style={{ flex: 1 }}
|
||||
|
||||
@ -163,18 +163,15 @@ export function ComposeCard({ onPosted }: Props) {
|
||||
<Pressable
|
||||
onPressIn={() => { 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 ? (
|
||||
<ActivityIndicator size="small" color="#fff" />
|
||||
) : (
|
||||
<Text className="text-white text-base" style={{ fontFamily: 'Nunito_600SemiBold' }}>{t('community.share')}</Text>
|
||||
<Text className="text-white text-sm" style={{ fontFamily: 'Nunito_600SemiBold' }}>{t('community.share')}</Text>
|
||||
)}
|
||||
</Pressable>
|
||||
</View>
|
||||
|
||||
@ -17,9 +17,14 @@ export const useLanguageStore = create<LanguageState>((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) => {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user