diff --git a/icons.config.js b/icons.config.js index 1347733c..09857e83 100644 --- a/icons.config.js +++ b/icons.config.js @@ -94,6 +94,12 @@ const config = { "description", "add_circle", "refresh", + "tune", + "edit_document", + "chat", + "account_circle", + "experiment", + "code", ], codePoints: { speed: "e9e4", @@ -113,6 +119,7 @@ const config = { stat_minus_2: "e69c", stat_2: "e699", routine: "e20c", + experiment: "e686", }, }; diff --git a/src/lib/charrecorder/TrackChords.svelte b/src/lib/charrecorder/TrackChords.svelte index ee71e563..1b8aa04d 100644 --- a/src/lib/charrecorder/TrackChords.svelte +++ b/src/lib/charrecorder/TrackChords.svelte @@ -5,21 +5,21 @@ import { ChordsReplayPlugin } from "./core/plugins/chords.js"; import type { ReplayPlayer } from "./core/player.js"; - const player: ReplayPlayer | undefined = getContext("replay"); + const player: { player: ReplayPlayer | undefined } = getContext("replay"); let { chords = $bindable([]), count = 1, }: { chords: InferredChord[]; - count: number; + count?: number; } = $props(); if (browser) { $effect(() => { - if (!player) return; + if (!player.player) return; const tracker = new ChordsReplayPlugin(); - tracker.register(player); + tracker.register(player.player); const unsubscribe = tracker.subscribe((value) => { chords = value.slice(-count); }); diff --git a/src/lib/charrecorder/TrackRollingWpm.svelte b/src/lib/charrecorder/TrackRollingWpm.svelte index 6f8944dd..3b152b48 100644 --- a/src/lib/charrecorder/TrackRollingWpm.svelte +++ b/src/lib/charrecorder/TrackRollingWpm.svelte @@ -3,14 +3,14 @@ import { RollingWpmReplayPlugin } from "./core/plugins/rolling-wpm"; import type { ReplayPlayer } from "./core/player"; - const player: ReplayPlayer | undefined = getContext("replay"); + const player: { player: ReplayPlayer | undefined } = getContext("replay"); let { wpm = $bindable(0) } = $props(); $effect(() => { - if (!player) return; + if (!player.player) return; const tracker = new RollingWpmReplayPlugin(); - tracker.register(player); + tracker.register(player.player); const unsubscribe = tracker.subscribe((value) => { wpm = value; }); diff --git a/src/lib/popup.ts b/src/lib/popup.ts index 4a8c6c07..a0ec3ee6 100644 --- a/src/lib/popup.ts +++ b/src/lib/popup.ts @@ -10,6 +10,7 @@ export const popup: Action = ( let target: HTMLElement | undefined; const edit = tippy(node, { interactive: true, + placement: "right", trigger: "click", onShow(instance) { target = instance.popper.querySelector(".tippy-content") as HTMLElement; diff --git a/src/routes/(app)/+layout.svelte b/src/routes/(app)/+layout.svelte index 613ef199..4fbd7aa4 100644 --- a/src/routes/(app)/+layout.svelte +++ b/src/routes/(app)/+layout.svelte @@ -4,13 +4,13 @@ import "$lib/style/scrollbar.scss"; import "$lib/style/tippy.scss"; import "$lib/style/theme.scss"; + import Sidebar from "./Sidebar.svelte"; import { onDestroy, onMount, type Snippet } from "svelte"; import { applyTheme, argbFromHex, themeFromSourceColor, } from "@material/material-color-utilities"; - import Navigation from "./Navigation.svelte"; import { canAutoConnect } from "$lib/serial/device"; import { initSerial } from "$lib/serial/connection"; import type { LayoutData } from "./$types"; @@ -116,7 +116,9 @@ - +
+ + @@ -132,5 +134,18 @@ {/if} - diff --git a/src/routes/(app)/Sidebar.svelte b/src/routes/(app)/Sidebar.svelte new file mode 100644 index 00000000..0b8a3387 --- /dev/null +++ b/src/routes/(app)/Sidebar.svelte @@ -0,0 +1,88 @@ + + + + + diff --git a/src/routes/(app)/chat/+page.svelte b/src/routes/(app)/chat/+page.svelte new file mode 100644 index 00000000..be7b1331 --- /dev/null +++ b/src/routes/(app)/chat/+page.svelte @@ -0,0 +1 @@ +

WIP

diff --git a/src/routes/(app)/config/+layout.svelte b/src/routes/(app)/config/+layout.svelte new file mode 100644 index 00000000..3a999c29 --- /dev/null +++ b/src/routes/(app)/config/+layout.svelte @@ -0,0 +1,12 @@ + + + + +{#if children} + {@render children()} +{/if} diff --git a/src/routes/(app)/ConfigTabs.svelte b/src/routes/(app)/config/ConfigTabs.svelte similarity index 100% rename from src/routes/(app)/ConfigTabs.svelte rename to src/routes/(app)/config/ConfigTabs.svelte diff --git a/src/routes/(app)/EditActions.svelte b/src/routes/(app)/config/EditActions.svelte similarity index 100% rename from src/routes/(app)/EditActions.svelte rename to src/routes/(app)/config/EditActions.svelte diff --git a/src/routes/(app)/Navigation.svelte b/src/routes/(app)/config/Navigation.svelte similarity index 61% rename from src/routes/(app)/Navigation.svelte rename to src/routes/(app)/config/Navigation.svelte index 03d3bc45..b4c1a140 100644 --- a/src/routes/(app)/Navigation.svelte +++ b/src/routes/(app)/config/Navigation.svelte @@ -1,25 +1,10 @@
diff --git a/src/routes/(app)/learn/+page.svelte b/src/routes/(app)/learn/+page.svelte new file mode 100644 index 00000000..be7b1331 --- /dev/null +++ b/src/routes/(app)/learn/+page.svelte @@ -0,0 +1 @@ +

WIP

diff --git a/src/routes/(app)/plugin/+page.svelte b/src/routes/(app)/plugin/+page.svelte index 152f5aa7..1c0ca435 100644 --- a/src/routes/(app)/plugin/+page.svelte +++ b/src/routes/(app)/plugin/+page.svelte @@ -209,6 +209,7 @@
+

Plugin

diff --git a/src/routes/(app)/update-guide/+page.svelte b/src/routes/(app)/update-guide/+page.svelte deleted file mode 100644 index 59ebb320..00000000 --- a/src/routes/(app)/update-guide/+page.svelte +++ /dev/null @@ -1,10 +0,0 @@ - - -

{$LL.update.TITLE()}

- -Changelog