fix(app): Cockpit — alle Kacheln sichtbar + Uebersicht-Button in den Header

Zwei Nachbesserungen am Cockpit-Modus (noch Teil von 0.2.1.9):
- Im Cockpit werden IMMER alle vier Kacheln gezeigt (Chat/Editor/Desktop/
  Vorschau) statt erst bei Code-Projekten — Editor/Desktop/Vorschau als
  Platzhalter mit Status-Untertitel. Vorher wirkten sie "verschwunden".
- Der "⤢ Uebersicht"-Button hing im Chat genau ueber dem Abbrechen-Button der
  "ARIA denkt"-Leiste. Jetzt sitzt er im Navigations-Header links (nur sichtbar
  im Cockpit + Fokus), via neuem cockpitNav-Signal-Singleton. In-Content-Button
  entfernt.

tsc clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-17 14:46:49 +02:00
co-authored by Claude Opus 4.8
parent 9950cdea87
commit b839b059d0
6 changed files with 122 additions and 31 deletions
@@ -0,0 +1,48 @@
/**
* CockpitOverviewButton — Header-Button (links) für „⤢ Übersicht".
*
* Nur sichtbar im Cockpit-Modus, wenn gerade eine Kachel fokussiert ist. Sitzt
* im Navigations-Header, kollidiert also mit nichts im Chat (früher hing er über
* dem Abbrechen-Button der „ARIA denkt"-Leiste).
*/
import React, { useEffect, useState } from 'react';
import { StyleSheet, Text, TouchableOpacity } from 'react-native';
import cockpitNav from '../services/cockpitNav';
import viewMode, { ViewModeValue } from '../services/viewMode';
const CockpitOverviewButton: React.FC = () => {
const [mode, setMode] = useState<ViewModeValue>(viewMode.get());
const [focused, setFocused] = useState<boolean>(cockpitNav.isFocused());
useEffect(() => viewMode.subscribe(setMode), []);
useEffect(() => cockpitNav.subscribe(setFocused), []);
if (mode !== 'cockpit' || !focused) return null;
return (
<TouchableOpacity
onPress={() => cockpitNav.requestOverview()}
style={styles.pill}
hitSlop={{ top: 10, bottom: 10, left: 10, right: 10 }}
activeOpacity={0.75}
>
<Text style={styles.text}> Übersicht</Text>
</TouchableOpacity>
);
};
const styles = StyleSheet.create({
pill: {
marginLeft: 12,
paddingHorizontal: 12,
paddingVertical: 6,
borderRadius: 16,
borderWidth: 1,
borderColor: '#0096FF',
backgroundColor: '#0A1F33',
},
text: { color: '#0096FF', fontSize: 13, fontWeight: '700' },
});
export default CockpitOverviewButton;