diff --git a/package.json b/package.json index 8596a5c..64441f0 100644 --- a/package.json +++ b/package.json @@ -63,7 +63,8 @@ "nostr-tools": "^2.7.1", "patch-package": "^8.0.0", "svelte-bootstrap-icons": "^3.1.1", - "svelte-i18n": "^4.0.0" + "svelte-i18n": "^4.0.0", + "svelte-multiselect": "^11.0.0-rc.1" }, "resolutions": { "es5-ext": ">=0.10.64", diff --git a/src/lib/components/SettingsInput.svelte b/src/lib/components/SettingsInput.svelte index 01738e6..a298ba1 100644 --- a/src/lib/components/SettingsInput.svelte +++ b/src/lib/components/SettingsInput.svelte @@ -25,10 +25,10 @@ export let invalid: boolean | undefined = undefined; export let minlength: string | undefined = undefined; export let onChange: (() => void) | undefined = undefined; - export let onInput: ((e: Event) => void) | undefined = undefined; + export let onInput: (() => void) | undefined = undefined; - const onInputHandler = (e: Event) => { - onInput?.(e); + const onInputHandler = () => { + onInput?.(); }; diff --git a/src/lib/components/settings/DataSourceSettings.svelte b/src/lib/components/settings/DataSourceSettings.svelte index 5891573..1166625 100644 --- a/src/lib/components/settings/DataSourceSettings.svelte +++ b/src/lib/components/settings/DataSourceSettings.svelte @@ -138,5 +138,31 @@ size={$uiSettings.inputSize} /> {/if} + + + + {#if $settings.lnbitsEnabled} + + + + HTTPS + + + {/if} diff --git a/src/lib/components/settings/DisplaySettings.svelte b/src/lib/components/settings/DisplaySettings.svelte index 0edaad0..0c1ed38 100644 --- a/src/lib/components/settings/DisplaySettings.svelte +++ b/src/lib/components/settings/DisplaySettings.svelte @@ -33,8 +33,6 @@ : font.charAt(0).toUpperCase() + font.slice(1), font ]); - - let timePerScreen = $settings.timePerScreen; @@ -63,8 +61,7 @@ ($settings.timePerScreen = Number(e.target.value))} + bind:value={$settings.timePerScreen} type="number" min={1} step={1} @@ -72,6 +69,7 @@ suffix={$_('time.minutes')} size={$uiSettings.inputSize} /> + {/if} - - - res.json()) + .then((data) => { + availableCurrencies = data; + }); + } else { + // Remove any currencies from actCurrencies that aren't in availableCurrencies + $settings.actCurrencies = $settings.actCurrencies.filter((curr: string) => + $settings.availableCurrencies.includes(curr) + ); + activeCurrencies = $settings.actCurrencies; + availableCurrencies = $settings.availableCurrencies; + } + } + + let activeCurrencies: { label: string; value: string }[] = []; + + onMount(() => { + prevLnbitsEnabled = $settings.lnbitsEnabled; + updateCurrencies($settings.lnbitsEnabled); + }); + + $: { + if (prevLnbitsEnabled !== $settings.lnbitsEnabled) { + prevLnbitsEnabled = $settings.lnbitsEnabled; + updateCurrencies($settings.lnbitsEnabled); + } + if (!activeCurrencies.length) { + activeCurrencies = $settings.actCurrencies; + } else { + $settings.actCurrencies = activeCurrencies; + } + } @@ -75,16 +115,6 @@ size={$uiSettings.inputSize} col={{ md: '6', xl: '12', xxl: '6' }} /> - - {#if !$settings.actCurrencies} - - {/if}
{$_('section.settings.screens')}
@@ -104,22 +134,14 @@
{$_('section.settings.currencies')}
{$_('restartRequired')} - {#if $settings.availableCurrencies} - {#each $settings.availableCurrencies as c} - -
- - -
- - {/each} - {/if} + + +
{/if} diff --git a/src/lib/locales/de.json b/src/lib/locales/de.json index 6671619..2044e49 100644 --- a/src/lib/locales/de.json +++ b/src/lib/locales/de.json @@ -73,8 +73,7 @@ "dndStartHour": "Startstunde", "dndStartMinute": "Startminute", "dndEndHour": "Endstunde", - "dndEndMinute": "Schlussminute", - "screenRestoreZap": "Vorherigen Bildschirmzustand nach Zap wieder herstellen (Verwendet {setting} Einstellung)" + "dndEndMinute": "Schlussminute" }, "control": { "systemInfo": "Systeminfo", @@ -89,8 +88,7 @@ "hostname": "Hostname", "frontlight": "Displaybeleuchtung", "turnOn": "Einschalten", - "flashFrontlight": "Blinken", - "fwCommitMismatch": "Die Firmware -Version unterscheidet sich von der WebUI -Version, dies kann zu Problemen führen." + "flashFrontlight": "Blinken" }, "status": { "title": "Status", diff --git a/src/lib/locales/en.json b/src/lib/locales/en.json index 40476d8..7517f3e 100644 --- a/src/lib/locales/en.json +++ b/src/lib/locales/en.json @@ -78,7 +78,7 @@ "dataSource": { "label": "Data Source", "btclock": "BTClock Data Source", - "thirdParty": "mempool.space/Kraken", + "thirdParty": "mempool.space/coincap.io", "nostr": "Nostr publisher", "custom": "Custom Endpoint" }, @@ -91,7 +91,8 @@ "dndStartMinute": "Start minute", "dndEndHour": "End hour", "dndEndMinute": "End minute", - "screenRestoreZap": "Restore previous screen state after zap (Uses {setting} setting)" + "lnbitsEnabled": "LNBits multi-currency integration", + "lnbitsInstance": "LNbits instance hostname" }, "control": { "systemInfo": "System info", @@ -108,8 +109,7 @@ "turnOn": "Turn on", "flashFrontlight": "Flash", "firmwareUpdate": "Firmware update", - "fwCommit": "Firmware commit", - "fwCommitMismatch": "The firmware version is different from the WebUI version, this might cause problems. " + "fwCommit": "Firmware commit" }, "status": { "title": "Status", diff --git a/src/lib/locales/es.json b/src/lib/locales/es.json index e9edba5..4033cab 100644 --- a/src/lib/locales/es.json +++ b/src/lib/locales/es.json @@ -47,7 +47,7 @@ "section": { "displaysAndLed": "Pantallas y LED", "screenSettings": "Específico de la pantalla", - "dataSource": "Fuente de datos", + "dataSource": "fuente de datos", "extraFeatures": "Funciones adicionales", "system": "Sistema" }, @@ -72,8 +72,7 @@ "dndStartHour": "Hora de inicio", "dndStartMinute": "Minuto de inicio", "dndEndHour": "Hora final", - "dndEndMinute": "Minuto final", - "screenRestoreZap": "Restaurar el estado de pantalla anterior después de Zap (Usa la configuración {setting})" + "dndEndMinute": "Minuto final" }, "control": { "turnOff": "Apagar", @@ -88,8 +87,7 @@ "hostname": "Nombre del host", "turnOn": "Encender", "frontlight": "Luz de la pantalla", - "flashFrontlight": "Luz intermitente", - "fwCommitMismatch": "La versión de firmware es diferente de la versión WebUI, esto podría causar problemas." + "flashFrontlight": "Luz intermitente" }, "status": { "memoryFree": "Memoria RAM libre", diff --git a/src/lib/locales/nl.json b/src/lib/locales/nl.json index 8b6bd64..b239905 100644 --- a/src/lib/locales/nl.json +++ b/src/lib/locales/nl.json @@ -64,8 +64,7 @@ "dndStartHour": "Begin uur", "dndStartMinute": "Beginminuut", "dndEndHour": "Eind uur", - "dndEndMinute": "Einde minuut", - "screenRestoreZap": "Herstel vorige schermstatus na zap (Gebruikt {setting} instelling)" + "dndEndMinute": "Einde minuut" }, "control": { "systemInfo": "Systeeminformatie", @@ -79,8 +78,7 @@ "title": "Besturing", "frontlight": "Displaylicht", "turnOn": "Aanzetten", - "flashFrontlight": "Knipper", - "fwCommitMismatch": "De firmwareversie verschilt van de WebUI -versie, dit kan problemen veroorzaken." + "flashFrontlight": "Knipper" }, "status": { "title": "Status", diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 5971a12..8199c48 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -13,8 +13,9 @@ import { uiSettings } from '$lib/uiSettings'; let settings = writable({ - isLoaded: false, - timePerScreen: 0 + fgColor: '0', + bgColor: '0', + isLoaded: false }); let status = writable({ diff --git a/src/routes/Control.svelte b/src/routes/Control.svelte index c4e96c1..fc3d76e 100644 --- a/src/routes/Control.svelte +++ b/src/routes/Control.svelte @@ -13,8 +13,7 @@ Form, Input, Label, - Row, - Alert + Row } from '@sveltestrap/sveltestrap'; import FirmwareUpdater from './FirmwareUpdater.svelte'; import { uiSettings } from '$lib/uiSettings'; @@ -227,11 +226,6 @@
  • WebUI commit:
  • {$_('section.control.hostname')}:
  • - {#if $settings.gitRev != $settings.fsRev} - - ⚠️ {$_('warning')}: {$_('section.control.fwCommitMismatch')} - - {/if}