Implemented epics read/write
This commit is contained in:
+9
-1
@@ -3,10 +3,14 @@ import { useState, useEffect } from 'preact/hooks';
|
||||
import { wsClient } from './lib/ws';
|
||||
import ViewMode from './ViewMode';
|
||||
import EditMode from './EditMode';
|
||||
import FullscreenMode from './FullscreenMode';
|
||||
import type { Interface } from './lib/types';
|
||||
|
||||
type AppMode = 'view' | 'edit';
|
||||
|
||||
// If URL has ?fs=<id>, render bare fullscreen canvas
|
||||
const fsParam = new URLSearchParams(window.location.search).get('fs');
|
||||
|
||||
export default function App() {
|
||||
const [mode, setMode] = useState<AppMode>('view');
|
||||
const [wsStatus, setWsStatus] = useState('connecting');
|
||||
@@ -20,9 +24,13 @@ export default function App() {
|
||||
useEffect(() => {
|
||||
const dpr = window.devicePixelRatio ?? 1;
|
||||
document.documentElement.style.setProperty('--dpr', String(dpr));
|
||||
wsClient.connect('/ws');
|
||||
if (!fsParam) wsClient.connect('/ws');
|
||||
}, []);
|
||||
|
||||
if (fsParam) {
|
||||
return <FullscreenMode interfaceId={fsParam} />;
|
||||
}
|
||||
|
||||
function enterEdit(iface?: Interface) {
|
||||
setEditTarget(iface ?? null);
|
||||
setMode('edit');
|
||||
|
||||
Reference in New Issue
Block a user