diff --git a/web/src/components/Overlay/Editor.tsx b/web/src/components/Overlay/Editor.tsx index 4c5a39b..c5d0084 100644 --- a/web/src/components/Overlay/Editor.tsx +++ b/web/src/components/Overlay/Editor.tsx @@ -1,15 +1,28 @@ -import { Tldraw, TldrawProps } from '@tldraw/tldraw'; +import { Tldraw, TldrawProps, useEditor } from '@tldraw/tldraw'; import '@tldraw/tldraw/tldraw.css'; import { useYjsStore } from '../../hooks/useYjsStore'; import { useStore } from '../../store'; -export function Editor(props: Partial) { +type Props = { + overlayId: string; + readonly?: boolean; +} + +export function Editor(props: Partial & Props) { const yjsWsUrl = useStore(state => state.yjsWsUrl); const store = useYjsStore({ - roomId: 'example17', + roomId: props.overlayId, hostUrl: yjsWsUrl, }); + const editor = useEditor(); + + + if (props.readonly && editor) { + console.log(editor); + // editor.setCamera({ x: 0, y: 0, z: 1 }); + // editor.updateInstanceState({ isReadonly: true, canMoveCamera: false }) + } return } \ No newline at end of file diff --git a/web/src/components/Overlay/OverlayPage.tsx b/web/src/components/Overlay/IframeOverlayPage.tsx similarity index 74% rename from web/src/components/Overlay/OverlayPage.tsx rename to web/src/components/Overlay/IframeOverlayPage.tsx index ee82276..95862a1 100644 --- a/web/src/components/Overlay/OverlayPage.tsx +++ b/web/src/components/Overlay/IframeOverlayPage.tsx @@ -2,10 +2,13 @@ import dynamic from 'next/dynamic'; import Head from 'next/head'; +import { useParams } from 'next/navigation'; const Editor = dynamic(async () => (await import('./Editor')).Editor, { ssr: false }) -export function OverlayPage() { +export function IframeOverlayPage() { + const { overlayId } = useParams<{ overlayId: string }>(); + return (
@@ -19,7 +22,7 @@ export function OverlayPage() { } `} - +
); } \ No newline at end of file diff --git a/web/src/components/Overlays/OverlaysPage.tsx b/web/src/components/Overlay/OverlaysPage.tsx similarity index 73% rename from web/src/components/Overlays/OverlaysPage.tsx rename to web/src/components/Overlay/OverlaysPage.tsx index c7560fa..baf2182 100644 --- a/web/src/components/Overlays/OverlaysPage.tsx +++ b/web/src/components/Overlay/OverlaysPage.tsx @@ -1,6 +1,6 @@ import dynamic from "next/dynamic"; import { useUserConfig } from "../../hooks/useUserConfig"; -const Editor = dynamic(async () => (await import('./../Overlay/Editor')).Editor, { ssr: false }) +const Editor = dynamic(async () => (await import('./Editor')).Editor, { ssr: false }) export function OverlaysPage() { const [userCfg, setUserConfig, , loading, errorMessage] = useUserConfig(); @@ -9,6 +9,6 @@ export function OverlaysPage() { } return
- + Table with overlays
; } \ No newline at end of file diff --git a/web/src/pages/overlay/[overlayid].tsx b/web/src/pages/overlay/[overlayId].tsx similarity index 61% rename from web/src/pages/overlay/[overlayid].tsx rename to web/src/pages/overlay/[overlayId].tsx index 6866e51..37e19e6 100644 --- a/web/src/pages/overlay/[overlayid].tsx +++ b/web/src/pages/overlay/[overlayId].tsx @@ -1,9 +1,9 @@ import React from "react"; import { initializeStore } from "../../service/initializeStore"; -import { OverlayPage } from "../../components/Overlay/OverlayPage"; +import { IframeOverlayPage } from "../../components/Overlay/IframeOverlayPage"; export default function Overlay() { - return + return } export const getServerSideProps = initializeStore; \ No newline at end of file diff --git a/web/src/pages/overlay/edit/[overlayId].tsx b/web/src/pages/overlay/edit/[overlayId].tsx new file mode 100644 index 0000000..1862d1f --- /dev/null +++ b/web/src/pages/overlay/edit/[overlayId].tsx @@ -0,0 +1,13 @@ +'use client'; + +import dynamic from "next/dynamic"; +import { useParams } from "next/navigation"; +const Editor = dynamic(async () => (await import('../../../components/Overlay/Editor')).Editor, { ssr: false }) + +export default function OverlaysEditPage() { + const params = useParams<{ overlayId: string }>(); + + return
+ +
; +} \ No newline at end of file diff --git a/web/src/pages/overlay/index.tsx b/web/src/pages/overlay/index.tsx new file mode 100644 index 0000000..8b77f79 --- /dev/null +++ b/web/src/pages/overlay/index.tsx @@ -0,0 +1,8 @@ +import { OverlaysPage } from "../../components/Overlay/OverlaysPage"; +import { initializeStore } from "../../service/initializeStore"; + +export default function OverlaysPageRoute() { + return +} + +export const getServerSideProps = initializeStore; \ No newline at end of file diff --git a/web/src/pages/overlays.tsx b/web/src/pages/overlays.tsx deleted file mode 100644 index f214d2d..0000000 --- a/web/src/pages/overlays.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import { OverlaysPage } from "../components/Overlays/OverlaysPage"; -import { initializeStore } from "../service/initializeStore"; - -export default function Overlays() { - return -} - -export const getServerSideProps = initializeStore; \ No newline at end of file