aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2025-03-05 16:03:54 -0800
committerAdam Soltys <[email protected]>2025-03-05 16:03:54 -0800
commit6f59a0db6c82d758411b07b889dadb95f99e0349 (patch)
tree76f524baeeae5a9fb2ec9071f19f1c7690fa4ef8 /src
parentc1b2337d23af966ae39a09b73f12a1bc189a2eb0 (diff)
downloadcoinos-ui-6f59a0db6c82d758411b07b889dadb95f99e0349.tar.gz
coinos-ui-6f59a0db6c82d758411b07b889dadb95f99e0349.zip
nwc maxfee field
Diffstat (limited to 'src')
-rw-r--r--src/components/AmountField.svelte64
-rw-r--r--src/components/AppForm.svelte83
-rw-r--r--src/locales/ar.json4
-rw-r--r--src/locales/bn.json4
-rw-r--r--src/locales/de.json4
-rw-r--r--src/locales/el.json4
-rw-r--r--src/locales/en.json2
-rw-r--r--src/locales/es.json4
-rw-r--r--src/locales/fa.json4
-rw-r--r--src/locales/fr.json4
-rw-r--r--src/locales/hi.json4
-rw-r--r--src/locales/it.json4
-rw-r--r--src/locales/ja.json4
-rw-r--r--src/locales/ko.json4
-rw-r--r--src/locales/nl.json4
-rw-r--r--src/locales/pl.json4
-rw-r--r--src/locales/pt.json4
-rw-r--r--src/locales/ru.json4
-rw-r--r--src/locales/th.json4
-rw-r--r--src/locales/tr.json4
-rw-r--r--src/locales/zh.json4
21 files changed, 146 insertions, 75 deletions
diff --git a/src/components/AmountField.svelte b/src/components/AmountField.svelte
new file mode 100644
index 00000000..abfc4d1e
--- /dev/null
+++ b/src/components/AmountField.svelte
@@ -0,0 +1,64 @@
+<script>
+ import { t } from "$lib/translations";
+ import { tick } from "svelte";
+ import Numpad from "$comp/Numpad.svelte";
+
+ let { amount = $bindable(), desc, currency, rate, label, name } = $props();
+
+ let setting = $state();
+ let set = () => {
+ setting = false;
+ };
+ let done = $state();
+ let startSetting = async () => {
+ setting = true;
+ await tick();
+ numpad.focus();
+ };
+ let numpad = $state();
+</script>
+
+<div>
+ <label for="name" class="font-bold mb-1 block">{label}</label>
+
+ {#if desc}
+ <p class="text-secondary my-2">{desc}</p>
+ {/if}
+
+ <button type="button" class="flex w-full" onclick={startSetting}>
+ <div class="p-4 border rounded-2xl rounded-r-none border-r-0 bg-base-200">
+ <iconify-icon noobserver icon="ph:lightning-fill" class="text-yellow-300"
+ ></iconify-icon>
+ </div>
+
+ <div
+ class="border-l-0 rounded-l-none pl-2 w-full p-4 border rounded-2xl text-left"
+ >
+ {amount || $t("accounts.none")}
+ </div>
+ <input type="hidden" {name} bind:value={amount} />
+ </button>
+</div>
+
+{#if setting}
+ <div
+ class="fixed bg-base-100 bg-opacity-90 inset-0 overflow-y-auto h-full w-full z-50 max-w-lg mx-auto"
+ >
+ <div class="relative p-5 border shadow-lg rounded-md bg-base-100 space-y-5">
+ <h1 class="text-center text-2xl font-semibold">
+ {label}
+ </h1>
+ <Numpad
+ bind:amount
+ {currency}
+ {rate}
+ bind:submit={done}
+ bind:element={numpad}
+ />
+
+ <button bind:this={done} type="button" onclick={set} class="btn"
+ >Ok</button
+ >
+ </div>
+ </div>
+{/if}
diff --git a/src/components/AppForm.svelte b/src/components/AppForm.svelte
index 5cef0d1e..0642e1b1 100644
--- a/src/components/AppForm.svelte
+++ b/src/components/AppForm.svelte
@@ -2,6 +2,7 @@
import { browser } from "$app/environment";
import { applyAction, deserialize } from "$app/forms";
import { page } from "$app/stores";
+ import AmountField from "$comp/AmountField.svelte";
import Numpad from "$comp/Numpad.svelte";
import { getPublicKey } from "nostr-tools";
import { onMount, tick } from "svelte";
@@ -15,8 +16,16 @@
PUBLIC_COINOS_RELAY as relayUrl,
} from "$env/static/public";
- let { rate, user, name, max_amount, budget_renewal, pubkey, secret } =
- $props();
+ let {
+ rate,
+ user,
+ name,
+ max_fee,
+ max_amount,
+ budget_renewal,
+ pubkey,
+ secret,
+ } = $props();
let { currency } = $derived(user);
onMount(() => {
@@ -58,18 +67,6 @@
fail(e.message);
}
};
-
- let settingBudget = $state();
- let setBudget = () => {
- settingBudget = false;
- };
- let done = $state();
- let startSetting = async () => {
- settingBudget = true;
- await tick();
- numpad.focus();
- };
- let numpad = $state();
</script>
<form method="POST" class="space-y-5" onsubmit={submit} bind:this={el}>
@@ -78,27 +75,22 @@
<input type="text" name="name" bind:value={name} use:focus />
</div>
- <div>
- <label for="name" class="font-bold mb-1 block"
- >{$t("accounts.budget")}</label
- >
+ <AmountField
+ {currency}
+ {rate}
+ bind:amount={max_amount}
+ name={"max_amount"}
+ label={$t("accounts.budget")}
+ />
- <button type="button" class="flex w-full" onclick={startSetting}>
- <div class="p-4 border rounded-2xl rounded-r-none border-r-0 bg-base-200">
- <iconify-icon
- noobserver
- icon="ph:lightning-fill"
- class="text-yellow-300"
- ></iconify-icon>
- </div>
- <div
- class="border-l-0 rounded-l-none pl-2 w-full p-4 border rounded-2xl text-left"
- >
- {max_amount || $t("accounts.none")}
- </div>
- <input type="hidden" name="max_amount" bind:value={max_amount} />
- </button>
- </div>
+ <AmountField
+ desc={$t("accounts.maxfeeDesc")}
+ {currency}
+ {rate}
+ bind:amount={max_fee}
+ name={"max_fee"}
+ label={$t("accounts.maxfee")}
+ />
<div>
<label for="name" class="font-bold mb-1 block"
@@ -167,26 +159,3 @@
{/if}
</div>
</form>
-
-{#if settingBudget}
- <div
- class="fixed bg-base-100 bg-opacity-90 inset-0 overflow-y-auto h-full w-full z-50 max-w-lg mx-auto"
- >
- <div class="relative p-5 border shadow-lg rounded-md bg-base-100 space-y-5">
- <h1 class="text-center text-2xl font-semibold">
- {$t("accounts.budget")}
- </h1>
- <Numpad
- bind:amount={max_amount}
- {currency}
- {rate}
- bind:submit={done}
- bind:element={numpad}
- />
-
- <button bind:this={done} type="button" onclick={setBudget} class="btn"
- >Ok</button
- >
- </div>
- </div>
-{/if}
diff --git a/src/locales/ar.json b/src/locales/ar.json
index 26169efb..084a6e3f 100644
--- a/src/locales/ar.json
+++ b/src/locales/ar.json
@@ -42,7 +42,9 @@
"connection": "Connection",
"budget": "الميزانية",
"delete": "تحذف",
- "renewal": "فترة التجديد"
+ "renewal": "فترة التجديد",
+ "maxfee": "رسوم ماكس",
+ "maxfeeDesc": "تقاضي رسوم إلى كمية ثابتة من الجلسات إن لم يتم تحديدها، سنحصل على 1% من مبلغ الدفع."
},
"404": {
"404": "404",
diff --git a/src/locales/bn.json b/src/locales/bn.json
index 08f5d5d5..582118a2 100644
--- a/src/locales/bn.json
+++ b/src/locales/bn.json
@@ -42,7 +42,9 @@
"connection": "সংযোগ",
"budget": "ভাইয়েরা",
"delete": "মুছে ফেলুন",
- "renewal": "নতুন নিয়ম"
+ "renewal": "নতুন নিয়ম",
+ "maxfee": "সর্বাধিক মজুরি",
+ "maxfeeDesc": "একটা নির্দিষ্ট পরিমাণে স্যাটান্টের ফি। যদি না নির্ধারণ করা হয়, আমরা টাকা ১% করে দেই।."
},
"404": {
"404": "৪০৪",
diff --git a/src/locales/de.json b/src/locales/de.json
index 94e7bc74..137b1926 100644
--- a/src/locales/de.json
+++ b/src/locales/de.json
@@ -515,7 +515,9 @@
"connection": "Verbindung",
"budget": "Haushaltsplan",
"delete": "Löschen",
- "renewal": "Verlängerungszeitraum"
+ "renewal": "Verlängerungszeitraum",
+ "maxfee": "Maximale Gebühr",
+ "maxfeeDesc": "Caps Routing-Gebühren zu einem festen Betrag von Sats. Wenn nicht gesetzt, werden wir 1% des Zahlungsbetrages übersteigen."
},
"notes": {
"contents": "Inhalt",
diff --git a/src/locales/el.json b/src/locales/el.json
index 454592ab..cfba892f 100644
--- a/src/locales/el.json
+++ b/src/locales/el.json
@@ -506,7 +506,9 @@
"connection": "Σύνδεση",
"budget": "Προϋπολογισμός",
"delete": "Διαγραφή",
- "renewal": "Περίοδος ανανέωσης"
+ "renewal": "Περίοδος ανανέωσης",
+ "maxfee": "Μέγιστο τέλος",
+ "maxfeeDesc": "Τα καψούλια δρομολογούν τέλη σε ένα σταθερό ποσό των κορμών. Εάν δεν ορίσουμε, ανεβάζουμε στο 1% του ποσού της πληρωμής."
},
"notes": {
"contents": "Περιεχόμενα σημείωσης",
diff --git a/src/locales/en.json b/src/locales/en.json
index c9fd5066..70ea7427 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -4,6 +4,8 @@
"notFound": "No notes found"
},
"accounts": {
+ "maxfee": "Max fee",
+ "maxfeeDesc": "Caps routing fees to a fixed amount of sats. If not set, we cap at 1% of the payment amount.",
"per": "per",
"none": "None",
"day": "day",
diff --git a/src/locales/es.json b/src/locales/es.json
index b943c519..5789ca0f 100644
--- a/src/locales/es.json
+++ b/src/locales/es.json
@@ -488,7 +488,9 @@
"connection": "Conexión",
"budget": "Presupuesto",
"delete": "Suprimir",
- "renewal": "Período de renovación"
+ "renewal": "Período de renovación",
+ "maxfee": "Tasa máxima",
+ "maxfeeDesc": "Cápsulas de pago a una cantidad fija de sats. Si no se establece, caemos al 1% de la cantidad de pago."
},
"notes": {
"contents": "Contenido de la nota",
diff --git a/src/locales/fa.json b/src/locales/fa.json
index 97cd1648..1ef6d0e2 100644
--- a/src/locales/fa.json
+++ b/src/locales/fa.json
@@ -488,7 +488,9 @@
"connection": "اتصال",
"budget": "بودجه",
"delete": "حذف",
- "renewal": "دوره بازسازی"
+ "renewal": "دوره بازسازی",
+ "maxfee": "هزینه Max",
+ "maxfeeDesc": "هزینه های مسیریابی Caps به مقدار ثابت نشستن. اگر نه، ما 1 درصد از مبلغ پرداخت را به دست می آوریم."
},
"notes": {
"contents": "مطالب توجه",
diff --git a/src/locales/fr.json b/src/locales/fr.json
index aba72a56..606bc736 100644
--- a/src/locales/fr.json
+++ b/src/locales/fr.json
@@ -488,7 +488,9 @@
"connection": "Connexion",
"budget": "Budget",
"delete": "Supprimer",
- "renewal": "Période de renouvellement"
+ "renewal": "Période de renouvellement",
+ "maxfee": "Taxe maximale",
+ "maxfeeDesc": "Limite les frais de routage à un montant fixe de sats. Si ce n'est pas fixé, nous plafonnons à 1 % du montant du paiement."
},
"notes": {
"contents": "Table des matières",
diff --git a/src/locales/hi.json b/src/locales/hi.json
index a95c77b8..8e159c90 100644
--- a/src/locales/hi.json
+++ b/src/locales/hi.json
@@ -42,7 +42,9 @@
"connection": "कनेक्शन",
"budget": "बजट",
"delete": "डिलीट",
- "renewal": "नवीकरण अवधि"
+ "renewal": "नवीकरण अवधि",
+ "maxfee": "अधिकतम शुल्क",
+ "maxfeeDesc": "एक निश्चित राशि के लिए कैप्स रूटिंग शुल्क। यदि निर्धारित नहीं है, तो हम भुगतान राशि के 1% पर बैठते हैं।."
},
"404": {
"404": "404",
diff --git a/src/locales/it.json b/src/locales/it.json
index 2b22d734..7c6f0a02 100644
--- a/src/locales/it.json
+++ b/src/locales/it.json
@@ -42,7 +42,9 @@
"connection": "Connessione",
"budget": "Bilancio",
"delete": "Cancella",
- "renewal": "Periodo di rinnovo"
+ "renewal": "Periodo di rinnovo",
+ "maxfee": "Tassa massima",
+ "maxfeeDesc": "Caps routing tasse a una quantità fissa di sati. Se non impostato, copriamo all'1% dell'importo del pagamento."
},
"404": {
"404": " Errore: 404",
diff --git a/src/locales/ja.json b/src/locales/ja.json
index c7be7541..d11af222 100644
--- a/src/locales/ja.json
+++ b/src/locales/ja.json
@@ -488,7 +488,9 @@
"connection": "コネクション",
"budget": "予算",
"delete": "削除",
- "renewal": "更新期間"
+ "renewal": "更新期間",
+ "maxfee": "最高料金",
+ "maxfeeDesc": "シートの固定量へのキャップルーティング手数料。 設定されていない場合、お支払い金額の1%を上限とします."
},
"notes": {
"contents": "コンテンツ",
diff --git a/src/locales/ko.json b/src/locales/ko.json
index 686d2128..3e7ba385 100644
--- a/src/locales/ko.json
+++ b/src/locales/ko.json
@@ -42,7 +42,9 @@
"connection": "관련 기사",
"budget": "한국어",
"delete": "기타 제품",
- "renewal": "갱신 기간"
+ "renewal": "갱신 기간",
+ "maxfee": "최대 요금",
+ "maxfeeDesc": "캡 라우팅 수수료 고정 금액. 놓치지 않는 경우에, 우리는 지불 총계의 1%에 모자를 씌웁니다."
},
"404": {
"404": "404명",
diff --git a/src/locales/nl.json b/src/locales/nl.json
index 1f754fe8..865103a0 100644
--- a/src/locales/nl.json
+++ b/src/locales/nl.json
@@ -42,7 +42,9 @@
"connection": "Verbinding",
"budget": "Begroting",
"delete": "Verwijderen",
- "renewal": "Verlengingsperiode"
+ "renewal": "Verlengingsperiode",
+ "maxfee": "Max. vergoeding",
+ "maxfeeDesc": "Caps routing kosten naar een vast bedrag van sats. Indien niet ingesteld, beperken we ons tot 1% van het betalingsbedrag."
},
"404": {
"404": "404",
diff --git a/src/locales/pl.json b/src/locales/pl.json
index 8d860463..b2f51621 100644
--- a/src/locales/pl.json
+++ b/src/locales/pl.json
@@ -42,7 +42,9 @@
"connection": "Połączenie",
"budget": "Budżet",
"delete": "Usuń",
- "renewal": "Okres przedłużenia"
+ "renewal": "Okres przedłużenia",
+ "maxfee": "Maksymalna opłata",
+ "maxfeeDesc": "Kapsułki opłat routingu do stałej ilości sat. Jeśli nie jest ustawiony, ograniczamy do 1% kwoty płatności."
},
"404": {
"404": "404",
diff --git a/src/locales/pt.json b/src/locales/pt.json
index 2e664fa6..a97b33ae 100644
--- a/src/locales/pt.json
+++ b/src/locales/pt.json
@@ -510,7 +510,9 @@
"connection": "Conexão",
"budget": "Orçamento",
"delete": "Excluir",
- "renewal": "Período de renovação"
+ "renewal": "Período de renovação",
+ "maxfee": "Taxa máxima",
+ "maxfeeDesc": "Caps taxas de roteamento para uma quantidade fixa de sats. Se não estiver definido, nós captamos 1% do valor do pagamento."
},
"notes": {
"contents": "Conteúdo de nota",
diff --git a/src/locales/ru.json b/src/locales/ru.json
index deec32d9..3f30d309 100644
--- a/src/locales/ru.json
+++ b/src/locales/ru.json
@@ -488,7 +488,9 @@
"connection": "Подключение",
"budget": "Бюджет",
"delete": "Исключить",
- "renewal": "Период обновления"
+ "renewal": "Период обновления",
+ "maxfee": "Макс платный",
+ "maxfeeDesc": "Комиссионные за маршрутизацию к фиксированной сумме сат. Если не установлен, мы ограничиваем 1% от суммы платежа."
},
"notes": {
"contents": "Содержание заметок",
diff --git a/src/locales/th.json b/src/locales/th.json
index 07f75f88..ace7dd26 100644
--- a/src/locales/th.json
+++ b/src/locales/th.json
@@ -42,7 +42,9 @@
"connection": "การเชื่อมต่อ",
"budget": "งบ",
"delete": "ลบ",
- "renewal": "ยุคเรเนวาล"
+ "renewal": "ยุคเรเนวาล",
+ "maxfee": "ค่าสูงสุด",
+ "maxfeeDesc": "ค่าธรรมเนียมค่าปรับ ค่าที่นั่งคงที่ ถ้าไม่ได้ตั้งค่าเราติดที่ 1% ของจํานวนเงินที่จ่าย."
},
"404": {
"404": "404",
diff --git a/src/locales/tr.json b/src/locales/tr.json
index a2f60921..fcd64fd6 100644
--- a/src/locales/tr.json
+++ b/src/locales/tr.json
@@ -42,7 +42,9 @@
"connection": "Bağlantı Bağlantısı",
"budget": "Bütçe",
"delete": "Delete",
- "renewal": "Yenileme dönemi"
+ "renewal": "Yenileme dönemi",
+ "maxfee": "Max ücret",
+ "maxfeeDesc": "Caps, sabit bir miktarda oturma ücretine gider. Eğer ayarlanmamışsa, ödeme miktarının% 1'inde kapıyoruz."
},
"404": {
"404": "404",
diff --git a/src/locales/zh.json b/src/locales/zh.json
index 05e7be16..aa74bd92 100644
--- a/src/locales/zh.json
+++ b/src/locales/zh.json
@@ -488,7 +488,9 @@
"connection": "连接",
"budget": "预算",
"delete": "删除",
- "renewal": "延长期"
+ "renewal": "延长期",
+ "maxfee": "最大费用",
+ "maxfeeDesc": "盖子路由费为固定的座标. 如果不设定, 我们上限为支付金额的1% ."
},
"notes": {
"contents": "说明内容",