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/ScreenSpecificSettings.svelte b/src/lib/components/settings/ScreenSpecificSettings.svelte
index bae67df..4aa703b 100644
--- a/src/lib/components/settings/ScreenSpecificSettings.svelte
+++ b/src/lib/components/settings/ScreenSpecificSettings.svelte
@@ -5,9 +5,39 @@
import ToggleHeader from '../ToggleHeader.svelte';
import { uiSettings } from '$lib/uiSettings';
import { DataSourceType } from '$lib/types/dataSource';
+ import { onMount } from 'svelte';
export let settings;
export let isOpen = false;
+
+ let availableCurrencies: string[] = [];
+ let prevLnbitsEnabled: boolean;
+
+ function updateCurrencies(enabled: boolean) {
+ if (enabled) {
+ fetch(`https://${$settings.lnbitsInstance}/api/v1/currencies`)
+ .then((res) => 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)
+ );
+ availableCurrencies = $settings.availableCurrencies;
+ }
+ }
+
+ onMount(() => {
+ prevLnbitsEnabled = $settings.lnbitsEnabled;
+ updateCurrencies($settings.lnbitsEnabled);
+ });
+
+ $: if (prevLnbitsEnabled !== $settings.lnbitsEnabled) {
+ prevLnbitsEnabled = $settings.lnbitsEnabled;
+ updateCurrencies($settings.lnbitsEnabled);
+ }
@@ -104,9 +134,9 @@
{$_('section.settings.currencies')}
{$_('restartRequired')}
- {#if $settings.availableCurrencies}
- {#each $settings.availableCurrencies as c}
-
+ {#if availableCurrencies}
+ {#each availableCurrencies as c}
+