Der Chat-Tab hostet ab jetzt den Workspace-Canvas (eine ChatScreen-Instanz,
kein Doppel-Mount). Zwei Ebenen:
- Welt-Ebene (reanimated scale/translate): leichte Thumbnail-Kacheln, 2-Finger
Pinch-Zoom + 2-Finger-Pan nur in der Uebersicht (gesture-handler).
- Identity-Content-Ebene (Scale 1): schwere Inhalte (ChatScreen + kommende
WebViews) immer gemountet, nur die fokussierte per display sichtbar → Touch/
Keyboard bleiben korrekt, nichts remountet beim Fokuswechsel.
Tap auf Kachel = Fokus (voll interaktiv), "⤢ Uebersicht"/Hardware-Back = zurueck
zur Landkarte. Bei nur einer Kachel (reiner Chat) ist diese dauerhaft fokussiert
→ verhaelt sich exakt wie der bisherige Vollbild-Chat.
Neue Dateien unter android/src/workspace/: layout.ts (Kamera-Mathe, Center-
Origin fuer RN 0.73), WorkspaceCanvas.tsx, WorkspaceScreen.tsx, Tile.tsx,
tiles/{ChatTile,CodeEditorTile,VncTile,PreviewTile}.tsx. Editor/VNC sind noch
Platzhalter (Commit 5/7). tsc clean.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
16 lines
566 B
TypeScript
16 lines
566 B
TypeScript
/**
|
|
* ChatTile — hostet die bestehende ChatScreen unveraendert als Workspace-Kachel.
|
|
*
|
|
* ChatScreen bleibt genau EINE Instanz (der Workspace-Tab ersetzt den alten
|
|
* Chat-Tab) und wird nie beim Fokuswechsel remountet — sie liegt in der
|
|
* Identity-Content-Ebene und wird nur per display ein-/ausgeblendet. So
|
|
* behaelt sie RVS-Abos, Audio, Queue-State und Keyboard-Verhalten wie bisher.
|
|
*/
|
|
|
|
import React from 'react';
|
|
import ChatScreen from '../../screens/ChatScreen';
|
|
|
|
const ChatTile: React.FC = () => <ChatScreen />;
|
|
|
|
export default React.memo(ChatTile);
|