From b419ccffd45add72259f4abe548ad29b61309488 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Wed, 20 Dec 2023 15:06:00 -0800 Subject: prettier --- src/components/Calendar.svelte | 3 +- src/components/Card.svelte | 3 +- src/components/Footer.svelte | 3 +- src/components/Heart.svelte | 3 +- src/components/Invoice.svelte | 3 +- src/components/LandingHeader.svelte | 22 +- src/components/LandingHero.svelte | 3 +- src/components/Left.svelte | 3 +- src/components/Lnurlw.svelte | 3 +- src/components/LocationsMap.svelte | 6 +- src/components/Lock.svelte | 3 +- src/components/Password.svelte | 9 +- src/components/Pin.svelte | 3 +- src/components/Pinpad.svelte | 6 +- src/components/Request.svelte | 3 +- src/components/Spinner.svelte | 3 +- src/lib/invoice.js | 3 +- src/lib/utils.js | 2 +- src/locales/fr.json | 658 ++++++++++----------- src/routes/(app)/+error.svelte | 3 +- .../[username]/(profile)/request/+page.svelte | 3 +- .../(app)/[username]/card/[serial]/+page.svelte | 6 +- src/routes/(app)/[username]/funds/+page.svelte | 3 +- src/routes/(app)/[username]/generate/+page.svelte | 4 +- .../[username]/invoice/[id]/+layout.server.js | 8 +- .../(app)/[username]/invoice/[id]/+page.svelte | 24 +- .../[username]/invoice/[id]/paid/+page.svelte | 12 +- .../[username]/receive/[...param]/+page.svelte | 3 +- .../[username]/settings/[...tab]/+page.svelte | 3 +- .../[username]/settings/[...tab]/_account.svelte | 1 - .../(app)/[username]/settings/[...tab]/_pos.svelte | 6 +- .../[username]/settings/[...tab]/_security.svelte | 6 +- .../[username]/settings/[...tab]/_shopify.svelte | 4 +- src/routes/(app)/buy/+page.svelte | 11 +- src/routes/(app)/forgot/+page.svelte | 9 +- src/routes/(app)/fund/[id]/+page.svelte | 12 +- src/routes/(app)/fund/[id]/withdraw/+page.svelte | 3 +- src/routes/(app)/launch/+page.svelte | 7 +- src/routes/(app)/launch/purchase/+page.svelte | 17 +- .../(app)/launch/purchase/card/+page.server.js | 3 +- src/routes/(app)/launch/purchase/card/+page.svelte | 8 +- .../(app)/launch/thanks/[asset]/+page.svelte | 7 +- src/routes/(app)/launch/ticket/+page.svelte | 7 +- src/routes/(app)/login/+page.svelte | 13 +- src/routes/(app)/register/+page.server.js | 11 +- src/routes/(app)/register/+page.svelte | 24 +- src/routes/(app)/reset/[code]/+page.svelte | 12 +- src/routes/(app)/scan/+page.svelte | 5 +- src/routes/(app)/send/[...text]/+page.svelte | 12 +- .../(app)/send/bitcoin/[address]/+page.svelte | 6 +- .../[amount]/[...feeRate]/+page.server.js | 2 +- .../[address]/[amount]/[...feeRate]/+page.svelte | 9 +- .../send/fund/[name]/[...amount]/+page.svelte | 3 +- src/routes/(app)/send/invoice/[id]/+page.svelte | 6 +- .../(app)/send/lightning/[payreq]/+page.svelte | 10 +- src/routes/(app)/support/+page.svelte | 3 +- src/routes/(static)/docs/+page.svelte | 1 - src/routes/+page.svelte | 2 +- 58 files changed, 553 insertions(+), 478 deletions(-) (limited to 'src') diff --git a/src/components/Calendar.svelte b/src/components/Calendar.svelte index 7d7fa570..b07c136c 100644 --- a/src/components/Calendar.svelte +++ b/src/components/Calendar.svelte @@ -3,7 +3,8 @@ class="absolute bottom-0 left-0 -mb-0.5 transform translate-x-1/2 -translate-y-1/2 text-black peer-placeholder-shown:text-gray-300 h-6 w-6" fill="none" viewBox="0 0 24 24" - stroke="currentColor"> + stroke="currentColor" +> + stroke="currentColor" +> diff --git a/src/components/Heart.svelte b/src/components/Heart.svelte index 4304545f..9bae6500 100644 --- a/src/components/Heart.svelte +++ b/src/components/Heart.svelte @@ -4,7 +4,8 @@ class="mr-1" viewBox="0 0 24 24" fill="none" - xmlns="http://www.w3.org/2000/svg"> + xmlns="http://www.w3.org/2000/svg" +> diff --git a/src/components/LandingHeader.svelte b/src/components/LandingHeader.svelte index 72dd8c71..d1094a1d 100644 --- a/src/components/LandingHeader.svelte +++ b/src/components/LandingHeader.svelte @@ -52,12 +52,11 @@ class="border rounded-full px-6 py-2 font-bold" on:click={() => goto(`/${user.username}`)} >Home - - {:else} @@ -65,12 +64,11 @@ class="border rounded-full px-6 py-2 font-bold hover:opacity-80" on:click={() => goto("/register")} >{$t("nav.startInSeconds")} - - {/if} @@ -81,8 +79,6 @@ class="block md:hidden absolute top-[34.5px] right-10 z" on:click={() => (showMobileMenu = !showMobileMenu)} > - -
goto("/register")} >{$t("nav.startInSeconds")} - - {:else} @@ -118,12 +113,11 @@ class="border rounded-full px-6 py-2 font-bold block" on:click={() => goto(`/${user.username}`)} >{$t("nav.account")} - - {/if} diff --git a/src/components/LandingHero.svelte b/src/components/LandingHero.svelte index 14488cdd..43223499 100644 --- a/src/components/LandingHero.svelte +++ b/src/components/LandingHero.svelte @@ -29,7 +29,8 @@
diff --git a/src/components/Left.svelte b/src/components/Left.svelte index dd27a698..1e236969 100644 --- a/src/components/Left.svelte +++ b/src/components/Left.svelte @@ -4,7 +4,8 @@ height="24" viewBox="0 0 24 24" fill="none" - xmlns="http://www.w3.org/2000/svg"> + xmlns="http://www.w3.org/2000/svg" +>
diff --git a/src/components/Lock.svelte b/src/components/Lock.svelte index 23ab0699..fce994a2 100644 --- a/src/components/Lock.svelte +++ b/src/components/Lock.svelte @@ -3,7 +3,8 @@ class="absolute bottom-0 left-0 -mb-0.5 transform translate-x-1/2 -translate-y-1/2 text-black peer-placeholder-shown:text-gray-300 h-6 w-6" fill="none" viewBox="0 0 24 24" - stroke="currentColor"> + stroke="currentColor" +> (revealPassword = !revealPassword)} - class="absolute right-5 top-6"> + class="absolute right-5 top-6" + >
@@ -66,12 +67,14 @@ type="button" class="border-2 border-black rounded-xl font-semibold mx-auto py-3 w-40 hover:opacity-80 mx-auto" on:click={cancel} - on:keydown={cancel}> + on:keydown={cancel} + >
Cancel
diff --git a/src/components/Pin.svelte b/src/components/Pin.svelte index 50b0e463..9938f9a1 100644 --- a/src/components/Pin.svelte +++ b/src/components/Pin.svelte @@ -53,7 +53,8 @@
diff --git a/src/components/Pinpad.svelte b/src/components/Pinpad.svelte index 1a549654..641ddb2b 100644 --- a/src/components/Pinpad.svelte +++ b/src/components/Pinpad.svelte @@ -60,7 +60,8 @@ @@ -71,7 +72,8 @@ {:else} diff --git a/src/components/Request.svelte b/src/components/Request.svelte index 03364052..c085f9e2 100644 --- a/src/components/Request.svelte +++ b/src/components/Request.svelte @@ -28,7 +28,8 @@
diff --git a/src/components/Spinner.svelte b/src/components/Spinner.svelte index 2e9243b9..e9c3348f 100644 --- a/src/components/Spinner.svelte +++ b/src/components/Spinner.svelte @@ -2,7 +2,8 @@ class="mx-auto h-6 w-6 animate-spin text-white" xmlns="http://www.w3.org/2000/svg" fill="none" - viewBox="0 0 24 24"> + viewBox="0 0 24 24" +> { redirect(307, `/${user.username}/request/${request_id}`); } - if (invoice.prompt) - redirect(307, `/${user.username}/invoice/${id}/tip`); + if (invoice.prompt) redirect(307, `/${user.username}/invoice/${id}/tip`); else redirect(307, `/${user.username}/invoice/${id}`); }; diff --git a/src/lib/utils.js b/src/lib/utils.js index 5303ec35..755d8daf 100644 --- a/src/lib/utils.js +++ b/src/lib/utils.js @@ -282,7 +282,7 @@ export function shuffleArray(array) { } } - export let closest = (a, n) => +export let closest = (a, n) => a.reduce((prev, curr) => Math.abs(curr - n) < Math.abs(prev - n) ? curr : prev ); diff --git a/src/locales/fr.json b/src/locales/fr.json index ae2871f7..041fec34 100644 --- a/src/locales/fr.json +++ b/src/locales/fr.json @@ -1,331 +1,331 @@ { - "404": { - "404": "404", - "pageNotFound": "Page non trouvée." - }, - "about": { - "header": "À Propos", - "locations": { - "header": "Établissements", - "description": "Il y a des entreprises qui acceptent bitcoin utilisant le point de vente coinos. Si vous utilisez notre appli, s'il vous plait fais-le-nous savoir!" - }, - "team": { - "header": "L'Équipe", - "adam": { - "name": "Adam Soltys", - "position": "Officier Technique Principal", - "bio": "Adam est développeur web et passionné de bitcoin. Il croit que l'argent sûr est la clé pour augmenter la prospérité planétaire. Il habite en Vancouver de Nord avec sa femme Chelsea et deux enfants." - }, - "cole": { - "name": "Cole Goodwin", - "position": "Professionel de Bitcoin", - "bio": "Cole est un professionel de bitcoin diplômé et un homme motivé avec passion pour la liberté. Il a découvert bitcoin en 2016 et l'a etudié en détail. Maintenant, il veux introduire le réseau Lightning à autant d'utilisateurs que possible." - } - } - }, - "error": { - "header": "Erreur", - "message": "S'il vous plait réessayez ou contactez l'assistance.", - "signIn": "Vous devez connecter pour continuer.", - "unrecognizedInput": "Donnée non reconnu" - }, - "faq": { - "header": "FAQ", - "cost": { - "question": "Combien cela coûte-t-il?", - "answer": "Recevoir des paiements sur votre compte est gratuit. Les retraits vers des portefeuilles externes entraînent des frais minimes qui varient en fonction des conditions du réseau. Nous facturons 0,1% pour convertir entre le Bitcoin lightning et le Bitcoin on-chain. Envoyer à d'autres comptes Coinos est gratuit." - }, - "compatibility": { - "question": "Ai-je besoin d'un dispositif ou d'un logiciel spécial?", - "answer": "Non, Coinos est une application web qui fonctionne partout où il y a Internet. Les commerçants pourraient l'utiliser sur une tablette ou afficher un code QR pour que les clients puissent le scanner avec leur téléphone." - }, - "safety": { - "question": "Quand mes fonds sont-ils réglés?", - "answer": "Les paiements lightning sont réglés instantanément. Vous pouvez retirer votre solde vers un autre portefeuille en quelques secondes. Les dépôts on-chain prennent en moyenne 5-10 minutes pour être confirmés." - }, - "pos": { - "question": "Coinos peut-il s'intégrer à mon PoS existant?", - "answer": "Nous recommandons d'entrer les ventes dans votre PoS existant comme des transactions en espèces." - }, - "bitcoin": { - "question": "Que puis-je faire avec le Bitcoin?", - "answer": "Dépensez-le chez d'autres commerçants ou payez vos dépenses avec en incitant votre personnel, vos fournisseurs et votre propriétaire à l'accepter." - } - }, - "footer": { - "followUs": "Suivez-Nous", - "twitter": "Twitter", - "github": "GitHub", - "company": "Entreprise", - "telegram": "Telegram", - "support": "Assistance", - "jobs": "Jobs", - "linktree": "Linktree", - "documentation": "Documentation" - }, - "howItWorks": { - "header": "Comment cela Fonctionne", - "step1": { - "header": "1. Créez votre compte", - "description": "Un nom d'utilateur et mot de passe est tout ce dont vous avez besoin pour commencer." - }, - "step2": { - "header": "2. Demande pour des paiements", - "description": "Comme vous faisiez normalement, mais avec bitcoin." - }, - "step3": { - "header": "3. C'est tout!", - "description": "Vous pouvez convertir en monnaie local n'importe quand." - } - }, - "landing": { - "header_before_icon": "Le", - "header_with_icon": "façon", - "header_after_icon": "le plus façile d'accepter bitcoin dans votre magasin.", - "subheader": "Agrandir votre clientèle et chiffre d'affaires en acceptant bitcoin avec un point de vente façile à utiliser et géré. Logiciel et matériel informatique non obligatoire.", - "info1": { - "title": "Paiements instantanés avec Lightning", - "description": "Le moment où votre client envoie un paiment, c'est là. Vous ne devez pas attendre les décisions des banques ou vous inquiéter pour des rejets de débit. Décisions instantanées, en secondes. Dites au revoir aux frais de transactions de 3% des cartes de crédit." - }, - "info2": { - "title": "Simple à utiliser, en garde par défaut", - "description1": "Juste entrer une quantité, partager le code QR et c'est tout!", - "description2": "Tes comptes sont en garde par défaut, qui élimine le nécessité de comprendre comment bitcoin/lightning fonctionnent. Nous réalisons le plus gros du travail pour que vous puissiez vous concentrer sur votre entreprise.", - "description3": "Vous avez toujours l'option de gérer vos clés." - }, - "info3": { - "title": "Personalisez-le comme vous voulez", - "description": "Personalisez votre point de vente, ou utilisez les réglages par défaut - c'est votre chois." - } - }, - "login": { - "username": "Nom d'utilisateur", - "password": "Mot de passe", - "email": "Courriel", - "passwordRecommendation": "Nous recommendons un mot de passe long et aléatoire, généré par un gestionnaire de mots de passe.", - "forgotUserOrPassword": "Oublié votre nom d'utilisateur ou mot de passe ?", - "haveAccount": "Avez-vous déjà un compte ?", - "noAccount": "Pas encore de compte ?", - "register": "Enregistrer", - "signIn": "Connexion", - "failed": "Echec de Connexion", - "optional": "Optionnel", - "token": "Jeton 2FA", - "forgot": "Mot de passe oublié?", - "reset": "Reinitialiser le mot de passe", - "submit": "Soumettre", - "newPassword": "Nouveau mot de passe" - }, - "nav": { - "startInSeconds": "Commence en Secondes", - "account": "Compte", - "signIn": "Connexion", - "signOut": "Déconnexion", - "dashboard": "Tableau de bord", - "settings": "Préférences", - "support": "Assistance", - "profile": "Profil", - "map": "Carte", - "merch": "Marchandise", - "about": "À Propos", - "docs": "Documents", - "messages": "Messages", - "funds": "Fonds" - }, - "invoice": { - "addTip": "Ajoutez un pourboire", - "addTipq": "Ajouter un pourboire?", - "done": "Fini", - "paymentSuccessful": "Paiement réussi!", - "invoice": "Facture", - "total": "Total", - "tip": "Pourboire" - }, - "jobs": { - "header": "Emplois", - "subheader": "Postes disponibles actuels", - "pitch1": "coinos recherche pour des développeurs pour joindre notre équipe croissant (temps plein ou partiel, télétravail OK)", - "pitch2": "Avez-vous hâte de travailler sur bitcoin open source? Regardez sur nos dépôts sur", - "github": "GitHub", - "pitch3": "Si vous pensez que vous pouvez exercer une influence positive, nous voulons que vous contribuez. Envoyer votre CV à" - }, - "user": { - "follow": "Suivre", - "remove": "Enlève", - "scanToPayBTC": "Scanner pour payer avec bitcoin", - "dashboard": { - "dashboard": "Tableau de bord", - "accountBalance": "Solde", - "conversionFeeWarning": "Il y a des frais de 1% pour convertir entre bitcoin, Liquid et Lightning.", - "fetchingRate": "cherchant taut de change...", - "send": "Envoie", - "withdraw": "Retire", - "go": "Allez", - "receive": "Reçois un Paiement", - "deposit": "Déposer", - "voucher": "Bon" - }, - "receive": { - "lessThan1BTCWarning": "S'il vous plaît utilisez moins d'un bitcoin.", - "showQR": "Voire le QR code" - }, - "settings": { - "header": "Préférences", - "ACCOUNT": "COMPTE", - "POINT_OF_SALE": "POINT DE VENTE", - "SECURITY": "SÉCURITÉ", - "locale": "Langue", - "username": "Nom d'Utilisateur", - "email": "Courriel", - "newPassword": "Nouveau Mot de Passe", - "emailNotifications": "Notifications par Courriel", - "emailNotificationsDescription": "Nous pouvons vous notifier par courriel quand votre compte change ou quand vous recevez des paiements", - "smsNotifications": "Notifications par SMS", - "smsNotificationsDescription": "Nous vous envoyons des notifications par texte quand c'est activé", - "theme": "Thème", - "themeDescription": "Sélectionnez des thèmes dèfauts.", - "localCurrency": "Monnaie Local", - "btcUnit": "Voire bitcoin en:", - "bitcoin": "bitcoin", - "satoshis": "Satoshis", - "securityPIN": "NIP de Sécurité", - "securityPINDescription": "Choisir un NIP de sécurité qui sera necessaire pour ouvrir tes préférences et pour envoyer des paiements sortants.", - "setPIN": "Choisir Votre NIP", - "autoLock": "Auto-Verouillage", - "autoLockDescription": "Ta conte activera une mode sécuritaire après une durée spécifiée:", - "twofa": "Authentification à 2 Facteurs", - "twofaDescription": "Ajoutez un autre niveau de sécurité par activez l'authentication à deux facteurs.", - "twofaSetup": "Activer A2F", - "bannerImage": "Image de Bandeau", - "profileImage": "Image de Profil", - "oneTimeCode": "Entrez mot de passe à usage unique", - "accountId": "Secret de conte", - "twofaDisable": "Désactivez A2F", - "about": "À Propos", - "aboutPlaceholder": "Un description court de vous ou votre entreprise (adresse, bio, etc.)", - "select": "Choisir", - "verifyPIN": "Verifiez votre NIP", - "enablePIN": "Activer NIP", - "disablePIN": "Désactiver NIP", - "saveSettings": "Sauvegarder Paramètres", - "tipPrompt": "Demande pour Pourboires", - "tipPromptDescription": "Demander les gens s'ils voulent ajouter un pourboire avant payer leurs factures", - "displayName": "Nom d'Utilisateur", - "minutes": "minutes", - "hour": "heure", - "hours": "heures", - "hideSeed": "Cache phrase mnémotechnique", - "revealSeed": "Montre phrase mnémotechnique", - "notifications": "Notifications de paiement", - "notificationsDesc": "Reçevez un courriel quand un paiement arrive à ta conte", - "seedPhrase": "Phrase mnémotechnique", - "nostrKeys": "Clé nostr", - "nostrDescription": "Votre clé nostr est utilisé pour signer et décrypter vos messages, gardez-le sauf ou quelqu'un peut se faire passer pour vous.", - "seedDescription": "Cette phrase mnémotechnique à 12 mots est utilisé pour générer votre clé privée et vos clés de portefeuille que vous controllez qui déterminez vos addresses de retrait automatique. Sauvegardez-le et jamais permettez à personne de le voir.", - "emailDescription": "Pour seulement reinitialisations de mot de passe et notifications de paiements seulement.", - "hideNsec": "Cache clé privée nostr", - "saved": "Paramètres sauvegardés!", - "verifying": "Courriel de verification envoyé.", - "verified": "Courriel verifié!", - "revealNsec": "Montre clé privée nostr", - "publishNip5": "Publie identité nostr", - "nip5a": "Utilise", - "nip5b": "comme votre addresse nostr verifié publiquement" - }, - "support": { - "header": "Assistance", - "email": "Courriel", - "accountName": "Nom d'utilisateur", - "message": "Message", - "send": "Envoie" - }, - "bitcoin": "Bitcoin", - "lightning": "Lightning", - "invoice": "Facture", - "unfollow": "Ne plus suivre", - "following": "Vous suivez", - "this": "Cette", - "lightningAddress": "Adresse de lightning", - "send": { - "contacts": "Contacts", - "scan": "Scannez", - "paste": "Collez", - "next": "Prochain", - "placeholder": "Collez une adresse de bitcoin, facture de lightning ou nom d'utilisateur coinos", - "makeQR": "QR" - }, - "requestPayment": "Demander un Paiement", - "welcome": "Bienvenue! Le solde de votre conte est vide. Vous pouvez commencer par déposer ou recevoir un paiement.", - "showBalance": "Montrer Solde", - "followers": "Abonnés", - "noNotes": "Pas de notes", - "message": "Envoyer", - "messages": "Messages", - "feed": "Flux", - "notes": "Notes", - "pay": "Payer", - "profilePage": "Page de profil", - "nostrPubkey": "Clé publique nostr" - }, - "news": { - "header": "Nouvelles", - "subheader": "Dernières Informations" - }, - "payments": { - "addFunds": "Ajouter d'argent", - "takeFunds": "Prendre d'argent", - "show": "Démontrer", - "hide": "Cacher", - "qr": "QR", - "copyLink": "Copier le Lien", - "copyText": "Copier le Texte", - "openLink": "Ouvrer le Portefeuille", - "moreOptions": "Plus d'options", - "total": "Total", - "gainLoss": "Hausse/Perte", - "presentValue": "Valuer au présent", - "amount": "Quantité", - "date": "Date", - "id": "ID de Transaction", - "details": "Détails de Transaction", - "header": "Paiements", - "preimage": "Preuve de paiement", - "type": "Type", - "time": "Heure", - "sent": "Envoyé", - "received": "Reçu", - "empty": "Vous n'avez pas de transactions.", - "send": "Envoyer", - "next": "Prochain", - "sendTo": "Envoyer à", - "to": "à", - "pay": "Payer", - "requesting": "demande", - "sentInvoiceTo": "Envoyé une facture à", - "sentRequestTo": "Demande envoyé!", - "pleasePay": "S'il vous plait payez", - "day": "Jour", - "week": "Semaine", - "month": "Mois", - "all": "Toutes", - "export": "Exporter", - "invoice": "Facture", - "readyToPay": "est prêt a payer", - "describeOrder": "Utiliser ce champ pour décrire votre commande", - "requestAnInvoice": "Demander une facture", - "submit": "Soumettre", - "isRequesting": "demande", - "invoiceFrom": "Facture de", - "awaiting": "Attendant", - "tapAnywhere": "Taper n'importe où pour continuer", - "from": "de", - "redeem": "Racheter", - "redeemed": "Racheté", - "redeemedBy": "Racheté par", - "sendMessage": "Écrire une message...", - "fundsClaimed": "Les fonds sont réclamés!", - "print": "Imprime", - "create": "Crée", - "fund": "Finance" - } + "404": { + "404": "404", + "pageNotFound": "Page non trouvée." + }, + "about": { + "header": "À Propos", + "locations": { + "header": "Établissements", + "description": "Il y a des entreprises qui acceptent bitcoin utilisant le point de vente coinos. Si vous utilisez notre appli, s'il vous plait fais-le-nous savoir!" + }, + "team": { + "header": "L'Équipe", + "adam": { + "name": "Adam Soltys", + "position": "Officier Technique Principal", + "bio": "Adam est développeur web et passionné de bitcoin. Il croit que l'argent sûr est la clé pour augmenter la prospérité planétaire. Il habite en Vancouver de Nord avec sa femme Chelsea et deux enfants." + }, + "cole": { + "name": "Cole Goodwin", + "position": "Professionel de Bitcoin", + "bio": "Cole est un professionel de bitcoin diplômé et un homme motivé avec passion pour la liberté. Il a découvert bitcoin en 2016 et l'a etudié en détail. Maintenant, il veux introduire le réseau Lightning à autant d'utilisateurs que possible." + } + } + }, + "error": { + "header": "Erreur", + "message": "S'il vous plait réessayez ou contactez l'assistance.", + "signIn": "Vous devez connecter pour continuer.", + "unrecognizedInput": "Donnée non reconnu" + }, + "faq": { + "header": "FAQ", + "cost": { + "question": "Combien cela coûte-t-il?", + "answer": "Recevoir des paiements sur votre compte est gratuit. Les retraits vers des portefeuilles externes entraînent des frais minimes qui varient en fonction des conditions du réseau. Nous facturons 0,1% pour convertir entre le Bitcoin lightning et le Bitcoin on-chain. Envoyer à d'autres comptes Coinos est gratuit." + }, + "compatibility": { + "question": "Ai-je besoin d'un dispositif ou d'un logiciel spécial?", + "answer": "Non, Coinos est une application web qui fonctionne partout où il y a Internet. Les commerçants pourraient l'utiliser sur une tablette ou afficher un code QR pour que les clients puissent le scanner avec leur téléphone." + }, + "safety": { + "question": "Quand mes fonds sont-ils réglés?", + "answer": "Les paiements lightning sont réglés instantanément. Vous pouvez retirer votre solde vers un autre portefeuille en quelques secondes. Les dépôts on-chain prennent en moyenne 5-10 minutes pour être confirmés." + }, + "pos": { + "question": "Coinos peut-il s'intégrer à mon PoS existant?", + "answer": "Nous recommandons d'entrer les ventes dans votre PoS existant comme des transactions en espèces." + }, + "bitcoin": { + "question": "Que puis-je faire avec le Bitcoin?", + "answer": "Dépensez-le chez d'autres commerçants ou payez vos dépenses avec en incitant votre personnel, vos fournisseurs et votre propriétaire à l'accepter." + } + }, + "footer": { + "followUs": "Suivez-Nous", + "twitter": "Twitter", + "github": "GitHub", + "company": "Entreprise", + "telegram": "Telegram", + "support": "Assistance", + "jobs": "Jobs", + "linktree": "Linktree", + "documentation": "Documentation" + }, + "howItWorks": { + "header": "Comment cela Fonctionne", + "step1": { + "header": "1. Créez votre compte", + "description": "Un nom d'utilateur et mot de passe est tout ce dont vous avez besoin pour commencer." + }, + "step2": { + "header": "2. Demande pour des paiements", + "description": "Comme vous faisiez normalement, mais avec bitcoin." + }, + "step3": { + "header": "3. C'est tout!", + "description": "Vous pouvez convertir en monnaie local n'importe quand." + } + }, + "landing": { + "header_before_icon": "Le", + "header_with_icon": "façon", + "header_after_icon": "le plus façile d'accepter bitcoin dans votre magasin.", + "subheader": "Agrandir votre clientèle et chiffre d'affaires en acceptant bitcoin avec un point de vente façile à utiliser et géré. Logiciel et matériel informatique non obligatoire.", + "info1": { + "title": "Paiements instantanés avec Lightning", + "description": "Le moment où votre client envoie un paiment, c'est là. Vous ne devez pas attendre les décisions des banques ou vous inquiéter pour des rejets de débit. Décisions instantanées, en secondes. Dites au revoir aux frais de transactions de 3% des cartes de crédit." + }, + "info2": { + "title": "Simple à utiliser, en garde par défaut", + "description1": "Juste entrer une quantité, partager le code QR et c'est tout!", + "description2": "Tes comptes sont en garde par défaut, qui élimine le nécessité de comprendre comment bitcoin/lightning fonctionnent. Nous réalisons le plus gros du travail pour que vous puissiez vous concentrer sur votre entreprise.", + "description3": "Vous avez toujours l'option de gérer vos clés." + }, + "info3": { + "title": "Personalisez-le comme vous voulez", + "description": "Personalisez votre point de vente, ou utilisez les réglages par défaut - c'est votre chois." + } + }, + "login": { + "username": "Nom d'utilisateur", + "password": "Mot de passe", + "email": "Courriel", + "passwordRecommendation": "Nous recommendons un mot de passe long et aléatoire, généré par un gestionnaire de mots de passe.", + "forgotUserOrPassword": "Oublié votre nom d'utilisateur ou mot de passe ?", + "haveAccount": "Avez-vous déjà un compte ?", + "noAccount": "Pas encore de compte ?", + "register": "Enregistrer", + "signIn": "Connexion", + "failed": "Echec de Connexion", + "optional": "Optionnel", + "token": "Jeton 2FA", + "forgot": "Mot de passe oublié?", + "reset": "Reinitialiser le mot de passe", + "submit": "Soumettre", + "newPassword": "Nouveau mot de passe" + }, + "nav": { + "startInSeconds": "Commence en Secondes", + "account": "Compte", + "signIn": "Connexion", + "signOut": "Déconnexion", + "dashboard": "Tableau de bord", + "settings": "Préférences", + "support": "Assistance", + "profile": "Profil", + "map": "Carte", + "merch": "Marchandise", + "about": "À Propos", + "docs": "Documents", + "messages": "Messages", + "funds": "Fonds" + }, + "invoice": { + "addTip": "Ajoutez un pourboire", + "addTipq": "Ajouter un pourboire?", + "done": "Fini", + "paymentSuccessful": "Paiement réussi!", + "invoice": "Facture", + "total": "Total", + "tip": "Pourboire" + }, + "jobs": { + "header": "Emplois", + "subheader": "Postes disponibles actuels", + "pitch1": "coinos recherche pour des développeurs pour joindre notre équipe croissant (temps plein ou partiel, télétravail OK)", + "pitch2": "Avez-vous hâte de travailler sur bitcoin open source? Regardez sur nos dépôts sur", + "github": "GitHub", + "pitch3": "Si vous pensez que vous pouvez exercer une influence positive, nous voulons que vous contribuez. Envoyer votre CV à" + }, + "user": { + "follow": "Suivre", + "remove": "Enlève", + "scanToPayBTC": "Scanner pour payer avec bitcoin", + "dashboard": { + "dashboard": "Tableau de bord", + "accountBalance": "Solde", + "conversionFeeWarning": "Il y a des frais de 1% pour convertir entre bitcoin, Liquid et Lightning.", + "fetchingRate": "cherchant taut de change...", + "send": "Envoie", + "withdraw": "Retire", + "go": "Allez", + "receive": "Reçois un Paiement", + "deposit": "Déposer", + "voucher": "Bon" + }, + "receive": { + "lessThan1BTCWarning": "S'il vous plaît utilisez moins d'un bitcoin.", + "showQR": "Voire le QR code" + }, + "settings": { + "header": "Préférences", + "ACCOUNT": "COMPTE", + "POINT_OF_SALE": "POINT DE VENTE", + "SECURITY": "SÉCURITÉ", + "locale": "Langue", + "username": "Nom d'Utilisateur", + "email": "Courriel", + "newPassword": "Nouveau Mot de Passe", + "emailNotifications": "Notifications par Courriel", + "emailNotificationsDescription": "Nous pouvons vous notifier par courriel quand votre compte change ou quand vous recevez des paiements", + "smsNotifications": "Notifications par SMS", + "smsNotificationsDescription": "Nous vous envoyons des notifications par texte quand c'est activé", + "theme": "Thème", + "themeDescription": "Sélectionnez des thèmes dèfauts.", + "localCurrency": "Monnaie Local", + "btcUnit": "Voire bitcoin en:", + "bitcoin": "bitcoin", + "satoshis": "Satoshis", + "securityPIN": "NIP de Sécurité", + "securityPINDescription": "Choisir un NIP de sécurité qui sera necessaire pour ouvrir tes préférences et pour envoyer des paiements sortants.", + "setPIN": "Choisir Votre NIP", + "autoLock": "Auto-Verouillage", + "autoLockDescription": "Ta conte activera une mode sécuritaire après une durée spécifiée:", + "twofa": "Authentification à 2 Facteurs", + "twofaDescription": "Ajoutez un autre niveau de sécurité par activez l'authentication à deux facteurs.", + "twofaSetup": "Activer A2F", + "bannerImage": "Image de Bandeau", + "profileImage": "Image de Profil", + "oneTimeCode": "Entrez mot de passe à usage unique", + "accountId": "Secret de conte", + "twofaDisable": "Désactivez A2F", + "about": "À Propos", + "aboutPlaceholder": "Un description court de vous ou votre entreprise (adresse, bio, etc.)", + "select": "Choisir", + "verifyPIN": "Verifiez votre NIP", + "enablePIN": "Activer NIP", + "disablePIN": "Désactiver NIP", + "saveSettings": "Sauvegarder Paramètres", + "tipPrompt": "Demande pour Pourboires", + "tipPromptDescription": "Demander les gens s'ils voulent ajouter un pourboire avant payer leurs factures", + "displayName": "Nom d'Utilisateur", + "minutes": "minutes", + "hour": "heure", + "hours": "heures", + "hideSeed": "Cache phrase mnémotechnique", + "revealSeed": "Montre phrase mnémotechnique", + "notifications": "Notifications de paiement", + "notificationsDesc": "Reçevez un courriel quand un paiement arrive à ta conte", + "seedPhrase": "Phrase mnémotechnique", + "nostrKeys": "Clé nostr", + "nostrDescription": "Votre clé nostr est utilisé pour signer et décrypter vos messages, gardez-le sauf ou quelqu'un peut se faire passer pour vous.", + "seedDescription": "Cette phrase mnémotechnique à 12 mots est utilisé pour générer votre clé privée et vos clés de portefeuille que vous controllez qui déterminez vos addresses de retrait automatique. Sauvegardez-le et jamais permettez à personne de le voir.", + "emailDescription": "Pour seulement reinitialisations de mot de passe et notifications de paiements seulement.", + "hideNsec": "Cache clé privée nostr", + "saved": "Paramètres sauvegardés!", + "verifying": "Courriel de verification envoyé.", + "verified": "Courriel verifié!", + "revealNsec": "Montre clé privée nostr", + "publishNip5": "Publie identité nostr", + "nip5a": "Utilise", + "nip5b": "comme votre addresse nostr verifié publiquement" + }, + "support": { + "header": "Assistance", + "email": "Courriel", + "accountName": "Nom d'utilisateur", + "message": "Message", + "send": "Envoie" + }, + "bitcoin": "Bitcoin", + "lightning": "Lightning", + "invoice": "Facture", + "unfollow": "Ne plus suivre", + "following": "Vous suivez", + "this": "Cette", + "lightningAddress": "Adresse de lightning", + "send": { + "contacts": "Contacts", + "scan": "Scannez", + "paste": "Collez", + "next": "Prochain", + "placeholder": "Collez une adresse de bitcoin, facture de lightning ou nom d'utilisateur coinos", + "makeQR": "QR" + }, + "requestPayment": "Demander un Paiement", + "welcome": "Bienvenue! Le solde de votre conte est vide. Vous pouvez commencer par déposer ou recevoir un paiement.", + "showBalance": "Montrer Solde", + "followers": "Abonnés", + "noNotes": "Pas de notes", + "message": "Envoyer", + "messages": "Messages", + "feed": "Flux", + "notes": "Notes", + "pay": "Payer", + "profilePage": "Page de profil", + "nostrPubkey": "Clé publique nostr" + }, + "news": { + "header": "Nouvelles", + "subheader": "Dernières Informations" + }, + "payments": { + "addFunds": "Ajouter d'argent", + "takeFunds": "Prendre d'argent", + "show": "Démontrer", + "hide": "Cacher", + "qr": "QR", + "copyLink": "Copier le Lien", + "copyText": "Copier le Texte", + "openLink": "Ouvrer le Portefeuille", + "moreOptions": "Plus d'options", + "total": "Total", + "gainLoss": "Hausse/Perte", + "presentValue": "Valuer au présent", + "amount": "Quantité", + "date": "Date", + "id": "ID de Transaction", + "details": "Détails de Transaction", + "header": "Paiements", + "preimage": "Preuve de paiement", + "type": "Type", + "time": "Heure", + "sent": "Envoyé", + "received": "Reçu", + "empty": "Vous n'avez pas de transactions.", + "send": "Envoyer", + "next": "Prochain", + "sendTo": "Envoyer à", + "to": "à", + "pay": "Payer", + "requesting": "demande", + "sentInvoiceTo": "Envoyé une facture à", + "sentRequestTo": "Demande envoyé!", + "pleasePay": "S'il vous plait payez", + "day": "Jour", + "week": "Semaine", + "month": "Mois", + "all": "Toutes", + "export": "Exporter", + "invoice": "Facture", + "readyToPay": "est prêt a payer", + "describeOrder": "Utiliser ce champ pour décrire votre commande", + "requestAnInvoice": "Demander une facture", + "submit": "Soumettre", + "isRequesting": "demande", + "invoiceFrom": "Facture de", + "awaiting": "Attendant", + "tapAnywhere": "Taper n'importe où pour continuer", + "from": "de", + "redeem": "Racheter", + "redeemed": "Racheté", + "redeemedBy": "Racheté par", + "sendMessage": "Écrire une message...", + "fundsClaimed": "Les fonds sont réclamés!", + "print": "Imprime", + "create": "Crée", + "fund": "Finance" + } } diff --git a/src/routes/(app)/+error.svelte b/src/routes/(app)/+error.svelte index b5a5e139..6ce7979c 100644 --- a/src/routes/(app)/+error.svelte +++ b/src/routes/(app)/+error.svelte @@ -27,7 +27,8 @@
diff --git a/src/routes/(app)/[username]/(profile)/request/+page.svelte b/src/routes/(app)/[username]/(profile)/request/+page.svelte index 373a1302..a07ee914 100644 --- a/src/routes/(app)/[username]/(profile)/request/+page.svelte +++ b/src/routes/(app)/[username]/(profile)/request/+page.svelte @@ -26,7 +26,8 @@
diff --git a/src/routes/(app)/[username]/card/[serial]/+page.svelte b/src/routes/(app)/[username]/card/[serial]/+page.svelte index 1792b443..1d11ebee 100644 --- a/src/routes/(app)/[username]/card/[serial]/+page.svelte +++ b/src/routes/(app)/[username]/card/[serial]/+page.svelte @@ -13,13 +13,15 @@
diff --git a/src/routes/(app)/[username]/generate/+page.svelte b/src/routes/(app)/[username]/generate/+page.svelte index 0c83fad4..b9b077a3 100644 --- a/src/routes/(app)/[username]/generate/+page.svelte +++ b/src/routes/(app)/[username]/generate/+page.svelte @@ -62,7 +62,9 @@ {/if}
-

Generating new account keys

+

+ Generating new account keys +

diff --git a/src/routes/(app)/[username]/invoice/[id]/+layout.server.js b/src/routes/(app)/[username]/invoice/[id]/+layout.server.js index b887d407..c69da78a 100644 --- a/src/routes/(app)/[username]/invoice/[id]/+layout.server.js +++ b/src/routes/(app)/[username]/invoice/[id]/+layout.server.js @@ -27,10 +27,10 @@ export async function load({ depends, params, url, parent }) { (amount > 0 && (pending >= amount || received >= amount)); if (paid && !url.pathname.endsWith("paid")) { redirect( - 307, - `/${params.username}/invoice/${id}/paid` + - (options ? "?options=true" : "") - ); + 307, + `/${params.username}/invoice/${id}/paid` + + (options ? "?options=true" : "") + ); } let sm = Qr.drawImg(invoice.text || "", { size: 300 }); diff --git a/src/routes/(app)/[username]/invoice/[id]/+page.svelte b/src/routes/(app)/[username]/invoice/[id]/+page.svelte index 13c75fca..0ff1c21c 100644 --- a/src/routes/(app)/[username]/invoice/[id]/+page.svelte +++ b/src/routes/(app)/[username]/invoice/[id]/+page.svelte @@ -130,13 +130,17 @@ class="rounded-full border py-2 px-4 font-bold hover:opacity-80 w-full" class:bg-black={type === types.lightning} class:text-white={type === types.lightning} - on:click={toggleType}> ⚡️ Lightning + on:click={toggleType} + > + ⚡️ Lightning +
@@ -211,18 +217,16 @@
diff --git a/src/routes/(app)/[username]/settings/[...tab]/+page.svelte b/src/routes/(app)/[username]/settings/[...tab]/+page.svelte index 714ed8db..54a2d71c 100644 --- a/src/routes/(app)/[username]/settings/[...tab]/+page.svelte +++ b/src/routes/(app)/[username]/settings/[...tab]/+page.svelte @@ -223,7 +223,8 @@ bind:this={submit} type="submit" class="border-2 border-black rounded-xl font-semibold mx-auto py-3 w-40 hover:opacity-80" - class:bg-black={submitting}> + class:bg-black={submitting} + > {#if submitting} {:else} diff --git a/src/routes/(app)/[username]/settings/[...tab]/_account.svelte b/src/routes/(app)/[username]/settings/[...tab]/_account.svelte index 773485f0..15ee7b0c 100644 --- a/src/routes/(app)/[username]/settings/[...tab]/_account.svelte +++ b/src/routes/(app)/[username]/settings/[...tab]/_account.svelte @@ -109,7 +109,6 @@
-
{$t("user.settings.profileImage")} diff --git a/src/routes/(app)/[username]/settings/[...tab]/_pos.svelte b/src/routes/(app)/[username]/settings/[...tab]/_pos.svelte index 0e4301c4..539cfd5e 100644 --- a/src/routes/(app)/[username]/settings/[...tab]/_pos.svelte +++ b/src/routes/(app)/[username]/settings/[...tab]/_pos.svelte @@ -25,7 +25,8 @@ + value={parseInt(user.locktime)} + > diff --git a/src/routes/(app)/[username]/settings/[...tab]/_shopify.svelte b/src/routes/(app)/[username]/settings/[...tab]/_shopify.svelte index 870803fb..0266fa9c 100644 --- a/src/routes/(app)/[username]/settings/[...tab]/_shopify.svelte +++ b/src/routes/(app)/[username]/settings/[...tab]/_shopify.svelte @@ -28,7 +28,9 @@
admin.shopify.com/store/
+ > + admin.shopify.com/store/ +
$$ @@ -94,9 +93,8 @@ CVC/CVV @@ -115,7 +113,8 @@
@@ -71,7 +72,8 @@
@@ -81,13 +83,15 @@
diff --git a/src/routes/(app)/fund/[id]/withdraw/+page.svelte b/src/routes/(app)/fund/[id]/withdraw/+page.svelte index e7c1d852..7af07e38 100644 --- a/src/routes/(app)/fund/[id]/withdraw/+page.svelte +++ b/src/routes/(app)/fund/[id]/withdraw/+page.svelte @@ -47,7 +47,8 @@
diff --git a/src/routes/(app)/launch/purchase/+page.svelte b/src/routes/(app)/launch/purchase/+page.svelte index 3af3b186..49a51973 100644 --- a/src/routes/(app)/launch/purchase/+page.svelte +++ b/src/routes/(app)/launch/purchase/+page.svelte @@ -21,7 +21,9 @@

Purchase Ticket

+ > + Purchase Ticket +
@@ -43,21 +46,25 @@ {:else}

Payment Options

+ > + Payment Options +
diff --git a/src/routes/(app)/launch/purchase/card/+page.server.js b/src/routes/(app)/launch/purchase/card/+page.server.js index 416a66e4..9fb36b71 100644 --- a/src/routes/(app)/launch/purchase/card/+page.server.js +++ b/src/routes/(app)/launch/purchase/card/+page.server.js @@ -43,8 +43,7 @@ export const actions = { method, }).then((r) => r.json()); - if (status !== "succeeded") - error(500, { message: "Card payment failed" }); + if (status !== "succeeded") error(500, { message: "Card payment failed" }); let asset = await createTicket(cookies, form.get("username")); redirect(307, `/launch/thanks/${asset}`); diff --git a/src/routes/(app)/launch/purchase/card/+page.svelte b/src/routes/(app)/launch/purchase/card/+page.svelte index d7ef830d..6d33c87f 100644 --- a/src/routes/(app)/launch/purchase/card/+page.svelte +++ b/src/routes/(app)/launch/purchase/card/+page.svelte @@ -48,9 +48,8 @@ CVC/CVV @@ -68,7 +67,8 @@ diff --git a/src/routes/(app)/launch/ticket/+page.svelte b/src/routes/(app)/launch/ticket/+page.svelte index a4888727..6b16e804 100644 --- a/src/routes/(app)/launch/ticket/+page.svelte +++ b/src/routes/(app)/launch/ticket/+page.svelte @@ -7,7 +7,9 @@

Your Ticket

+ > + Your Ticket +

We've minted your ticket as an diff --git a/src/routes/(app)/login/+page.svelte b/src/routes/(app)/login/+page.svelte index b729d70f..cebbf41c 100644 --- a/src/routes/(app)/login/+page.svelte +++ b/src/routes/(app)/login/+page.svelte @@ -145,15 +145,14 @@

@@ -162,7 +161,8 @@ type="submit" class="bg-black text-white w-full rounded-2xl p-4 font-semibold hover:opacity-80" disabled={loading} - bind:this={btn}> + bind:this={btn} + > {#if loading} {:else} @@ -175,7 +175,8 @@ {$t("login.haveAccount")} + class="block md:inline text-black underline underline-offset-4 hover:opacity-80" + > {$t("login.register")}

diff --git a/src/routes/(app)/register/+page.server.js b/src/routes/(app)/register/+page.server.js index cdb5736e..318f6b98 100644 --- a/src/routes/(app)/register/+page.server.js +++ b/src/routes/(app)/register/+page.server.js @@ -15,15 +15,8 @@ export const actions = { let ip = request.headers.get("cf-connecting-ip"); let form = await fd(request); - let { - profile, - username, - password, - cipher, - salt, - pubkey, - loginRedirect, - } = form; + let { profile, username, password, cipher, salt, pubkey, loginRedirect } = + form; let user = { profile, username, password, cipher, salt, pubkey }; let error; diff --git a/src/routes/(app)/register/+page.svelte b/src/routes/(app)/register/+page.svelte index ef057fcf..5783059a 100644 --- a/src/routes/(app)/register/+page.svelte +++ b/src/routes/(app)/register/+page.svelte @@ -175,12 +175,14 @@
@@ -236,7 +240,8 @@ type="button" on:click={refresh} class="absolute right-0 top-4" - tabindex="5"> + tabindex="5" + >
@@ -271,7 +276,8 @@ type="button" tabindex="4" on:click={() => (revealPassword = !revealPassword)} - class="absolute right-0 top-4"> + class="absolute right-0 top-4" + >
@@ -285,7 +291,8 @@ type="submit" class="bg-black text-white w-full rounded-2xl p-4 font-semibold hover:opacity-80" disabled={loading} - bind:this={btn}> + bind:this={btn} + > {#if loading} {:else} @@ -298,7 +305,8 @@ {$t("login.haveAccount")} + class="block md:inline text-black underline underline-offset-4 hover:opacity-80" + > {$t("login.signIn")}

diff --git a/src/routes/(app)/reset/[code]/+page.svelte b/src/routes/(app)/reset/[code]/+page.svelte index 83e860ae..d93e8bdf 100644 --- a/src/routes/(app)/reset/[code]/+page.svelte +++ b/src/routes/(app)/reset/[code]/+page.svelte @@ -57,17 +57,23 @@
-
A new seed phrase will be generated for your account. You'll need to import your old seed phrase if you want to use the same nostr profile and savings account as before.
+
+ A new seed phrase will be generated for your account. You'll need to + import your old seed phrase if you want to use the same nostr profile + and savings account as before. +
+ on:click={back} + > + Cancel +