mirror of
https://github.com/jkingsman/Remote-Terminal-for-MeshCore.git
synced 2026-03-28 17:43:05 +01:00
Fix packet sidebar retention
This commit is contained in:
@@ -1030,6 +1030,7 @@ export function PacketVisualizer3D({
|
||||
// Persist visualizer controls to localStorage on change
|
||||
useEffect(() => {
|
||||
saveVisualizerSettings({
|
||||
...getVisualizerSettings(),
|
||||
showAmbiguousPaths,
|
||||
showAmbiguousNodes,
|
||||
useAdvertPathHints,
|
||||
|
||||
@@ -5,6 +5,7 @@ import { PacketVisualizer3D } from './PacketVisualizer3D';
|
||||
import { RawPacketList } from './RawPacketList';
|
||||
import { Tabs, TabsContent, TabsList, TabsTrigger } from './ui/tabs';
|
||||
import { cn } from '@/lib/utils';
|
||||
import { getVisualizerSettings, saveVisualizerSettings } from '../utils/visualizerSettings';
|
||||
|
||||
interface VisualizerViewProps {
|
||||
packets: RawPacket[];
|
||||
@@ -13,10 +14,18 @@ interface VisualizerViewProps {
|
||||
}
|
||||
|
||||
export function VisualizerView({ packets, contacts, config }: VisualizerViewProps) {
|
||||
const [fullScreen, setFullScreen] = useState(false);
|
||||
const [fullScreen, setFullScreen] = useState(() => getVisualizerSettings().hidePacketFeed);
|
||||
const [paneFullScreen, setPaneFullScreen] = useState(false);
|
||||
const containerRef = useRef<HTMLDivElement>(null);
|
||||
|
||||
// Persist packet feed visibility to localStorage
|
||||
useEffect(() => {
|
||||
const current = getVisualizerSettings();
|
||||
if (current.hidePacketFeed !== fullScreen) {
|
||||
saveVisualizerSettings({ ...current, hidePacketFeed: fullScreen });
|
||||
}
|
||||
}, [fullScreen]);
|
||||
|
||||
// Sync state when browser exits fullscreen (Escape, F11, etc.)
|
||||
useEffect(() => {
|
||||
const handler = () => {
|
||||
|
||||
@@ -12,6 +12,7 @@ export interface VisualizerSettings {
|
||||
pruneStaleNodes: boolean;
|
||||
autoOrbit: boolean;
|
||||
showControls: boolean;
|
||||
hidePacketFeed: boolean;
|
||||
}
|
||||
|
||||
export const VISUALIZER_DEFAULTS: VisualizerSettings = {
|
||||
@@ -26,6 +27,7 @@ export const VISUALIZER_DEFAULTS: VisualizerSettings = {
|
||||
pruneStaleNodes: false,
|
||||
autoOrbit: false,
|
||||
showControls: true,
|
||||
hidePacketFeed: false,
|
||||
};
|
||||
|
||||
export function getVisualizerSettings(): VisualizerSettings {
|
||||
@@ -74,6 +76,10 @@ export function getVisualizerSettings(): VisualizerSettings {
|
||||
typeof parsed.showControls === 'boolean'
|
||||
? parsed.showControls
|
||||
: VISUALIZER_DEFAULTS.showControls,
|
||||
hidePacketFeed:
|
||||
typeof parsed.hidePacketFeed === 'boolean'
|
||||
? parsed.hidePacketFeed
|
||||
: VISUALIZER_DEFAULTS.hidePacketFeed,
|
||||
};
|
||||
} catch {
|
||||
return { ...VISUALIZER_DEFAULTS };
|
||||
|
||||
Reference in New Issue
Block a user