Skip to content

Commit a6458d4

Browse files
committed
render into header
1 parent 908f0be commit a6458d4

File tree

2 files changed

+33
-4
lines changed

2 files changed

+33
-4
lines changed

playground/components/header.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,11 @@ export const Header: Component<{
3333
<a href="https://github.com/solidjs/solid">
3434
<img src={logo} alt="solid-js logo" class="w-8" />
3535
</a>
36-
<span class="inline-block -mb-1">
37-
Solid<b>JS</b> Playground
38-
</span>
36+
<div id="project-name">
37+
<span class="inline-block -mb-1">
38+
Solid<b>JS</b> Playground
39+
</span>
40+
</div>
3941
</h1>
4042
<div class="flex items-center">
4143
<Dismiss

playground/pages/edit.tsx

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,16 @@ import tsWorker from 'monaco-editor/esm/vs/language/typescript/ts.worker?worker'
33
import cssWorker from 'monaco-editor/esm/vs/language/css/css.worker?worker';
44
import CompilerWorker from '../../src/workers/compiler?worker';
55
import FormatterWorker from '../../src/workers/formatter?worker';
6-
import { createEffect, createResource, createSignal, lazy, Suspense } from 'solid-js';
6+
import {
7+
createEffect,
8+
createResource,
9+
createSignal,
10+
lazy,
11+
onCleanup,
12+
onMount,
13+
ParentComponent,
14+
Suspense,
15+
} from 'solid-js';
716
import { useParams } from 'solid-app-router';
817
import { API, useAppContext } from '../context';
918
import createDebounce from '@solid-primitives/debounce';
@@ -55,6 +64,21 @@ const createTabList = () => {
5564
return mapTabs;
5665
};
5766

67+
const RenderHeader: ParentComponent = (props) => {
68+
onMount(() => {
69+
const projectName = document.getElementById('project-name')!;
70+
const content = projectName.firstChild!;
71+
content.remove();
72+
const children = props.children as HTMLElement;
73+
projectName.appendChild(children);
74+
onCleanup(() => {
75+
projectName.appendChild(content);
76+
projectName.removeChild(children);
77+
});
78+
});
79+
return <></>;
80+
};
81+
5882
export const Edit = (props: { dark: boolean; horizontal: boolean }) => {
5983
const compiler = new CompilerWorker();
6084
const formatter = new FormatterWorker();
@@ -148,6 +172,9 @@ export const Edit = (props: { dark: boolean; horizontal: boolean }) => {
148172
setCurrent={setCurrent}
149173
id="repl"
150174
/>
175+
<RenderHeader>
176+
<input class="bg-transparent" value={resource()?.repl?.title || ''} />
177+
</RenderHeader>
151178
</Suspense>
152179
);
153180
};

0 commit comments

Comments
 (0)