portal is the answer I was looking for

This commit is contained in:
Chris Kruining 2024-09-26 15:47:19 +02:00
parent 2ec83e2ccb
commit 4b3d91d6cd
3 changed files with 76 additions and 80 deletions

View file

@ -1,17 +1,20 @@
import { Title } from "@solidjs/meta";
import { JSX, createSignal } from "solid-js";
import { FilesProvider } from "~/features/file";
import { MenuRoot, MenuProvider } from "~/features/menu";
import { MenuProvider, Menu } from "~/features/menu";
export default function Editor(props) {
return <MenuProvider>
<nav>
<Title>Translation-Tool</Title>
const [ref, setRef] = createSignal<JSX.Element>();
return <MenuProvider root={ref()}>
<Title>Translation-Tool</Title>
<nav ref={setRef}>
<a href="/">Index</a>
<a href="/about">About</a>
<MenuRoot />
</nav>
<main>
<FilesProvider>
{props.children}

View file

@ -1,21 +1,21 @@
import { Menu, MenuItem } from "~/features/menu";
import { Menu } from "~/features/menu";
export default function Index() {
return (
<>
<Menu>
<MenuItem label="file">
<MenuItem label="open" />
<Menu.Root>
<Menu.Item label="file">
<Menu.Item label="open" />
<MenuItem label="save" />
</MenuItem>
<Menu.Item label="save" />
</Menu.Item>
<MenuItem label="edit" />
<Menu.Item label="edit" />
<MenuItem label="selection" />
<Menu.Item label="selection" />
<MenuItem label="view" />
</Menu>
<Menu.Item label="view" />
</Menu.Root>
</>
);
}