Some UI improvements

This commit is contained in:
Romein van Buren 2023-02-23 11:03:15 +01:00
parent 9c8b939fc0
commit 59d36ed208
Signed by: romein
GPG Key ID: 0EFF8478ADDF6C49
3 changed files with 21 additions and 16 deletions

View File

@ -40,7 +40,7 @@ button {
} }
.btn { .btn {
border: 1px solid var(--dark); border: 1px solid var(--body-fg);
padding: 0.7rem; padding: 0.7rem;
border-radius: var(--radius); border-radius: var(--radius);
} }

View File

@ -4,9 +4,11 @@
let open = false; let open = false;
let showCopyCheck = false; let showCopyCheck = false;
let copyButton;
function toggle() { function openModal() {
open = !open; open = true;
copyButton?.focus();
} }
function copy() { function copy() {
@ -16,15 +18,24 @@
setTimeout(() => showCopyCheck = false, 2000); setTimeout(() => showCopyCheck = false, 2000);
} }
} }
function keydown(event) {
if ((event.key === ',') && (event.metaKey || event.ctrlKey)) {
event.preventDefault();
openModal();
}
}
</script> </script>
<button class="settings" on:click={toggle}> <svelte:window on:keydown={keydown} />
<button class="settings" on:click={openModal}>
Settings Settings
</button> </button>
<Modal title="Settings" bind:open> <Modal title="Settings" bind:open>
<div class="mb"> <div class="mb">
<button on:click={copy} class="btn copy"> <button on:click={copy} class="btn copy" bind:this={copyButton}>
Copy settings to clipboard Copy settings to clipboard
{#if showCopyCheck} {#if showCopyCheck}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 405.27 405.27"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 405.27 405.27">

View File

@ -803,7 +803,9 @@ module.exports = {
{ route: '/status/dashboard', { route: '/status/dashboard',
method: 'get', method: 'get',
handler: async (req, res) => { handler: async (req, res) => {
if (!renderedDashboard) { // const cacheValid = !!renderedDashboard;
const cacheValid = true;
if (!cacheValid) {
// Build dashboard // Build dashboard
let cssOutput = ''; let cssOutput = '';
@ -811,17 +813,9 @@ module.exports = {
const bundle = await buildDeps.rollup({ const bundle = await buildDeps.rollup({
input: __dirname + '/gui/dashboard/index.js', input: __dirname + '/gui/dashboard/index.js',
plugins: [ plugins: [
buildDeps.svelte({ buildDeps.svelte({ compilerOptions: { dev: false, generate: 'dom' } }),
compilerOptions: {
dev: false,
generate: 'dom',
},
}),
buildDeps.css({ output: style => cssOutput = style }), buildDeps.css({ output: style => cssOutput = style }),
buildDeps.resolve({ buildDeps.resolve({ browser: true, dedupe: [ 'svelte' ] }),
browser: true,
dedupe: [ 'svelte' ],
}),
buildDeps.commonjs(), buildDeps.commonjs(),
buildDeps.terser(), buildDeps.terser(),
], ],