import { Link, Title } from "@solidjs/meta"; import { Component, createMemo, createSignal, ErrorBoundary, ParentProps, Show } from "solid-js"; import { BsTranslate } from "solid-icons/bs"; import { FilesProvider } from "~/features/file"; import { CommandPalette, CommandPaletteApi, Menu, MenuProvider } from "~/features/menu"; import { A, createAsync, useBeforeLeave } from "@solidjs/router"; import { createCommand, Modifier } from "~/features/command"; import { ColorScheme, ColorSchemePicker, getColorScheme } from "~/components/colorschemepicker"; import css from "./editor.module.css"; export default function Editor(props: ParentProps) { const storedColorScheme = createAsync(() => getColorScheme(), { initialValue: 'Auto' }); const [commandPalette, setCommandPalette] = createSignal(); const colorScheme = createMemo(() => ColorScheme[storedColorScheme()]); const color = createMemo(() => ({ [ColorScheme.Auto]: undefined, [ColorScheme.Light]: '#eee', [ColorScheme.Dark]: '#333', }[ColorScheme[storedColorScheme()]])); const commands = [ createCommand('open command palette', () => { commandPalette()?.show(); }, { key: 'p', modifier: Modifier.Control | Modifier.Shift }), ]; const transition = (done: () => void) => { if (!document.startViewTransition) { return done() } const transition = document.startViewTransition(done) } useBeforeLeave((e) => { e.preventDefault() transition(() => { e.retry(true) }) }); return Calque
}> {props.children}
} const ErrorComp: Component<{ error: string }> = (props) => { return
{props.error}
};