diff --git a/package-lock.json b/package-lock.json index 0ae0cc51..49fa0cd1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,6 +19,7 @@ "@types/w3c-web-serial": "^1.0.3", "@vite-pwa/sveltekit": "^0.2.5", "autoprefixer": "^10.4.14", + "flexsearch": "^0.7.31", "fontkit": "^2.0.2", "glob": "^10.3.1", "prettier": "^2.8.0", @@ -3907,6 +3908,12 @@ "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, + "node_modules/flexsearch": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/flexsearch/-/flexsearch-0.7.31.tgz", + "integrity": "sha512-XGozTsMPYkm+6b5QL3Z9wQcJjNYxp0CYn3U1gO7dwD6PAqU1SVWZxI9CCg3z+ml3YfqdPnrBehaBrnH2AGKbNA==", + "dev": true + }, "node_modules/fontkit": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/fontkit/-/fontkit-2.0.2.tgz", diff --git a/package.json b/package.json index 43a455c2..c5b779c7 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "stylelint-config-recommended-scss": "^12.0.0", "stylelint-config-clean-order": "^5.0.1", "glob": "^10.3.1", + "flexsearch": "^0.7.31", "@sveltejs/adapter-static": "^2.0.2", "@sveltejs/kit": "^1.20.4", "@material/material-color-utilities": "^0.2.7", diff --git a/src/lib/components/Terminal.svelte b/src/lib/components/Terminal.svelte index 2597a450..789ea03c 100644 --- a/src/lib/components/Terminal.svelte +++ b/src/lib/components/Terminal.svelte @@ -44,21 +44,6 @@ border-radius: 16px; } - ::-webkit-scrollbar { - width: 8px; - background: transparent; - border-radius: 4px; - } - - ::-webkit-scrollbar-thumb { - background: var(--md-sys-color-on-secondary); - border-radius: 4px; - } - - ::-webkit-resizer { - display: none; - } - fieldset::before { content: "$"; @@ -86,6 +71,8 @@ } .io { + --scrollbar-color: var(--md-sys-color-secondary); + z-index: 1; overflow-y: auto; diff --git a/src/lib/style/scrollbar.scss b/src/lib/style/scrollbar.scss new file mode 100644 index 00000000..4fe1a666 --- /dev/null +++ b/src/lib/style/scrollbar.scss @@ -0,0 +1,23 @@ +::-webkit-scrollbar { + width: 8px; + background: transparent; + border-radius: 4px; +} + +::-webkit-scrollbar-thumb { + background: var(--scrollbar-color, white); + border-radius: 4px; + transition: all 250ms ease; + + &:hover { + filter: brightness(120%); + } + + &:active { + filter: brightness(80%); + } +} + +::-webkit-resizer { + display: none; +} diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 5b52648c..adc08cae 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -1,6 +1,7 @@ Chord Manager +{#if searchIndex} + +{/if} +

You have {$chords.length} chords

- {#each $chords as { phrase, actions }} - + {#each items.slice(0, 50) as [{ phrase, actions }, i]} +
{phrase} {#each actions as action} @@ -29,14 +59,52 @@