diff --git a/android/src/screens/ChatScreen.tsx b/android/src/screens/ChatScreen.tsx index dffeab2..22ff768 100644 --- a/android/src/screens/ChatScreen.tsx +++ b/android/src/screens/ChatScreen.tsx @@ -90,6 +90,7 @@ const ChatScreen: React.FC = () => { const [showCameraUpload, setShowCameraUpload] = useState(false); const [gpsEnabled, setGpsEnabled] = useState(false); const [wakeWordActive, setWakeWordActive] = useState(false); + const [fullscreenImage, setFullscreenImage] = useState(null); const flatListRef = useRef(null); const messageIdCounter = useRef(0); @@ -525,12 +526,12 @@ const ChatScreen: React.FC = () => { {item.attachments?.map((att, idx) => ( {att.type === 'image' && att.uri ? ( + setFullscreenImage(att.uri || null)} activeOpacity={0.8}> { - // Bild nicht mehr verfuegbar — Placeholder setzen setMessages(prev => prev.map(m => m.id === item.id ? { ...m, attachments: m.attachments?.map((a, i) => i === idx ? { ...a, uri: undefined } : a @@ -538,6 +539,7 @@ const ChatScreen: React.FC = () => { )); }} /> + ) : att.type === 'image' && !att.uri ? ( { )} + {/* Bild-Vollbild Modal */} + setFullscreenImage(null)}> + setFullscreenImage(null)} + > + {fullscreenImage && ( + + )} + + + {/* Datei-Upload Modal */} @@ -757,7 +776,8 @@ const styles = StyleSheet.create({ }, attachmentImage: { width: '100%', - height: 200, + minHeight: 200, + maxHeight: 400, borderRadius: 8, marginBottom: 6, backgroundColor: '#0D0D1A', @@ -867,6 +887,16 @@ const styles = StyleSheet.create({ wakeWordIcon: { fontSize: 16, }, + fullscreenOverlay: { + flex: 1, + backgroundColor: 'rgba(0,0,0,0.95)', + justifyContent: 'center', + alignItems: 'center', + }, + fullscreenImage: { + width: '100%', + height: '100%', + }, modalOverlay: { flex: 1, backgroundColor: 'rgba(0,0,0,0.6)', diff --git a/bridge/aria_bridge.py b/bridge/aria_bridge.py index a9dd67a..7163876 100644 --- a/bridge/aria_bridge.py +++ b/bridge/aria_bridge.py @@ -184,6 +184,9 @@ class VoiceEngine: tmp_path = tmp.name with wave.open(tmp_path, "wb") as wav_file: + wav_file.setnchannels(1) + wav_file.setsampwidth(2) # 16-bit + wav_file.setframerate(voice.config.sample_rate) voice.synthesize(text, wav_file) audio_data = Path(tmp_path).read_bytes() diff --git a/issue.md b/issue.md index b87cbf2..ed58fb1 100644 --- a/issue.md +++ b/issue.md @@ -19,3 +19,7 @@ unserer memory brain bilder im chat größer darstellen # ende + + +die viper voices downloaden über die diagnostic +# ende \ No newline at end of file