campaigns: make the donation-accept picker friendlier
Replace the three terse jargon pills (Accept All / Public Only / Private Only, captioned with 'on-chain' and 'silent payment') with a vertical stack of selectable option cards. Each card has a friendly icon, a plain-language title, and a one-sentence reassurance written for an anxious first-time creator, with the SP-dependent options clearly disabled when the login can't support them. Also softens the wallet hero card: drop the linked-icon trio for a simple campaign-to-wallet arrow, and rewrite the copy without the key/posts technical aside or em dashes. Updates all 16 locales.
This commit is contained in:
+9
-10
@@ -496,21 +496,20 @@
|
||||
"wallet": "محفظة بيتكوين",
|
||||
"myWalletLabel": "محفظة {{name}}",
|
||||
"myWalletDefault": "محفظتي",
|
||||
"walletHeroNote": "تتدفّق التبرّعات مباشرةً إلى محفظة Agora الخاصة بك — يفتحها المفتاح ذاته الذي يوقّع منشوراتك. لا وسيط، ولا إعداد للدفعات، ولا انتظار.",
|
||||
"walletHeroNote": "تتدفّق التبرّعات مباشرةً إلى محفظة Agora الخاصة بك. لا وسيط، ولا إعداد للدفعات، ولا انتظار.",
|
||||
"walletHeroReassurance": "أنت تملك المفتاح، إذًا أنت تملك الأموال. اسحبها في أي وقت من تبويب المحفظة.",
|
||||
"walletChoose": "اختر محفظة",
|
||||
"walletCustom": "مخصصة",
|
||||
"walletUseCustom": "استخدم محفظة مخصصة بدلاً من ذلك",
|
||||
"walletUseMine": "استخدم محفظة Agora الخاصة بي",
|
||||
"acceptAll": "قبول جميع أنواع الدفع",
|
||||
"acceptPublic": "قبول الدفعات العامة فقط",
|
||||
"acceptPrivate": "قبول الدفعات الخاصة فقط",
|
||||
"acceptAllShort": "قبول الكل",
|
||||
"acceptPublicShort": "عامة فقط",
|
||||
"acceptPrivateShort": "خاصة فقط",
|
||||
"acceptAllHint": "قبول الدفعات العامة على السلسلة والدفعات الصامتة الخاصة.",
|
||||
"acceptPublicHint": "قبول التبرعات على السلسلة إلى عنوان عام فقط.",
|
||||
"acceptPrivateHint": "قبول الدفعات الصامتة فقط — تبقى عناوين المتبرعين خاصة.",
|
||||
"acceptHeading": "ما نوع التبرعات التي ستقبلها؟",
|
||||
"acceptUnavailable": "غير متاح مع تسجيل الدخول هذا.",
|
||||
"acceptAllTitle": "أي تبرع",
|
||||
"acceptPublicTitle": "التبرعات العامة فقط",
|
||||
"acceptPrivateTitle": "التبرعات الخاصة فقط",
|
||||
"acceptAllHint": "استقبل التبرعات العامة والخاصة معًا.",
|
||||
"acceptPublicHint": "يتبرع المانحون إلى عنوان Bitcoin عادي. هذه التبرعات مرئية للجميع.",
|
||||
"acceptPrivateHint": "يتبرع المانحون بشكل خاص، لذا تبقى هويتهم مخفية عن الجميع.",
|
||||
"customWalletIntro": "أدخل عنوان بيتكوين، رمز دفع صامت، أو كليهما. يلزم واحد على الأقل.",
|
||||
"bitcoinAddress": "عنوان بيتكوين",
|
||||
"bitcoinAddressPlaceholder": "bc1q… أو bc1p…",
|
||||
|
||||
+9
-10
@@ -934,21 +934,20 @@
|
||||
"wallet": "Bitcoin wallet",
|
||||
"myWalletLabel": "{{name}}'s wallet",
|
||||
"myWalletDefault": "My wallet",
|
||||
"walletHeroNote": "Donations flow straight into your own Agora wallet — unlocked by the same key that signs your posts. No middleman, no payout setup, no waiting.",
|
||||
"walletHeroNote": "Donations flow straight into your own Agora wallet. No middleman, no payout setup, no waiting.",
|
||||
"walletHeroReassurance": "You hold the key, so you hold the funds. Withdraw any time from the wallet tab.",
|
||||
"walletChoose": "Choose a wallet",
|
||||
"walletCustom": "Custom wallet",
|
||||
"walletUseCustom": "Use a custom wallet instead",
|
||||
"walletUseMine": "Use my Agora wallet",
|
||||
"acceptAll": "Accept all payment types",
|
||||
"acceptPublic": "Accept public payments only",
|
||||
"acceptPrivate": "Accept private payments only",
|
||||
"acceptAllShort": "Accept All",
|
||||
"acceptPublicShort": "Public Only",
|
||||
"acceptPrivateShort": "Private Only",
|
||||
"acceptAllHint": "Accept both public on-chain and private silent payments.",
|
||||
"acceptPublicHint": "Only accept on-chain donations to a public address.",
|
||||
"acceptPrivateHint": "Only accept silent payments — donor addresses stay private.",
|
||||
"acceptHeading": "What donations will you accept?",
|
||||
"acceptUnavailable": "Not available with this login.",
|
||||
"acceptAllTitle": "Any donation",
|
||||
"acceptPublicTitle": "Public donations only",
|
||||
"acceptPrivateTitle": "Private donations only",
|
||||
"acceptAllHint": "Take both public and private donations.",
|
||||
"acceptPublicHint": "Donors give to a regular Bitcoin address. These donations are visible to anyone.",
|
||||
"acceptPrivateHint": "Donors give privately, so their identity stays hidden from the public.",
|
||||
"customWalletIntro": "Enter a Bitcoin address, a silent-payment code, or both. At least one is required.",
|
||||
"bitcoinAddress": "Bitcoin address",
|
||||
"bitcoinAddressPlaceholder": "bc1q… or bc1p…",
|
||||
|
||||
+9
-10
@@ -508,21 +508,20 @@
|
||||
"wallet": "Cartera Bitcoin",
|
||||
"myWalletLabel": "Cartera de {{name}}",
|
||||
"myWalletDefault": "Mi cartera",
|
||||
"walletHeroNote": "Las donaciones llegan directamente a tu propia cartera de Agora — desbloqueada por la misma clave que firma tus publicaciones. Sin intermediarios, sin configurar pagos, sin esperas.",
|
||||
"walletHeroNote": "Las donaciones llegan directamente a tu propia cartera de Agora. Sin intermediarios, sin configurar pagos, sin esperas.",
|
||||
"walletHeroReassurance": "Tú tienes la clave, así que tú tienes los fondos. Retíralos en cualquier momento desde la pestaña de la cartera.",
|
||||
"walletChoose": "Elige una cartera",
|
||||
"walletCustom": "Personalizada",
|
||||
"walletUseCustom": "Usar una cartera personalizada",
|
||||
"walletUseMine": "Usar mi cartera de Agora",
|
||||
"acceptAll": "Aceptar todos los pagos",
|
||||
"acceptPublic": "Aceptar solo pagos públicos",
|
||||
"acceptPrivate": "Aceptar solo pagos privados",
|
||||
"acceptAllShort": "Todos",
|
||||
"acceptPublicShort": "Solo públicos",
|
||||
"acceptPrivateShort": "Solo privados",
|
||||
"acceptAllHint": "Acepta pagos públicos on-chain y pagos silenciosos privados.",
|
||||
"acceptPublicHint": "Solo acepta donaciones on-chain a una dirección pública.",
|
||||
"acceptPrivateHint": "Solo acepta pagos silenciosos — las direcciones de los donantes permanecen privadas.",
|
||||
"acceptHeading": "¿Qué donaciones aceptarás?",
|
||||
"acceptUnavailable": "No disponible con este inicio de sesión.",
|
||||
"acceptAllTitle": "Cualquier donación",
|
||||
"acceptPublicTitle": "Solo donaciones públicas",
|
||||
"acceptPrivateTitle": "Solo donaciones privadas",
|
||||
"acceptAllHint": "Recibe donaciones tanto públicas como privadas.",
|
||||
"acceptPublicHint": "Los donantes envían a una dirección de Bitcoin normal. Estas donaciones son visibles para cualquier persona.",
|
||||
"acceptPrivateHint": "Los donantes dan de forma privada, así su identidad permanece oculta del público.",
|
||||
"customWalletIntro": "Ingresa una dirección de Bitcoin, un código de pago silencioso o ambos. Se requiere al menos uno.",
|
||||
"bitcoinAddress": "Dirección de Bitcoin",
|
||||
"bitcoinAddressPlaceholder": "bc1q… o bc1p…",
|
||||
|
||||
+9
-10
@@ -508,21 +508,20 @@
|
||||
"wallet": "کیف پول بیتکوین",
|
||||
"myWalletLabel": "کیف پول {{name}}",
|
||||
"myWalletDefault": "کیف پول من",
|
||||
"walletHeroNote": "کمکهای مالی مستقیماً به کیف پول Agora خودت سرازیر میشوند — با همان کلیدی که پستهایت را امضا میکند باز میشوند. بدون واسطه، بدون راهاندازی پرداخت، بدون انتظار.",
|
||||
"walletHeroNote": "کمکهای مالی مستقیماً به کیف پول Agora خودت سرازیر میشوند. بدون واسطه، بدون راهاندازی پرداخت، بدون انتظار.",
|
||||
"walletHeroReassurance": "کلید در دست توست، پس پول هم در دست توست. هر زمان که خواستی از بخش کیف پول برداشت کن.",
|
||||
"walletChoose": "یک کیف پول انتخاب کن",
|
||||
"walletCustom": "سفارشی",
|
||||
"walletUseCustom": "به جای آن از کیف پول سفارشی استفاده کن",
|
||||
"walletUseMine": "از کیف پول Agora من استفاده کن",
|
||||
"acceptAll": "پذیرش همهٔ نوعهای پرداخت",
|
||||
"acceptPublic": "پذیرش فقط پرداختهای عمومی",
|
||||
"acceptPrivate": "پذیرش فقط پرداختهای خصوصی",
|
||||
"acceptAllShort": "همه",
|
||||
"acceptPublicShort": "فقط عمومی",
|
||||
"acceptPrivateShort": "فقط خصوصی",
|
||||
"acceptAllHint": "هم پرداختهای عمومی روی زنجیره و هم پرداختهای بیصدای خصوصی پذیرفته میشوند.",
|
||||
"acceptPublicHint": "فقط اهداهای روی زنجیره به یک نشانی عمومی پذیرفته میشوند.",
|
||||
"acceptPrivateHint": "فقط پرداختهای بیصدا — نشانی اهداکنندگان خصوصی میماند.",
|
||||
"acceptHeading": "چه نوع کمکهای مالی را میپذیری؟",
|
||||
"acceptUnavailable": "با این ورود در دسترس نیست.",
|
||||
"acceptAllTitle": "هر نوع کمک مالی",
|
||||
"acceptPublicTitle": "فقط کمکهای مالی عمومی",
|
||||
"acceptPrivateTitle": "فقط کمکهای مالی خصوصی",
|
||||
"acceptAllHint": "هم کمکهای مالی عمومی و هم خصوصی را بپذیر.",
|
||||
"acceptPublicHint": "اهداکنندگان به یک نشانی معمولی Bitcoin پرداخت میکنند. این کمکهای مالی برای همه قابل مشاهدهاند.",
|
||||
"acceptPrivateHint": "اهداکنندگان بهصورت خصوصی پرداخت میکنند، بنابراین هویتشان از دید عموم پنهان میماند.",
|
||||
"customWalletIntro": "یک نشانی بیتکوین، یک کد پرداخت بیصدا یا هر دو را وارد کن. حداقل یکی الزامی است.",
|
||||
"bitcoinAddress": "نشانی بیتکوین",
|
||||
"bitcoinAddressPlaceholder": "bc1q… یا bc1p…",
|
||||
|
||||
+9
-10
@@ -939,21 +939,20 @@
|
||||
"wallet": "Portefeuille Bitcoin",
|
||||
"myWalletLabel": "Portefeuille de {{name}}",
|
||||
"myWalletDefault": "Mon portefeuille",
|
||||
"walletHeroNote": "Les dons arrivent directement dans votre propre portefeuille Agora — débloqué par la même clé qui signe vos publications. Pas d'intermédiaire, pas de configuration de versement, pas d'attente.",
|
||||
"walletHeroNote": "Les dons arrivent directement dans votre propre portefeuille Agora. Pas d'intermédiaire, pas de configuration de versement, pas d'attente.",
|
||||
"walletHeroReassurance": "Vous détenez la clé, donc vous détenez les fonds. Retirez à tout moment depuis l'onglet portefeuille.",
|
||||
"walletChoose": "Choisir un portefeuille",
|
||||
"walletCustom": "Personnalisé",
|
||||
"walletUseCustom": "Utiliser un portefeuille personnalisé",
|
||||
"walletUseMine": "Utiliser mon portefeuille Agora",
|
||||
"acceptAll": "Accepter tous les types de paiement",
|
||||
"acceptPublic": "Accepter uniquement les paiements publics",
|
||||
"acceptPrivate": "Accepter uniquement les paiements privés",
|
||||
"acceptAllShort": "Tous",
|
||||
"acceptPublicShort": "Publics uniquement",
|
||||
"acceptPrivateShort": "Privés uniquement",
|
||||
"acceptAllHint": "Accepter les paiements publics on-chain et les paiements silencieux privés.",
|
||||
"acceptPublicHint": "N'accepter que les dons on-chain vers une adresse publique.",
|
||||
"acceptPrivateHint": "N'accepter que les paiements silencieux — les adresses des donateurs restent privées.",
|
||||
"acceptHeading": "Quels dons souhaitez-vous accepter ?",
|
||||
"acceptUnavailable": "Non disponible avec cette connexion.",
|
||||
"acceptAllTitle": "Tout don",
|
||||
"acceptPublicTitle": "Dons publics uniquement",
|
||||
"acceptPrivateTitle": "Dons privés uniquement",
|
||||
"acceptAllHint": "Recevez à la fois les dons publics et les dons privés.",
|
||||
"acceptPublicHint": "Les donateurs versent sur une adresse Bitcoin classique. Ces dons sont visibles par tout le monde.",
|
||||
"acceptPrivateHint": "Les donateurs versent en privé, afin que leur identité reste cachée du public.",
|
||||
"customWalletIntro": "Saisissez une adresse Bitcoin, un code de paiement silencieux, ou les deux. Au moins un est obligatoire.",
|
||||
"bitcoinAddress": "Adresse Bitcoin",
|
||||
"bitcoinAddressPlaceholder": "bc1q… ou bc1p…",
|
||||
|
||||
+10
-9
@@ -940,19 +940,20 @@
|
||||
"wallet": "Bitcoin वॉलेट",
|
||||
"myWalletLabel": "{{name}} का वॉलेट",
|
||||
"myWalletDefault": "मेरा वॉलेट",
|
||||
"walletHeroNote": "दान सीधे आपके अपने Agora वॉलेट में आता है। कोई बिचौलिया नहीं, कोई पेआउट सेटअप नहीं, कोई इंतज़ार नहीं।",
|
||||
"walletHeroReassurance": "चाबी आपके पास रहती है, इसलिए पैसा भी आपके पास रहता है। वॉलेट टैब से किसी भी समय निकासी करें।",
|
||||
"walletChoose": "वॉलेट चुनें",
|
||||
"walletCustom": "कस्टम",
|
||||
"walletUseCustom": "इसके बजाय कस्टम वॉलेट का उपयोग करें",
|
||||
"walletUseMine": "मेरे Agora वॉलेट का उपयोग करें",
|
||||
"acceptAll": "सभी भुगतान प्रकार स्वीकार करें",
|
||||
"acceptPublic": "केवल सार्वजनिक भुगतान स्वीकार करें",
|
||||
"acceptPrivate": "केवल निजी भुगतान स्वीकार करें",
|
||||
"acceptAllShort": "सभी स्वीकारें",
|
||||
"acceptPublicShort": "केवल सार्वजनिक",
|
||||
"acceptPrivateShort": "केवल निजी",
|
||||
"acceptAllHint": "सार्वजनिक ऑन-चेन और निजी साइलेंट पेमेंट दोनों स्वीकार करें।",
|
||||
"acceptPublicHint": "केवल सार्वजनिक एड्रेस पर ऑन-चेन दान स्वीकार करें।",
|
||||
"acceptPrivateHint": "केवल साइलेंट पेमेंट स्वीकार करें — दानदाता के एड्रेस निजी रहते हैं।",
|
||||
"acceptHeading": "आप किस तरह के दान स्वीकार करेंगे?",
|
||||
"acceptUnavailable": "इस लॉगिन के साथ उपलब्ध नहीं है।",
|
||||
"acceptAllTitle": "कोई भी दान",
|
||||
"acceptPublicTitle": "केवल सार्वजनिक दान",
|
||||
"acceptPrivateTitle": "केवल निजी दान",
|
||||
"acceptAllHint": "सार्वजनिक और निजी, दोनों तरह के दान लें।",
|
||||
"acceptPublicHint": "दानदाता एक सामान्य Bitcoin एड्रेस पर देते हैं। ये दान किसी को भी दिखाई देते हैं।",
|
||||
"acceptPrivateHint": "दानदाता निजी तौर पर देते हैं, ताकि उनकी पहचान सबसे छिपी रहे।",
|
||||
"customWalletIntro": "एक Bitcoin एड्रेस, एक साइलेंट-पेमेंट कोड, या दोनों दर्ज करें। कम से कम एक ज़रूरी है।",
|
||||
"bitcoinAddress": "Bitcoin एड्रेस",
|
||||
"bitcoinAddressPlaceholder": "bc1q… या bc1p…",
|
||||
|
||||
+10
-9
@@ -940,19 +940,20 @@
|
||||
"wallet": "Dompet Bitcoin",
|
||||
"myWalletLabel": "Dompet {{name}}",
|
||||
"myWalletDefault": "Dompet saya",
|
||||
"walletHeroNote": "Donasi langsung masuk ke dompet Agora Anda sendiri. Tanpa perantara, tanpa pengaturan pembayaran, tanpa menunggu.",
|
||||
"walletHeroReassurance": "Anda yang memegang kuncinya, jadi Anda yang memegang dananya. Tarik kapan saja dari tab dompet.",
|
||||
"walletChoose": "Pilih dompet",
|
||||
"walletCustom": "Kustom",
|
||||
"walletUseCustom": "Gunakan dompet kustom",
|
||||
"walletUseMine": "Gunakan dompet Agora saya",
|
||||
"acceptAll": "Terima semua jenis pembayaran",
|
||||
"acceptPublic": "Hanya terima pembayaran publik",
|
||||
"acceptPrivate": "Hanya terima pembayaran privat",
|
||||
"acceptAllShort": "Semua",
|
||||
"acceptPublicShort": "Hanya Publik",
|
||||
"acceptPrivateShort": "Hanya Privat",
|
||||
"acceptAllHint": "Terima pembayaran publik on-chain maupun silent-payment privat.",
|
||||
"acceptPublicHint": "Hanya terima donasi on-chain ke alamat publik.",
|
||||
"acceptPrivateHint": "Hanya terima silent-payment — alamat donatur tetap privat.",
|
||||
"acceptHeading": "Donasi apa yang akan Anda terima?",
|
||||
"acceptUnavailable": "Tidak tersedia dengan login ini.",
|
||||
"acceptAllTitle": "Donasi apa pun",
|
||||
"acceptPublicTitle": "Hanya donasi publik",
|
||||
"acceptPrivateTitle": "Hanya donasi privat",
|
||||
"acceptAllHint": "Terima donasi publik maupun privat.",
|
||||
"acceptPublicHint": "Donatur memberi ke alamat Bitcoin biasa. Donasi ini terlihat oleh siapa saja.",
|
||||
"acceptPrivateHint": "Donatur memberi secara privat, sehingga identitas mereka tetap tersembunyi dari publik.",
|
||||
"customWalletIntro": "Masukkan alamat Bitcoin, kode silent-payment, atau keduanya. Setidaknya satu wajib diisi.",
|
||||
"bitcoinAddress": "Alamat Bitcoin",
|
||||
"bitcoinAddressPlaceholder": "bc1q… atau bc1p…",
|
||||
|
||||
+9
-10
@@ -508,21 +508,20 @@
|
||||
"wallet": "កាបូបប៊ីតខញ",
|
||||
"myWalletLabel": "កាបូបរបស់ {{name}}",
|
||||
"myWalletDefault": "កាបូបរបស់ខ្ញុំ",
|
||||
"walletHeroNote": "ការបរិច្ចាគហូរចូលដោយផ្ទាល់ទៅក្នុងកាបូប Agora ផ្ទាល់ខ្លួនរបស់អ្នក — ដោះសោដោយកូនសោដូចគ្នាដែលចុះហត្ថលេខាលើការបង្ហោះរបស់អ្នក។ គ្មានអ្នកកណ្ដាល គ្មានការរៀបចំការទូទាត់ គ្មានការរង់ចាំ។",
|
||||
"walletHeroNote": "ការបរិច្ចាគហូរចូលដោយផ្ទាល់ទៅក្នុងកាបូប Agora ផ្ទាល់ខ្លួនរបស់អ្នក។ គ្មានអ្នកកណ្ដាល គ្មានការរៀបចំការទូទាត់ គ្មានការរង់ចាំ។",
|
||||
"walletHeroReassurance": "អ្នកកាន់កូនសោ ដូច្នេះអ្នកកាន់មូលនិធិ។ ដកប្រាក់បានគ្រប់ពេលពីផ្ទាំងកាបូប។",
|
||||
"walletChoose": "ជ្រើសរើសកាបូប",
|
||||
"walletCustom": "ផ្ទាល់ខ្លួន",
|
||||
"walletUseCustom": "ប្រើកាបូបផ្ទាល់ខ្លួនជំនួសវិញ",
|
||||
"walletUseMine": "ប្រើកាបូប Agora របស់ខ្ញុំ",
|
||||
"acceptAll": "ទទួលយកការទូទាត់គ្រប់ប្រភេទ",
|
||||
"acceptPublic": "ទទួលយកការទូទាត់សាធារណៈតែប៉ុណ្ណោះ",
|
||||
"acceptPrivate": "ទទួលយកការទូទាត់ឯកជនតែប៉ុណ្ណោះ",
|
||||
"acceptAllShort": "ទាំងអស់",
|
||||
"acceptPublicShort": "សាធារណៈតែប៉ុណ្ណោះ",
|
||||
"acceptPrivateShort": "ឯកជនតែប៉ុណ្ណោះ",
|
||||
"acceptAllHint": "ទទួលយកទាំងការទូទាត់ on-chain សាធារណៈ និងការបង់ប្រាក់ស្ងាត់ឯកជន។",
|
||||
"acceptPublicHint": "ទទួលយកតែការបរិច្ចាគ on-chain ទៅកាន់អាសយដ្ឋានសាធារណៈប៉ុណ្ណោះ។",
|
||||
"acceptPrivateHint": "ទទួលយកតែការបង់ប្រាក់ស្ងាត់ប៉ុណ្ណោះ — អាសយដ្ឋានរបស់អ្នកបរិច្ចាគនៅតែឯកជន។",
|
||||
"acceptHeading": "តើអ្នកនឹងទទួលការបរិច្ចាគបែបណាខ្លះ?",
|
||||
"acceptUnavailable": "មិនអាចប្រើបានជាមួយការចូលគណនីនេះទេ។",
|
||||
"acceptAllTitle": "ការបរិច្ចាគគ្រប់ប្រភេទ",
|
||||
"acceptPublicTitle": "ការបរិច្ចាគសាធារណៈតែប៉ុណ្ណោះ",
|
||||
"acceptPrivateTitle": "ការបរិច្ចាគឯកជនតែប៉ុណ្ណោះ",
|
||||
"acceptAllHint": "ទទួលយកការបរិច្ចាគទាំងសាធារណៈ និងឯកជន។",
|
||||
"acceptPublicHint": "អ្នកបរិច្ចាគផ្ញើទៅកាន់អាសយដ្ឋាន Bitcoin ធម្មតា។ ការបរិច្ចាគទាំងនេះអ្នករាល់គ្នាអាចមើលឃើញ។",
|
||||
"acceptPrivateHint": "អ្នកបរិច្ចាគផ្ញើដោយឯកជន ដូច្នេះអត្តសញ្ញាណរបស់ពួកគេនៅតែលាក់បាំងពីសាធារណៈ។",
|
||||
"customWalletIntro": "បញ្ចូលអាសយដ្ឋានប៊ីតខញ លេខកូដបង់ប្រាក់ស្ងាត់ ឬទាំងពីរ។ ត្រូវការយ៉ាងហោចណាស់មួយ។",
|
||||
"bitcoinAddress": "អាសយដ្ឋានប៊ីតខញ",
|
||||
"bitcoinAddressPlaceholder": "bc1q… ឬ bc1p…",
|
||||
|
||||
+9
-10
@@ -508,21 +508,20 @@
|
||||
"wallet": "د بټکوین پاکټ",
|
||||
"myWalletLabel": "د {{name}} پاکټ",
|
||||
"myWalletDefault": "زما پاکټ",
|
||||
"walletHeroNote": "بسپنې مستقیماً ستاسو په خپل اګورا (Agora) پاکټ کې راتلونکې وي — د هماغه کلي په واسطه چې ستاسو لیکنې لاسلیک کوي خلاصېږي. نه منځګړی، نه د تادیې جوړونه، نه انتظار.",
|
||||
"walletHeroNote": "بسپنې مستقیماً ستاسو په خپل اګورا (Agora) پاکټ کې راځي. نه منځګړی، نه د تادیې جوړونه، نه انتظار.",
|
||||
"walletHeroReassurance": "تاسو کلی لرئ، نو پیسې هم تاسو لرئ. کله هم چې وغواړئ د پاکټ له ټوپ څخه یې وباسئ.",
|
||||
"walletChoose": "پاکټ وټاکئ",
|
||||
"walletCustom": "ګمرکي",
|
||||
"walletUseCustom": "ګمرکي پاکټ وکاروئ",
|
||||
"walletUseMine": "زما د اګورا پاکټ وکاروئ",
|
||||
"acceptAll": "د ټولو پیسو ډولونو منل",
|
||||
"acceptPublic": "یوازې د عامه پیسو منل",
|
||||
"acceptPrivate": "یوازې د خصوصي پیسو منل",
|
||||
"acceptAllShort": "ټول ومنه",
|
||||
"acceptPublicShort": "یوازې عامه",
|
||||
"acceptPrivateShort": "یوازې خصوصي",
|
||||
"acceptAllHint": "د عامه آنچین او خصوصي چپ پیسو دواړه ومنه.",
|
||||
"acceptPublicHint": "یوازې عامه پته ته آنچین مرستې ومنه.",
|
||||
"acceptPrivateHint": "یوازې چپ پیسې ومنه — د مرستهکوونکو پتې پټې پاتې کیږي.",
|
||||
"acceptHeading": "کومې بسپنې به ومنئ؟",
|
||||
"acceptUnavailable": "د دې لاگین سره شتون نه لري.",
|
||||
"acceptAllTitle": "هره بسپنه",
|
||||
"acceptPublicTitle": "یوازې عامه بسپنې",
|
||||
"acceptPrivateTitle": "یوازې پټې بسپنې",
|
||||
"acceptAllHint": "عامه او پټې بسپنې دواړه ومنئ.",
|
||||
"acceptPublicHint": "بسپنهورکوونکي یوې عادي Bitcoin پتې ته ورکوي. دا بسپنې هر چا ته ښکاري.",
|
||||
"acceptPrivateHint": "بسپنهورکوونکي په پټه توګه ورکوي، نو د دوی پېژندنه له عامو خلکو پټه پاتې کیږي.",
|
||||
"customWalletIntro": "د بټکوین پته، د چپ پیسو کوډ، یا دواړه دننه کړئ. لږ تر لږه یو ته اړتیا ده.",
|
||||
"bitcoinAddress": "د بټکوین پته",
|
||||
"bitcoinAddressPlaceholder": "bc1q… یا bc1p…",
|
||||
|
||||
+9
-10
@@ -940,21 +940,20 @@
|
||||
"wallet": "Carteira Bitcoin",
|
||||
"myWalletLabel": "Carteira de {{name}}",
|
||||
"myWalletDefault": "Minha carteira",
|
||||
"walletHeroNote": "As doações vão direto para a sua própria carteira Agora — desbloqueada pela mesma chave que assina suas publicações. Sem intermediários, sem configuração de pagamento, sem espera.",
|
||||
"walletHeroNote": "As doações vão direto para a sua própria carteira Agora. Sem intermediários, sem configuração de pagamento, sem espera.",
|
||||
"walletHeroReassurance": "Você guarda a chave, então você guarda os fundos. Saque a qualquer momento na aba da carteira.",
|
||||
"walletChoose": "Escolher uma carteira",
|
||||
"walletCustom": "Personalizada",
|
||||
"walletUseCustom": "Usar uma carteira personalizada",
|
||||
"walletUseMine": "Usar minha carteira Agora",
|
||||
"acceptAll": "Aceitar todos os tipos de pagamento",
|
||||
"acceptPublic": "Aceitar apenas pagamentos públicos",
|
||||
"acceptPrivate": "Aceitar apenas pagamentos privados",
|
||||
"acceptAllShort": "Aceitar todos",
|
||||
"acceptPublicShort": "Apenas públicos",
|
||||
"acceptPrivateShort": "Apenas privados",
|
||||
"acceptAllHint": "Aceitar pagamentos públicos on-chain e pagamentos silenciosos privados.",
|
||||
"acceptPublicHint": "Aceitar apenas doações on-chain para um endereço público.",
|
||||
"acceptPrivateHint": "Aceitar apenas pagamentos silenciosos — os endereços dos doadores permanecem privados.",
|
||||
"acceptHeading": "Quais doações você vai aceitar?",
|
||||
"acceptUnavailable": "Não disponível com este login.",
|
||||
"acceptAllTitle": "Qualquer doação",
|
||||
"acceptPublicTitle": "Somente doações públicas",
|
||||
"acceptPrivateTitle": "Somente doações privadas",
|
||||
"acceptAllHint": "Receber doações tanto públicas quanto privadas.",
|
||||
"acceptPublicHint": "Os doadores enviam para um endereço Bitcoin comum. Essas doações ficam visíveis para qualquer pessoa.",
|
||||
"acceptPrivateHint": "Os doadores enviam de forma privada, então a identidade deles fica oculta do público.",
|
||||
"customWalletIntro": "Digite um endereço Bitcoin, um código de pagamento silencioso, ou ambos. Pelo menos um é obrigatório.",
|
||||
"bitcoinAddress": "Endereço Bitcoin",
|
||||
"bitcoinAddressPlaceholder": "bc1q… ou bc1p…",
|
||||
|
||||
+9
-10
@@ -940,21 +940,20 @@
|
||||
"wallet": "Bitcoin-кошелёк",
|
||||
"myWalletLabel": "Кошелёк {{name}}",
|
||||
"myWalletDefault": "Мой кошелёк",
|
||||
"walletHeroNote": "Пожертвования поступают напрямую в ваш собственный кошелёк Agora — он открывается тем же ключом, которым подписываются ваши посты. Без посредников, без настройки выплат, без ожидания.",
|
||||
"walletHeroNote": "Пожертвования поступают напрямую в ваш собственный кошелёк Agora. Без посредников, без настройки выплат, без ожидания.",
|
||||
"walletHeroReassurance": "Ключ у вас, а значит, и средства у вас. Выводите их в любой момент на вкладке кошелька.",
|
||||
"walletChoose": "Выбрать кошелёк",
|
||||
"walletCustom": "Пользовательский",
|
||||
"walletUseCustom": "Использовать пользовательский кошелёк",
|
||||
"walletUseMine": "Использовать мой кошелёк Agora",
|
||||
"acceptAll": "Принимать все типы платежей",
|
||||
"acceptPublic": "Принимать только публичные платежи",
|
||||
"acceptPrivate": "Принимать только приватные платежи",
|
||||
"acceptAllShort": "Принимать все",
|
||||
"acceptPublicShort": "Только публичные",
|
||||
"acceptPrivateShort": "Только приватные",
|
||||
"acceptAllHint": "Принимать как публичные ончейн-платежи, так и приватные тихие платежи.",
|
||||
"acceptPublicHint": "Принимать только ончейн-пожертвования на публичный адрес.",
|
||||
"acceptPrivateHint": "Принимать только тихие платежи — адреса донаторов остаются приватными.",
|
||||
"acceptHeading": "Какие пожертвования вы готовы принимать?",
|
||||
"acceptUnavailable": "Недоступно при этом способе входа.",
|
||||
"acceptAllTitle": "Любые пожертвования",
|
||||
"acceptPublicTitle": "Только публичные пожертвования",
|
||||
"acceptPrivateTitle": "Только приватные пожертвования",
|
||||
"acceptAllHint": "Принимать как публичные, так и приватные пожертвования.",
|
||||
"acceptPublicHint": "Жертвователи отправляют средства на обычный Bitcoin-адрес. Такие пожертвования видны всем.",
|
||||
"acceptPrivateHint": "Жертвователи отправляют средства приватно, поэтому их личность остаётся скрытой от посторонних.",
|
||||
"customWalletIntro": "Введите Bitcoin-адрес, код тихого платежа или оба. Требуется хотя бы один.",
|
||||
"bitcoinAddress": "Bitcoin-адрес",
|
||||
"bitcoinAddressPlaceholder": "bc1q… или bc1p…",
|
||||
|
||||
+9
-10
@@ -508,21 +508,20 @@
|
||||
"wallet": "Chikwama cheBitcoin",
|
||||
"myWalletLabel": "Chikwama cha{{name}}",
|
||||
"myWalletDefault": "Chikwama changu",
|
||||
"walletHeroNote": "Zvipo zvinopinda zvakananga muchikwama chako cheAgora — chinozarurwa nekiyi imwe chete inosaina zvinyorwa zvako. Hapana munhu ari pakati, hapana kugadzirira kubhadharwa, hapana kumirira.",
|
||||
"walletHeroNote": "Zvipo zvinopinda zvakananga muchikwama chako cheAgora. Hapana munhu ari pakati, hapana kugadzirira kubhadharwa, hapana kumirira.",
|
||||
"walletHeroReassurance": "Iwe ndiwe une kiyi, saka ndiwe une mari. Bvisa mari nguva ipi zvayo kubva mutabhu yechikwama.",
|
||||
"walletChoose": "Sarudza chikwama",
|
||||
"walletCustom": "Chenyu",
|
||||
"walletUseCustom": "Shandisa chikwama chako pachako",
|
||||
"walletUseMine": "Shandisa chikwama changu cheAgora",
|
||||
"acceptAll": "Gamuchira mhando dzese dzemubhadharo",
|
||||
"acceptPublic": "Gamuchira chete mibhadharo yepachena",
|
||||
"acceptPrivate": "Gamuchira chete mibhadharo yakavanzika",
|
||||
"acceptAllShort": "Zvose",
|
||||
"acceptPublicShort": "Zvepachena Chete",
|
||||
"acceptPrivateShort": "Zvakavanzika Chete",
|
||||
"acceptAllHint": "Gamuchira mibhadharo yepachena yepa-on-chain neyakavanzika yemubhadharo unyararo.",
|
||||
"acceptPublicHint": "Gamuchira chete zvipo zvepa-on-chain kukero yepachena.",
|
||||
"acceptPrivateHint": "Gamuchira chete mubhadharo unyararo — makero evapi anoramba akavanzika.",
|
||||
"acceptHeading": "Ndezvipi zvipo zvauchagamuchira?",
|
||||
"acceptUnavailable": "Hazviwanikwi nekupinda uku.",
|
||||
"acceptAllTitle": "Chipo chero chipi zvacho",
|
||||
"acceptPublicTitle": "Zvipo zvepachena chete",
|
||||
"acceptPrivateTitle": "Zvipo zvakavanzika chete",
|
||||
"acceptAllHint": "Gamuchira zvipo zvepachena nezvakavanzika.",
|
||||
"acceptPublicHint": "Vanopa vanopa kukero yeBitcoin yenguva dzose. Zvipo izvi zvinoonekwa nemunhu wese.",
|
||||
"acceptPrivateHint": "Vanopa vanopa muchivande, saka zita ravo rinoramba rakavanzika kuruzhinji.",
|
||||
"customWalletIntro": "Isa kero yeBitcoin, kodhi yemubhadharo unyararo, kana zvose. Imwechete inodikanwa zvirinani.",
|
||||
"bitcoinAddress": "Kero yeBitcoin",
|
||||
"bitcoinAddressPlaceholder": "bc1q… kana bc1p…",
|
||||
|
||||
+10
-9
@@ -939,19 +939,20 @@
|
||||
"wallet": "Pochi ya Bitcoin",
|
||||
"myWalletLabel": "Pochi ya {{name}}",
|
||||
"myWalletDefault": "Pochi yangu",
|
||||
"walletHeroNote": "Michango huingia moja kwa moja kwenye pochi yako mwenyewe ya Agora. Hakuna mtu wa kati, hakuna usanidi wa malipo, hakuna kusubiri.",
|
||||
"walletHeroReassurance": "Wewe ndiye unayeshikilia ufunguo, kwa hivyo wewe ndiye unayeshikilia pesa. Toa wakati wowote kupitia kichupo cha pochi.",
|
||||
"walletChoose": "Chagua pochi",
|
||||
"walletCustom": "Maalum",
|
||||
"walletUseCustom": "Tumia pochi maalum badala yake",
|
||||
"walletUseMine": "Tumia pochi yangu ya Agora",
|
||||
"acceptAll": "Kubali aina zote za malipo",
|
||||
"acceptPublic": "Kubali malipo ya umma pekee",
|
||||
"acceptPrivate": "Kubali malipo ya faragha pekee",
|
||||
"acceptAllShort": "Zote",
|
||||
"acceptPublicShort": "Umma Pekee",
|
||||
"acceptPrivateShort": "Faragha Pekee",
|
||||
"acceptAllHint": "Kubali malipo ya umma kwenye mnyororo na malipo ya kimya ya faragha.",
|
||||
"acceptPublicHint": "Kubali tu michango ya kwenye mnyororo kwa anwani ya umma.",
|
||||
"acceptPrivateHint": "Kubali tu malipo ya kimya — anwani za wachangiaji zinabaki za faragha.",
|
||||
"acceptHeading": "Utakubali michango ya aina gani?",
|
||||
"acceptUnavailable": "Haipatikani kwa kuingia huku.",
|
||||
"acceptAllTitle": "Mchango wowote",
|
||||
"acceptPublicTitle": "Michango ya umma pekee",
|
||||
"acceptPrivateTitle": "Michango ya faragha pekee",
|
||||
"acceptAllHint": "Pokea michango ya umma na ya faragha vyote.",
|
||||
"acceptPublicHint": "Wachangiaji hutoa kwa anwani ya kawaida ya Bitcoin. Michango hii inaonekana kwa mtu yeyote.",
|
||||
"acceptPrivateHint": "Wachangiaji hutoa kwa faragha, kwa hivyo utambulisho wao unabaki umefichwa kutoka kwa umma.",
|
||||
"customWalletIntro": "Weka anwani ya Bitcoin, msimbo wa malipo ya kimya, au zote mbili. Angalau moja inahitajika.",
|
||||
"bitcoinAddress": "Anwani ya Bitcoin",
|
||||
"bitcoinAddressPlaceholder": "bc1q… au bc1p…",
|
||||
|
||||
+10
-9
@@ -939,19 +939,20 @@
|
||||
"wallet": "Bitcoin cüzdanı",
|
||||
"myWalletLabel": "{{name}} cüzdanı",
|
||||
"myWalletDefault": "Cüzdanım",
|
||||
"walletHeroNote": "Bağışlar doğrudan kendi Agora cüzdanınıza akar. Aracı yok, ödeme ayarı yok, bekleme yok.",
|
||||
"walletHeroReassurance": "Anahtar sizde olduğu için para da sizde. Cüzdan sekmesinden istediğiniz zaman çekebilirsiniz.",
|
||||
"walletChoose": "Bir cüzdan seçin",
|
||||
"walletCustom": "Özel",
|
||||
"walletUseCustom": "Bunun yerine özel bir cüzdan kullan",
|
||||
"walletUseMine": "Agora cüzdanımı kullan",
|
||||
"acceptAll": "Tüm ödeme türlerini kabul et",
|
||||
"acceptPublic": "Yalnızca açık ödemeleri kabul et",
|
||||
"acceptPrivate": "Yalnızca gizli ödemeleri kabul et",
|
||||
"acceptAllShort": "Tümünü Kabul Et",
|
||||
"acceptPublicShort": "Yalnızca Açık",
|
||||
"acceptPrivateShort": "Yalnızca Gizli",
|
||||
"acceptAllHint": "Hem açık zincir üstü hem de gizli sessiz ödemeleri kabul edin.",
|
||||
"acceptPublicHint": "Yalnızca açık bir adrese yapılan zincir üstü bağışları kabul edin.",
|
||||
"acceptPrivateHint": "Yalnızca sessiz ödemeleri kabul edin — bağışçı adresleri gizli kalır.",
|
||||
"acceptHeading": "Hangi bağışları kabul edeceksiniz?",
|
||||
"acceptUnavailable": "Bu girişle kullanılamaz.",
|
||||
"acceptAllTitle": "Her türlü bağış",
|
||||
"acceptPublicTitle": "Yalnızca açık bağışlar",
|
||||
"acceptPrivateTitle": "Yalnızca gizli bağışlar",
|
||||
"acceptAllHint": "Hem açık hem de gizli bağışları kabul edin.",
|
||||
"acceptPublicHint": "Bağışçılar normal bir Bitcoin adresine gönderir. Bu bağışlar herkese görünür.",
|
||||
"acceptPrivateHint": "Bağışçılar gizlice gönderir, böylece kimlikleri herkesten gizli kalır.",
|
||||
"customWalletIntro": "Bir Bitcoin adresi, bir sessiz ödeme kodu ya da her ikisini birden girin. En az biri zorunludur.",
|
||||
"bitcoinAddress": "Bitcoin adresi",
|
||||
"bitcoinAddressPlaceholder": "bc1q… veya bc1p…",
|
||||
|
||||
@@ -508,19 +508,20 @@
|
||||
"wallet": "比特幣錢包",
|
||||
"myWalletLabel": "{{name}} 的錢包",
|
||||
"myWalletDefault": "我的錢包",
|
||||
"walletHeroNote": "捐款會直接進入您自己的 Agora 錢包。沒有中間人,不必設定提領,也不用等待。",
|
||||
"walletHeroReassurance": "您持有金鑰,因此您持有資金。隨時都可以從錢包分頁提領。",
|
||||
"walletChoose": "選擇錢包",
|
||||
"walletCustom": "自定義",
|
||||
"walletUseCustom": "改用自定義錢包",
|
||||
"walletUseMine": "使用我的 Agora 錢包",
|
||||
"acceptAll": "接受所有支付型別",
|
||||
"acceptPublic": "僅接受公開支付",
|
||||
"acceptPrivate": "僅接受私密支付",
|
||||
"acceptAllShort": "全部接受",
|
||||
"acceptPublicShort": "僅公開",
|
||||
"acceptPrivateShort": "僅私密",
|
||||
"acceptAllHint": "同時接受公開的鏈上支付與私密的靜默支付。",
|
||||
"acceptPublicHint": "僅接受發送至公開地址的鏈上捐款。",
|
||||
"acceptPrivateHint": "僅接受靜默支付——捐款者的地址將保持私密。",
|
||||
"acceptHeading": "您願意接受哪些捐款?",
|
||||
"acceptUnavailable": "此登入方式無法使用。",
|
||||
"acceptAllTitle": "任何捐款",
|
||||
"acceptPublicTitle": "僅接受公開捐款",
|
||||
"acceptPrivateTitle": "僅接受私密捐款",
|
||||
"acceptAllHint": "同時接受公開與私密的捐款。",
|
||||
"acceptPublicHint": "捐款者捐到一個一般的比特幣地址。這些捐款任何人都看得到。",
|
||||
"acceptPrivateHint": "捐款者以私密方式捐款,因此他們的身分不會對外公開。",
|
||||
"customWalletIntro": "輸入比特幣地址、靜默支付代碼或兩者皆可。至少需要一個。",
|
||||
"bitcoinAddress": "比特幣地址",
|
||||
"bitcoinAddressPlaceholder": "bc1q… 或 bc1p…",
|
||||
|
||||
+9
-10
@@ -508,21 +508,20 @@
|
||||
"wallet": "比特币钱包",
|
||||
"myWalletLabel": "{{name}} 的钱包",
|
||||
"myWalletDefault": "我的钱包",
|
||||
"walletHeroNote": "捐款将直接进入你自己的 Agora 钱包——由签署你帖子的同一把密钥解锁。没有中间人,无需设置收款,也无需等待。",
|
||||
"walletHeroNote": "捐款将直接进入你自己的 Agora 钱包。没有中间人,无需设置收款,也无需等待。",
|
||||
"walletHeroReassurance": "你掌握密钥,就掌握资金。随时可在钱包标签页提现。",
|
||||
"walletChoose": "选择钱包",
|
||||
"walletCustom": "自定义",
|
||||
"walletUseCustom": "改用自定义钱包",
|
||||
"walletUseMine": "使用我的 Agora 钱包",
|
||||
"acceptAll": "接受所有支付类型",
|
||||
"acceptPublic": "仅接受公开支付",
|
||||
"acceptPrivate": "仅接受私密支付",
|
||||
"acceptAllShort": "全部接受",
|
||||
"acceptPublicShort": "仅公开",
|
||||
"acceptPrivateShort": "仅私密",
|
||||
"acceptAllHint": "同时接受公开链上支付和私密静默支付。",
|
||||
"acceptPublicHint": "仅接受发送至公开地址的链上捐款。",
|
||||
"acceptPrivateHint": "仅接受静默支付——捐赠者地址保持私密。",
|
||||
"acceptHeading": "你愿意接受哪些捐款?",
|
||||
"acceptUnavailable": "此登录方式无法使用。",
|
||||
"acceptAllTitle": "任何捐款",
|
||||
"acceptPublicTitle": "仅接受公开捐款",
|
||||
"acceptPrivateTitle": "仅接受私密捐款",
|
||||
"acceptAllHint": "公开和私密捐款都接受。",
|
||||
"acceptPublicHint": "捐赠者将款项发送到一个普通的 Bitcoin 地址。这些捐款任何人都能看到。",
|
||||
"acceptPrivateHint": "捐赠者以私密方式捐款,因此他们的身份不会对外公开。",
|
||||
"customWalletIntro": "输入比特币地址、静默支付代码或两者皆可。至少需要一个。",
|
||||
"bitcoinAddress": "比特币地址",
|
||||
"bitcoinAddressPlaceholder": "bc1q… 或 bc1p…",
|
||||
|
||||
@@ -9,10 +9,13 @@ import { nip19 } from 'nostr-tools';
|
||||
import {
|
||||
AlertTriangle,
|
||||
ArrowLeft,
|
||||
ArrowRight,
|
||||
Check,
|
||||
ChevronDown,
|
||||
EyeOff,
|
||||
Globe,
|
||||
HandHeart,
|
||||
HelpCircle,
|
||||
Link2,
|
||||
Loader2,
|
||||
ShieldCheck,
|
||||
Upload,
|
||||
@@ -33,7 +36,6 @@ import { Card, CardContent } from '@/components/ui/card';
|
||||
import { Input } from '@/components/ui/input';
|
||||
import { Skeleton } from '@/components/ui/skeleton';
|
||||
import { Textarea } from '@/components/ui/textarea';
|
||||
import { ToggleGroup, ToggleGroupItem } from '@/components/ui/toggle-group';
|
||||
import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';
|
||||
import { useAppContext } from '@/hooks/useAppContext';
|
||||
import { useAuthor } from '@/hooks/useAuthor';
|
||||
@@ -1303,21 +1305,18 @@ function WalletPicker({
|
||||
<div className="space-y-4">
|
||||
{walletSource === 'mine' ? (
|
||||
<>
|
||||
{/* Hero coupling card. Modelled on the onboarding "Save your
|
||||
key" surface: a primary-tinted card whose visual
|
||||
centerpiece is the linked-icon trio (the campaign ↔ the
|
||||
key ↔ the wallet) so a first-time creator instantly
|
||||
grasps that donations land in their own Agora wallet,
|
||||
unlocked by the same key that signs their posts. The
|
||||
avatar + live balance below confirm the exact destination. */}
|
||||
{/* Hero card. Modelled on the onboarding "Save your key"
|
||||
surface: a primary-tinted card whose visual centerpiece
|
||||
is an icon pair (the campaign -> the wallet) so a
|
||||
first-time creator instantly grasps that donations land
|
||||
in their own Agora wallet. The avatar + live balance
|
||||
below confirm the exact destination. */}
|
||||
<div className="rounded-xl border-2 border-primary/30 bg-primary/10 p-5 space-y-4">
|
||||
<div className="flex items-center justify-center gap-3">
|
||||
<div className="flex size-14 shrink-0 items-center justify-center rounded-full bg-background shadow-sm ring-2 ring-primary/30">
|
||||
<HandHeart className="size-7 text-primary" />
|
||||
</div>
|
||||
<div className="flex size-7 shrink-0 items-center justify-center rounded-full bg-primary text-primary-foreground shadow">
|
||||
<Link2 className="size-4" />
|
||||
</div>
|
||||
<ArrowRight className="size-5 shrink-0 text-primary rtl:rotate-180" />
|
||||
<div className="flex size-14 shrink-0 items-center justify-center rounded-full bg-background shadow-sm ring-2 ring-primary/30">
|
||||
<Wallet className="size-7 text-primary" />
|
||||
</div>
|
||||
@@ -1433,11 +1432,14 @@ function WalletPicker({
|
||||
}
|
||||
|
||||
/**
|
||||
* Segmented "Accept" picker for the HD-wallet branch. Three pill
|
||||
* buttons (Accept All / Public Only / Private Only) with a one-line
|
||||
* caption beneath that explains the current selection. Public is
|
||||
* always available; the All and Private buttons disable when SP isn't
|
||||
* supported (extension / bunker logins).
|
||||
* "What donations will you accept?" picker for the HD-wallet branch.
|
||||
*
|
||||
* Written for a first-time, possibly anxious creator: instead of three
|
||||
* terse jargon pills (Accept All / Public Only / Private Only) it
|
||||
* presents three full-width selectable cards, each with a friendly
|
||||
* icon, a plain-language title, and a one-line reassurance. The two
|
||||
* SP-dependent options are disabled (with a short note) when silent
|
||||
* payments aren't supported on this login (extension / bunker).
|
||||
*/
|
||||
function AcceptModePicker({
|
||||
value,
|
||||
@@ -1450,49 +1452,87 @@ function AcceptModePicker({
|
||||
}) {
|
||||
const { t } = useTranslation();
|
||||
|
||||
const caption = {
|
||||
all: t('campaignsCreate.acceptAllHint'),
|
||||
public: t('campaignsCreate.acceptPublicHint'),
|
||||
private: t('campaignsCreate.acceptPrivateHint'),
|
||||
}[value];
|
||||
const options: {
|
||||
key: 'all' | 'public' | 'private';
|
||||
icon: typeof Globe;
|
||||
title: string;
|
||||
description: string;
|
||||
requiresSp?: boolean;
|
||||
}[] = [
|
||||
{
|
||||
key: 'all',
|
||||
icon: HandHeart,
|
||||
title: t('campaignsCreate.acceptAllTitle'),
|
||||
description: t('campaignsCreate.acceptAllHint'),
|
||||
requiresSp: true,
|
||||
},
|
||||
{
|
||||
key: 'public',
|
||||
icon: Globe,
|
||||
title: t('campaignsCreate.acceptPublicTitle'),
|
||||
description: t('campaignsCreate.acceptPublicHint'),
|
||||
},
|
||||
{
|
||||
key: 'private',
|
||||
icon: EyeOff,
|
||||
title: t('campaignsCreate.acceptPrivateTitle'),
|
||||
description: t('campaignsCreate.acceptPrivateHint'),
|
||||
requiresSp: true,
|
||||
},
|
||||
];
|
||||
|
||||
return (
|
||||
<div className="space-y-2">
|
||||
<ToggleGroup
|
||||
type="single"
|
||||
value={value}
|
||||
// Radix ToggleGroup emits '' when the user toggles off the
|
||||
// selected item. Required campaigns can never be in "no
|
||||
// mode" state — coerce empty back to the previous value.
|
||||
onValueChange={(next) => {
|
||||
if (!next) return;
|
||||
onChange(next as 'all' | 'public' | 'private');
|
||||
}}
|
||||
variant="outline"
|
||||
className="grid w-full grid-cols-3 gap-1.5"
|
||||
>
|
||||
<ToggleGroupItem
|
||||
value="all"
|
||||
disabled={!silentPaymentSupported}
|
||||
className="h-auto justify-center rounded-full px-3 py-2 text-xs font-medium"
|
||||
>
|
||||
{t('campaignsCreate.acceptAllShort')}
|
||||
</ToggleGroupItem>
|
||||
<ToggleGroupItem
|
||||
value="public"
|
||||
className="h-auto justify-center rounded-full px-3 py-2 text-xs font-medium"
|
||||
>
|
||||
{t('campaignsCreate.acceptPublicShort')}
|
||||
</ToggleGroupItem>
|
||||
<ToggleGroupItem
|
||||
value="private"
|
||||
disabled={!silentPaymentSupported}
|
||||
className="h-auto justify-center rounded-full px-3 py-2 text-xs font-medium"
|
||||
>
|
||||
{t('campaignsCreate.acceptPrivateShort')}
|
||||
</ToggleGroupItem>
|
||||
</ToggleGroup>
|
||||
<p className="text-xs text-muted-foreground">{caption}</p>
|
||||
<div className="space-y-3">
|
||||
<p className="text-sm font-medium">{t('campaignsCreate.acceptHeading')}</p>
|
||||
<div className="space-y-2" role="radiogroup" aria-label={t('campaignsCreate.acceptHeading')}>
|
||||
{options.map((option) => {
|
||||
const Icon = option.icon;
|
||||
const selected = value === option.key;
|
||||
const disabled = option.requiresSp && !silentPaymentSupported;
|
||||
return (
|
||||
<button
|
||||
key={option.key}
|
||||
type="button"
|
||||
role="radio"
|
||||
aria-checked={selected}
|
||||
disabled={disabled}
|
||||
onClick={() => onChange(option.key)}
|
||||
className={cn(
|
||||
'flex w-full items-start gap-3 rounded-xl border-2 p-4 text-left transition-colors',
|
||||
'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',
|
||||
selected
|
||||
? 'border-primary bg-primary/10'
|
||||
: 'border-border bg-background hover:border-primary/40 hover:bg-muted/40',
|
||||
disabled && 'cursor-not-allowed opacity-50 hover:border-border hover:bg-background',
|
||||
)}
|
||||
>
|
||||
<span
|
||||
className={cn(
|
||||
'flex size-10 shrink-0 items-center justify-center rounded-full',
|
||||
selected ? 'bg-primary text-primary-foreground' : 'bg-muted text-muted-foreground',
|
||||
)}
|
||||
>
|
||||
<Icon className="size-5" />
|
||||
</span>
|
||||
<span className="min-w-0 flex-1 space-y-0.5">
|
||||
<span className="block text-sm font-semibold">{option.title}</span>
|
||||
<span className="block text-xs leading-relaxed text-muted-foreground">
|
||||
{disabled ? t('campaignsCreate.acceptUnavailable') : option.description}
|
||||
</span>
|
||||
</span>
|
||||
<span
|
||||
className={cn(
|
||||
'mt-0.5 flex size-5 shrink-0 items-center justify-center rounded-full border-2 transition-colors',
|
||||
selected ? 'border-primary bg-primary text-primary-foreground' : 'border-muted-foreground/30',
|
||||
)}
|
||||
aria-hidden="true"
|
||||
>
|
||||
{selected && <Check className="size-3" />}
|
||||
</span>
|
||||
</button>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user