diff --git a/src/app/components/Zap.svelte b/src/app/components/Zap.svelte index 56aa79a2..90a3afb8 100644 --- a/src/app/components/Zap.svelte +++ b/src/app/components/Zap.svelte @@ -1,4 +1,6 @@ @@ -145,12 +119,15 @@ {/snippet} - + + {#each $zapAmounts as preset} + selectAmount(preset)}> + {preset} + + {/each} + diff --git a/src/app/components/ZapInvoice.svelte b/src/app/components/ZapInvoice.svelte index f11f71c0..72302c26 100644 --- a/src/app/components/ZapInvoice.svelte +++ b/src/app/components/ZapInvoice.svelte @@ -1,5 +1,7 @@ @@ -189,12 +163,15 @@ {/snippet} - + + {#each $zapAmounts as preset} + selectAmount(preset)}> + {preset} + + {/each} + Want to zap directly? diff --git a/src/app/settings.ts b/src/app/settings.ts index 71e6c006..c2232acc 100644 --- a/src/app/settings.ts +++ b/src/app/settings.ts @@ -37,6 +37,7 @@ export type SettingsValues = { send_delay: number font_size: number alerts: SpaceNotificationSettings[] + zap_amounts: number[] } export type Settings = { @@ -54,6 +55,7 @@ export const defaultSettings: SettingsValues = { send_delay: 0, font_size: 1.1, alerts: [], + zap_amounts: [21, 210, 2100, 21000], } export const settingsByPubkey = deriveItemsByKey({ @@ -80,6 +82,8 @@ export const loadUserSettings = makeUserLoader(loadSettings) export const userSettingsValues = derived(userSettings, $s => $s?.values || defaultSettings) +export const zapAmounts = derived(userSettingsValues, $settings => $settings.zap_amounts) + export const getSettings = getter(userSettingsValues) export const getSetting = (key: keyof Settings["values"]) => getSettings()[key] as T diff --git a/src/routes/settings/wallet/+page.svelte b/src/routes/settings/wallet/+page.svelte index a3119af6..ef648771 100644 --- a/src/routes/settings/wallet/+page.svelte +++ b/src/routes/settings/wallet/+page.svelte @@ -1,12 +1,17 @@ @@ -206,4 +262,50 @@ {/if} + + + + Zap Amounts + + Preset amounts shown when sending a zap. + + {#each zapAmountDraft as amount, index} + + removeZapAmount(index)} + disabled={zapAmountDraft.length === 1}> + + + + + + + + {/each} + + + Add amount + + + + + Discard Changes + + + Save Changes + + +
Want to zap directly? diff --git a/src/app/settings.ts b/src/app/settings.ts index 71e6c006..c2232acc 100644 --- a/src/app/settings.ts +++ b/src/app/settings.ts @@ -37,6 +37,7 @@ export type SettingsValues = { send_delay: number font_size: number alerts: SpaceNotificationSettings[] + zap_amounts: number[] } export type Settings = { @@ -54,6 +55,7 @@ export const defaultSettings: SettingsValues = { send_delay: 0, font_size: 1.1, alerts: [], + zap_amounts: [21, 210, 2100, 21000], } export const settingsByPubkey = deriveItemsByKey({ @@ -80,6 +82,8 @@ export const loadUserSettings = makeUserLoader(loadSettings) export const userSettingsValues = derived(userSettings, $s => $s?.values || defaultSettings) +export const zapAmounts = derived(userSettingsValues, $settings => $settings.zap_amounts) + export const getSettings = getter(userSettingsValues) export const getSetting = (key: keyof Settings["values"]) => getSettings()[key] as T diff --git a/src/routes/settings/wallet/+page.svelte b/src/routes/settings/wallet/+page.svelte index a3119af6..ef648771 100644 --- a/src/routes/settings/wallet/+page.svelte +++ b/src/routes/settings/wallet/+page.svelte @@ -1,12 +1,17 @@ @@ -206,4 +262,50 @@ {/if} + + + + Zap Amounts + + Preset amounts shown when sending a zap. + + {#each zapAmountDraft as amount, index} + + removeZapAmount(index)} + disabled={zapAmountDraft.length === 1}> + + + + + + + + {/each} + + + Add amount + + + + + Discard Changes + + + Save Changes + + +
Preset amounts shown when sending a zap.