// Firebase functionality temporarily disabled - see dataService.ts for placeholders import React, { useState, useEffect } from 'react'; import { View, StyleSheet, Modal, TouchableOpacity, Pressable, ScrollView } from 'react-native'; import Text from '../atoms/Text'; import TextField from '../atoms/TextField'; import Button from '../atoms/Button'; import { Picker } from '@react-native-picker/picker'; import type { Character } from '../../types/character'; import { Ionicons } from '@expo/vector-icons'; const ETHNICITIES = [ "Hispanic", "Black", "White", "Asian", "Middle Eastern", "Other", ] as const; const GENDER_MAPPING = { "male": "Männlich", "female": "Weiblich", "other": "Divers" } as const; const GENDERS = [ "male", "female", "other" ] as const; // Generiere Altersliste von 1 bis 18 const AGES = Array.from({ length: 18 }, (_, i) => i + 1); interface CharacterDetailsModalProps { character: Character; characterId: string; visible: boolean; onClose: () => void; onUpdate: (updatedCharacter: Character) => void; } export default function CharacterDetailsModal({ character, characterId, visible, onClose, onUpdate }: CharacterDetailsModalProps) { const [editedCharacter, setEditedCharacter] = useState(character); const [isLoading, setIsLoading] = useState(false); useEffect(() => { setEditedCharacter(character); }, [character]); const handleSave = async () => { try { setIsLoading(true); const user = auth.currentUser; if (!user) { throw new Error('Nicht authentifiziert'); } const characterRef = doc(db, 'users', user.uid, 'characters', characterId); await updateDoc(characterRef, editedCharacter); onUpdate(editedCharacter); onClose(); } catch (error) { console.error('Error updating character:', error); // TODO: Add error handling UI } finally { setIsLoading(false); } }; return ( e.stopPropagation()}> Character bearbeiten Name: setEditedCharacter(prev => ({ ...prev, name: value }))} style={styles.input} placeholderTextColor="#666666" /> Alter: setEditedCharacter(prev => ({ ...prev, age: value }))} style={styles.picker} dropdownIconColor="#ffffff" itemStyle={styles.pickerItem} > {AGES.map((age) => ( ))} Geschlecht: setEditedCharacter(prev => ({ ...prev, gender: value }))} style={styles.picker} dropdownIconColor="#ffffff" itemStyle={styles.pickerItem} > {GENDERS.map((gender) => ( ))} Ethnische Zugehörigkeit: setEditedCharacter(prev => ({ ...prev, ethnicity: value }))} style={styles.picker} dropdownIconColor="#ffffff" itemStyle={styles.pickerItem} > {ETHNICITIES.map((ethnicity) => ( ))} Haarfarbe: setEditedCharacter(prev => ({ ...prev, hairColor: value }))} style={styles.input} placeholderTextColor="#666666" /> Augenfarbe: setEditedCharacter(prev => ({ ...prev, eyeColor: value }))} style={styles.input} placeholderTextColor="#666666" /> Hautton: setEditedCharacter(prev => ({ ...prev, skinTone: value }))} style={styles.input} placeholderTextColor="#666666" />