feat(app): Workbench-Dock statt Zoom-Landkarte + bedienbare VNC-Konsole (0.2.2.0)
Cockpit neu gedacht — das Pinch-Zoom-Landkarten-Konzept war auf 5 Zoll fummelig: - WorkspaceDeck + WorkspaceDock: Taskleiste unten (Chat · Code · Desktop), Ein-Tap-Panelwechsel im Daumenbereich, animierter Indikator, Aktivitaets- Badges (Code blau / Desktop gruen), Safe-Area, blendet bei offener Tastatur aus. Panels bildschirmfuellend + immer gemountet (kein Remount). - noVNC bedienbar: novncHtml bekommt Tastatur-Bridge (verstecktes Input-Feld → rfb.sendKey inkl. Enter/Backspace/Pfeile), Strg-Alt-Entf, Fit↔1:1. VncTile zeigt eine Steuerungs-Leiste (⌨ / Strg+Alt+Entf / ⤢). - Entfernt: WorkspaceCanvas, Tile, PreviewTile, CockpitOverviewButton, cockpitNav (Pinch-Canvas + Uebersichts-Button obsolet). layout.ts auf Panel-Metadaten geschlankt. Header nur noch mit Kompakt/Cockpit-Umschalter. tsc clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1,48 +0,0 @@
|
||||
/**
|
||||
* 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;
|
||||
Reference in New Issue
Block a user