From 727c87ba2a34a92aa1cb886862ad538451751dfd Mon Sep 17 00:00:00 2001 From: koalasat Date: Sat, 22 Mar 2025 18:03:33 +0100 Subject: [PATCH 1/3] Coordinators ratings WIP --- .../TradeBox/Prompts/Successful.tsx | 100 ++++++++++++------ frontend/src/components/TradeBox/index.tsx | 14 ++- frontend/src/models/Robot.model.ts | 3 + frontend/src/models/Slot.model.ts | 11 ++ .../src/services/api/ApiNativeClient/index.ts | 2 + .../src/services/api/ApiWebClient/index.ts | 2 + frontend/src/services/api/index.ts | 1 + frontend/static/federation.json | 47 ++++++++ frontend/static/locales/ca.json | 7 +- frontend/static/locales/cs.json | 7 +- frontend/static/locales/de.json | 7 +- frontend/static/locales/en.json | 7 +- frontend/static/locales/es.json | 7 +- frontend/static/locales/eu.json | 7 +- frontend/static/locales/fr.json | 7 +- frontend/static/locales/it.json | 7 +- frontend/static/locales/ja.json | 7 +- frontend/static/locales/pl.json | 7 +- frontend/static/locales/pt.json | 7 +- frontend/static/locales/ru.json | 7 +- frontend/static/locales/sv.json | 7 +- frontend/static/locales/sw.json | 7 +- frontend/static/locales/th.json | 7 +- frontend/static/locales/zh-SI.json | 7 +- frontend/static/locales/zh-TR.json | 7 +- 25 files changed, 244 insertions(+), 55 deletions(-) diff --git a/frontend/src/components/TradeBox/Prompts/Successful.tsx b/frontend/src/components/TradeBox/Prompts/Successful.tsx index 5175e878..8ad5d0f7 100644 --- a/frontend/src/components/TradeBox/Prompts/Successful.tsx +++ b/frontend/src/components/TradeBox/Prompts/Successful.tsx @@ -27,7 +27,8 @@ import { interface SuccessfulPromptProps { order: Order; - ratePlatform: (rating: number) => void; + rateUserPlatform: (rating: number) => void; + rateHostPlatform: (rating: number) => void; onClickStartAgain: () => void; onClickRenew: () => void; loadingRenew: boolean; @@ -35,7 +36,8 @@ interface SuccessfulPromptProps { export const SuccessfulPrompt = ({ order, - ratePlatform, + rateUserPlatform, + rateHostPlatform, onClickStartAgain, onClickRenew, loadingRenew, @@ -44,7 +46,10 @@ export const SuccessfulPrompt = ({ const currencyCode: string = currencies[`${order.currency}`]; const { federation } = useContext(FederationContext); - const [rating, setRating] = useState(undefined); + const [peerRating, setPeerRating] = useState(); + const [hostRating, setHostRating] = useState(); + + console.log(peerRating); return ( - {t('What do you think your order host "{{coordinator}}"?', { + {t('How was your experience with {{peer_nick}}?', { + peer_nick: order.is_maker ? order.taker_nick : order.maker_nick, + })} + + + + { + const rate = e.target.value; + rateUserPlatform(rate); + setPeerRating(rate); + }} + /> + + + + {t('How your host {{coordinator}} did it?', { coordinator: federation.getCoordinator(order.shortAlias)?.longAlias, })} @@ -69,12 +93,13 @@ export const SuccessfulPrompt = ({ size='large' onChange={(e) => { const rate = e.target.value; - ratePlatform(rate); - setRating(rate); + console.log(typeof rate); + rateHostPlatform(rate); + setHostRating(rate); }} /> - {rating === 5 ? ( + {hostRating ? (
- - {t('Thank you! RoboSats loves you too')} - - -
- - {t( - 'RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!', + {hostRating === '5' ? ( + <> + + {t('Thank you! RoboSats loves you too')} + + + + ) : ( + + {t('Thank you for using Robosats!')} + )} - -
- ) : rating !== undefined ? ( - - - {t('Thank you for using Robosats!')} - - - - Let us know how the platform could improve ( - - Telegram - - {' / '} - - Github - - ) - - + + {hostRating === '5' ? ( + + {t( + 'RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!', + )} + + ) : ( + + + Let us know how the platform could improve ( + + Telegram + + {' / '} + + Github + + ) + + + )} ) : ( <> diff --git a/frontend/src/components/TradeBox/index.tsx b/frontend/src/components/TradeBox/index.tsx index f2bef15c..6f8cbdde 100644 --- a/frontend/src/components/TradeBox/index.tsx +++ b/frontend/src/components/TradeBox/index.tsx @@ -308,10 +308,15 @@ const TradeBox = ({ currentOrder, onStartAgain }: TradeBoxProps): JSX.Element => submitAction({ action: 'submit_statement', statement }); } }; +<<<<<<< HEAD const ratePlatform = function (rating: number): void { +======= + const rateUserPlatform = function (rating: number): void { +>>>>>>> 7a113d9a (Coordinators ratings WIP) submitAction({ action: 'rate_platform', rating }); }; + const rateHostPlatform = function (rating: number): void {}; const handleWebln = async (order: Order): Promise => { const webln = await getWebln().catch(() => { @@ -617,7 +622,8 @@ const TradeBox = ({ currentOrder, onStartAgain }: TradeBoxProps): JSX.Element => return ( { @@ -641,7 +647,8 @@ const TradeBox = ({ currentOrder, onStartAgain }: TradeBoxProps): JSX.Element => return ( { @@ -680,7 +687,8 @@ const TradeBox = ({ currentOrder, onStartAgain }: TradeBoxProps): JSX.Element => return ( { diff --git a/frontend/src/models/Robot.model.ts b/frontend/src/models/Robot.model.ts index a3c6114d..f571d1a8 100644 --- a/frontend/src/models/Robot.model.ts +++ b/frontend/src/models/Robot.model.ts @@ -10,6 +10,7 @@ class Robot { public token?: string; public pubKey?: string; public encPrivKey?: string; + public nostrPubKey?: string; public stealthInvoices: boolean = true; public activeOrderId?: number; public lastOrderId?: number; @@ -34,9 +35,11 @@ class Robot { const tokenSHA256 = this.tokenSHA256 ?? ''; const encPrivKey = this.encPrivKey ?? ''; const pubKey = this.pubKey ?? ''; + const nostrPubKey = this.nostrPubKey ?? ''; return { tokenSHA256, + nostrPubKey, keys: { pubKey: pubKey.split('\n').join('\\'), encPrivKey: encPrivKey.split('\n').join('\\'), diff --git a/frontend/src/models/Slot.model.ts b/frontend/src/models/Slot.model.ts index f003774b..fdf001f2 100644 --- a/frontend/src/models/Slot.model.ts +++ b/frontend/src/models/Slot.model.ts @@ -1,10 +1,13 @@ import { sha256 } from 'js-sha256'; +import { sha256 as sha256Hash } from '@noble/hashes/sha256'; import { Robot, Order, type Federation } from '.'; import { roboidentitiesClient } from '../services/Roboidentities/Web'; import { hexToBase91, validateTokenEntropy } from '../utils'; +import { getPublicKey } from 'nostr-tools'; export interface AuthHeaders { tokenSHA256: string; + nostrPubKey: string; keys: { pubKey: string; encPrivKey: string; @@ -33,6 +36,11 @@ class Slot { const { hasEnoughEntropy, bitsEntropy, shannonEntropy } = validateTokenEntropy(token); const tokenSHA256 = hexToBase91(sha256(token)); + const nostrHash = sha256Hash(this.token); + this.nostrSecKey = new Uint8Array(nostrHash); + const nostrPubKey = getPublicKey(this.nostrSecKey); + this.nostrPubKey = nostrPubKey; + this.robots = shortAliases.reduce((acc: Record, shortAlias: string) => { acc[shortAlias] = new Robot({ ...robotAttributes, @@ -41,6 +49,7 @@ class Slot { bitsEntropy, shannonEntropy, tokenSHA256, + nostrPubKey, }); this.updateSlotFromRobot(acc[shortAlias]); return acc; @@ -57,6 +66,8 @@ class Slot { activeOrder: Order | null = null; lastOrder: Order | null = null; copiedToken: boolean; + nostrSecKey?: Uint8Array; + nostrPubKey?: string; onSlotUpdate: () => void; diff --git a/frontend/src/services/api/ApiNativeClient/index.ts b/frontend/src/services/api/ApiNativeClient/index.ts index 3cbbb369..5b98a432 100644 --- a/frontend/src/services/api/ApiNativeClient/index.ts +++ b/frontend/src/services/api/ApiNativeClient/index.ts @@ -17,6 +17,7 @@ class ApiNativeClient implements ApiClient { ...headers, ...{ Authorization: `Token ${auth.tokenSHA256}`, + Nostr: auth.nostrPubKey, }, }; } else if (auth?.keys != null) { @@ -24,6 +25,7 @@ class ApiNativeClient implements ApiClient { ...headers, ...{ Authorization: `Token ${auth.tokenSHA256} | Public ${auth.keys.pubKey} | Private ${auth.keys.encPrivKey}`, + Nostr: auth.nostrPubKey, }, }; } diff --git a/frontend/src/services/api/ApiWebClient/index.ts b/frontend/src/services/api/ApiWebClient/index.ts index b28edf27..a14826fb 100644 --- a/frontend/src/services/api/ApiWebClient/index.ts +++ b/frontend/src/services/api/ApiWebClient/index.ts @@ -13,6 +13,7 @@ class ApiWebClient implements ApiClient { ...headers, ...{ Authorization: `Token ${auth.tokenSHA256}`, + Nostr: auth.nostrPubKey, }, }; } else if (auth?.keys != null) { @@ -20,6 +21,7 @@ class ApiWebClient implements ApiClient { ...headers, ...{ Authorization: `Token ${auth.tokenSHA256} | Public ${auth.keys.pubKey} | Private ${auth.keys.encPrivKey}`, + Nostr: auth.nostrPubKey, }, }; } diff --git a/frontend/src/services/api/index.ts b/frontend/src/services/api/index.ts index 21b8effd..1b8fcfb8 100644 --- a/frontend/src/services/api/index.ts +++ b/frontend/src/services/api/index.ts @@ -3,6 +3,7 @@ import ApiNativeClient from './ApiNativeClient'; export interface Auth { tokenSHA256: string; + nostrPubKey: string; keys?: { pubKey: string; encPrivKey: string }; } diff --git a/frontend/static/federation.json b/frontend/static/federation.json index 971957aa..4e5b5646 100644 --- a/frontend/static/federation.json +++ b/frontend/static/federation.json @@ -192,6 +192,53 @@ "testnetNodesPubkeys": ["02f0ddc838b35fe54daa13baa4abab84475c7b9f2670ff4b53c1724792843ef62a"], "federated": true }, + "satstralia": { + "longAlias": "Satstralia", + "shortAlias": "satstralia", + "identifier": "satstralia", + "description": "Forget \"to the moon\", at Over the Moon we are here to take no-KYC, p2p exchange to the next level! Our goal is to further decentralise the RoboSats federation whilst providing the maximum level of privacy and security for our users. *Trade amounts increase by 30% every 2016 blocks (~2 weeks).", + "motto": "Bene videtur hinc", + "color": "#eeeee4", + "established": "2024-11-01", + "nostrHexPubkey": "7af6f7cfc3bfdf8aa65df2465aa7841096fa8ee6b2d4d14fc43d974e5db9ab96", + "contact": { + "email": "otmoon@proton.me", + "telegram": "", + "simplex": "https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2FUkMFNAXLXeAAe0beCa4w6X_zp18PwxSaSjY17BKUGXQ%3D%40smp12.simplex.im%2FtrEIGy97lLpA9IeAc6axGF6J6vWK6U6r%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAj8vhZDsAf8au1XSFG43DWZzzFYUnGNi9RAXMVvG2znk%253D%26srv%3Die42b5weq7zdkghocs3mgxdjeuycheeqqmksntj57rmejagmg4eor5yd.onion", + "pgp": "/static/federation/pgp/19D833CB2258715B4E627291942B7D51A8533742.asc", + "nostr": "npub10tm00n7rhl0c4fja7fr94fuyzzt04rhxkt2dzn7y8kt5uhde4wtq899xam", + "website": "", + "fingerprint": "19D833CB2258715B4E627291942B7D51A8533742" + }, + "badges": { + "isFounder": false, + "donatesToDevFund": 25, + "hasGoodOpSec": true, + "robotsLove": false, + "hasLargeLimits": false + }, + "policies": { + "Privacy Policy 1": "Evidence in Disputes: In the event of a dispute, users will be asked to provide transaction-related evidence. This could include transaction IDs, screenshots of payment confirmations, or other pertinent transaction records. Personal information or unrelated transaction details should be redacted to maintain privacy.", + "Privacy Policy 2": "Short-term Storage: Sensitive information related to disputes will be stored only for the duration necessary to resolve the issue. Once resolved, the data will be permanently deleted.", + "Data Policy 1": "No Third-Party Sharing: Under no circumstances will user information be shared with third parties. Also because it is impossible to do so by design of Robosats architecture. Due to the decentralized and privacy-centric structure of RoboSats built on the Tor network, we are unable to collect or store user information, including but not limited to, the location of users. This design ensures maximum privacy and anonymity for our users.", + "Data Policy 2": "Short-term Storage: Any log needed to operate the coordinator will be cleared after 7 days, unless strictly needed to process disputes. To ensure utmost privacy, the coordinator will be accessible only through TOR.", + "Rule 1:": " Do not share personal information through the chat, unless strictly needed for completing the trade.", + "Rule 2:": "Users are solely responsible for understanding and complying with their local laws and regulations regarding cryptocurrency transactions. By using this coordinator, you agree to ensure that your activities on the platform are lawful in your jurisdiction." + }, + "mainnet": { + "onion": "http://45gzfolhp3dcfv6w7a4p2iwekvurdjcf4p2onhnmvyhauwxfsx7kguad.onion", + "clearnet": "http://45gzfolhp3dcfv6w7a4p2iwekvurdjcf4p2onhnmvyhauwxfsx7kguad.onion", + "i2p": "" + }, + "testnet": { + "onion": "http://45gzfolhp3dcfv6w7a4p2iwekvurdjcf4p2onhnmvyhauwxfsx7kguad.onion", + "clearnet": "", + "i2p": "" + }, + "mainnetNodesPubkeys": ["023924542082a5d16bce188ec4c29a45f00dd439a3f5992034d82e3353232a0345"], + "testnetNodesPubkeys": ["02f0ddc838b35fe54daa13baa4abab84475c7b9f2670ff4b53c1724792843ef62a"], + "federated": true + }, "local": { "longAlias": "Local Dev", "shortAlias": "local", diff --git a/frontend/static/locales/ca.json b/frontend/static/locales/ca.json index 9326abbc..11fd3e89 100644 --- a/frontend/static/locales/ca.json +++ b/frontend/static/locales/ca.json @@ -674,14 +674,19 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "La teva factura ha caducat o s'han fet més de 3 intents de pagament. Envia una nova factura.", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats està intentant pagar la teva factura de Lightning. Recorda que els nodes Lightning han d'estar en línia per rebre pagaments.", +<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", +======= + "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", + "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", + "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", +>>>>>>> 7a113d9a (Coordinators ratings WIP) "Renew": "Renovar", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats millora amb més usuaris i liquiditat. Ensenya-li RoboSats a un amic bitcoiner!", "Sending coins to": "Enviant monedes a", "Start Again": "Començar de nou", "Thank you for using Robosats!": "Gràcies per fer servir RoboSats!", "Thank you! RoboSats loves you too": "Gràcies! RoboSats també t'estima", - "What do you think your order host \"{{coordinator}}\"?": "Què en penses del teu amfitrió \"{{coordinator}}\"?", "Your TXID": "El teu TXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Si us plau, espera a que el prenedor bloquegi la seva fiança. Si no ho fa a temps, l'ordre serà pública de nou.", diff --git a/frontend/static/locales/cs.json b/frontend/static/locales/cs.json index f4793f33..4737de20 100644 --- a/frontend/static/locales/cs.json +++ b/frontend/static/locales/cs.json @@ -674,14 +674,19 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Tvůj invoice vypršel nebo selhali pokusy o 3 platby. Nahraj nový invoice.", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats se snaží zaplatit tvůj lightning invoice. Nezapomeň, že lightning nody musí být online, aby mohl přijímat platby.", +<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", +======= + "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", + "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", + "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", +>>>>>>> 7a113d9a (Coordinators ratings WIP) "Renew": "Renew", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats bude lepší s větší likviditou a uživateli. Pověz svým přátelům o Robosats!", "Sending coins to": "Sending coins to", "Start Again": "Začít znovu", "Thank you for using Robosats!": "Děkujeme, že používáš Robosats!", "Thank you! RoboSats loves you too": "Thank you! RoboSats loves you too", - "What do you think your order host \"{{coordinator}}\"?": "What do you think your order host \"{{coordinator}}\"?", "Your TXID": "Tvé TXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Vyčkej, až příjemce uzamkne kauci. Pokud příjemce neuzamkne kauci včas, nabídka se znovu zveřejní.", diff --git a/frontend/static/locales/de.json b/frontend/static/locales/de.json index 05a99eb4..fcaa1755 100644 --- a/frontend/static/locales/de.json +++ b/frontend/static/locales/de.json @@ -674,14 +674,19 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats versucht deine Lightning-Invoice zu bezahlen. Denk daran, dass deine Lightning-Node erreichbar sein muss, um die Zahlung zu erhalten.", +<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", +======= + "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", + "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", + "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", +>>>>>>> 7a113d9a (Coordinators ratings WIP) "Renew": "Renew", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats wird noch besser mit mehr Nutzern und Liquidität. Erzähl einem Bitcoin-Freund von uns!", "Sending coins to": "Sending coins to", "Start Again": "Nochmal", "Thank you for using Robosats!": "Danke, dass du Robosats benutzt hast!", "Thank you! RoboSats loves you too": "Thank you! RoboSats loves you too", - "What do you think your order host \"{{coordinator}}\"?": "What do you think your order host \"{{coordinator}}\"?", "Your TXID": "Your TXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Bitte warte auf den Taker, um eine Kaution zu sperren. Wenn der Taker nicht rechtzeitig eine Kaution sperrt, wird die Order erneut veröffentlicht.", diff --git a/frontend/static/locales/en.json b/frontend/static/locales/en.json index 619236da..c8180d4f 100644 --- a/frontend/static/locales/en.json +++ b/frontend/static/locales/en.json @@ -674,14 +674,19 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.", +<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", +======= + "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", + "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", + "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", +>>>>>>> 7a113d9a (Coordinators ratings WIP) "Renew": "Renew", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!", "Sending coins to": "Sending coins to", "Start Again": "Start Again", "Thank you for using Robosats!": "Thank you for using Robosats!", "Thank you! RoboSats loves you too": "Thank you! RoboSats loves you too", - "What do you think your order host \"{{coordinator}}\"?": "What do you think your order host \"{{coordinator}}\"?", "Your TXID": "Your TXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.", diff --git a/frontend/static/locales/es.json b/frontend/static/locales/es.json index 79eb2793..b14f84aa 100644 --- a/frontend/static/locales/es.json +++ b/frontend/static/locales/es.json @@ -674,14 +674,19 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Tu factura ha expirado o se han hecho más de 3 intentos de pago. Aporta una nueva factura.", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats está intentando pagar tu factura de Lightning. Recuerda que los nodos Lightning deben estar en línea para recibir pagos.", +<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", +======= + "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", + "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", + "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", +>>>>>>> 7a113d9a (Coordinators ratings WIP) "Renew": "Renovar", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats mejora con más liquidez y usuarios. ¡Háblale a un amigo bitcoiner sobre RoboSats!", "Sending coins to": "Sending coins to", "Start Again": "Empezar de nuevo", "Thank you for using Robosats!": "¡Gracias por usar RoboSats!", "Thank you! RoboSats loves you too": "¡Gracias! RoboSats también te quiere", - "What do you think your order host \"{{coordinator}}\"?": "What do you think your order host \"{{coordinator}}\"?", "Your TXID": "Tu TXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Por favor, espera a que el tomador bloquee su fianza. Si no lo hace a tiempo, la orden volverá a publicarse.", diff --git a/frontend/static/locales/eu.json b/frontend/static/locales/eu.json index 3b96480a..b18df8c2 100644 --- a/frontend/static/locales/eu.json +++ b/frontend/static/locales/eu.json @@ -674,14 +674,19 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Zure faktura iraungi da edo 3 ordainketa saiakera baino gehiago egin dira. Aurkeztu faktura berri bat.", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats zure Lightning faktura ordaintzen saiatzen ari da. Gogoratu lightning nodoak online egon behar direla ordainketak jaso ahal izateko.", +<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", +======= + "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", + "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", + "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", +>>>>>>> 7a113d9a (Coordinators ratings WIP) "Renew": "Renew", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats hobetu egiten da likidezia eta erabiltzaile gehiagorekin. Aipatu Robosats lagun bitcoiner bati!", "Sending coins to": "Sending coins to", "Start Again": "Berriz Hasi", "Thank you for using Robosats!": "Mila esker Robosats erabiltzeagatik!", "Thank you! RoboSats loves you too": "Thank you! RoboSats loves you too", - "What do you think your order host \"{{coordinator}}\"?": "What do you think your order host \"{{coordinator}}\"?", "Your TXID": "Zure TXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Mesedez itxaron hartzaileak fidantza blokeatu harte. Hartzaileak fidantza garaiz blokeatzen ez badu, eskaera berriz publikatuko da.", diff --git a/frontend/static/locales/fr.json b/frontend/static/locales/fr.json index d76fcd8e..9abe7e87 100644 --- a/frontend/static/locales/fr.json +++ b/frontend/static/locales/fr.json @@ -674,14 +674,19 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Votre facture a expiré ou plus de 3 tentatives de paiement ont été effectuées. Soumettez une nouvelle facture.", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats tente de payer votre facture lightning. Rappelez-vous que les nœuds lightning doivent être en ligne pour recevoir des paiements.", +<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", +======= + "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", + "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", + "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", +>>>>>>> 7a113d9a (Coordinators ratings WIP) "Renew": "Renouveler", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats s'améliore avec plus de liquidité et d'utilisateurs. Parlez de Robosats à un ami bitcoiner!", "Sending coins to": "Envoi coins à", "Start Again": "Recommencer", "Thank you for using Robosats!": "Merci d'utiliser Robosats!", "Thank you! RoboSats loves you too": "Merci ! RoboSats vous aime aussi", - "What do you think your order host \"{{coordinator}}\"?": "What do you think your order host \"{{coordinator}}\"?", "Your TXID": "Votre TXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Veuillez attendre que le preneur verrouille une caution. Si le preneur ne verrouille pas la caution à temps, l'ordre sera rendue publique à nouveau", diff --git a/frontend/static/locales/it.json b/frontend/static/locales/it.json index b794f543..37659a7a 100644 --- a/frontend/static/locales/it.json +++ b/frontend/static/locales/it.json @@ -674,14 +674,19 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "La tua fattura è scaduta o sono stati fatti più di 3 tentativi di pagamento. Invia una nuova fattura.", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats sta provando a pagare la tua fattura lightning. Ricorda che i nodi lightning devono essere online per ricevere pagamenti.", +<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", +======= + "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", + "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", + "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", +>>>>>>> 7a113d9a (Coordinators ratings WIP) "Renew": "Rinnova", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats migliora se ha più liquidità ed utenti. Parla di Robosats ai tuoi amici bitcoiner!", "Sending coins to": "Invio monete a", "Start Again": "Ricomincia", "Thank you for using Robosats!": "Grazie per aver usato Robosats!", "Thank you! RoboSats loves you too": "Grazie! Anche RoboSats ti ama", - "What do you think your order host \"{{coordinator}}\"?": "What do you think your order host \"{{coordinator}}\"?", "Your TXID": "Il tuo TXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Per favore, attendi che l'acquirente blocchi una cauzione. Se l'acquirente non blocca una cauzione in tempo, l'ordine verrà reso nuovamente pubblico.", diff --git a/frontend/static/locales/ja.json b/frontend/static/locales/ja.json index 2e14eb12..d8bc5e37 100644 --- a/frontend/static/locales/ja.json +++ b/frontend/static/locales/ja.json @@ -674,14 +674,19 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "インボイスの有効期限が切れているか、3回以上の支払い試行が行われました。新しいインボイスを提出してください。", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSatsはあなたのライトニングインボイスを支払おうとしています。支払いを受け取るには、ライトニングノードがオンラインである必要があることを忘れないでください。", +<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", +======= + "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", + "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", + "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", +>>>>>>> 7a113d9a (Coordinators ratings WIP) "Renew": "更新する", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSatsはより多くの流動性とユーザーでより良くなります。ビットコイナーのお友達にRoboSatsについて話してください!", "Sending coins to": "コインを送信する先", "Start Again": "最初からやり直す", "Thank you for using Robosats!": "Robosatsをご利用いただきありがとうございます!", "Thank you! RoboSats loves you too": "ありがとうございます! RoboSatsもあなたを愛しています", - "What do you think your order host \"{{coordinator}}\"?": "What do you think your order host \"{{coordinator}}\"?", "Your TXID": "あなたのTXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "テイカーが担保金をロックするまでお待ちください。タイムリミット内に担保金がロックされない場合、オーダーは再度公開されます。", diff --git a/frontend/static/locales/pl.json b/frontend/static/locales/pl.json index ac73147d..532ad6e6 100644 --- a/frontend/static/locales/pl.json +++ b/frontend/static/locales/pl.json @@ -674,14 +674,19 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats próbuje zapłacić fakturę za błyskawicę. Pamiętaj, że węzły pioruna muszą być online, aby otrzymywać płatności.", +<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", +======= + "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", + "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", + "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", +>>>>>>> 7a113d9a (Coordinators ratings WIP) "Renew": "Renew", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats staje się lepszy dzięki większej płynności i użytkownikom. Powiedz znajomemu bitcoinerowi o Robosats!", "Sending coins to": "Sending coins to", "Start Again": "Zacznij jeszcze raz", "Thank you for using Robosats!": "Dziękujemy za korzystanie z Robosatów!", "Thank you! RoboSats loves you too": "Thank you! RoboSats loves you too", - "What do you think your order host \"{{coordinator}}\"?": "What do you think your order host \"{{coordinator}}\"?", "Your TXID": "Your TXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Poczekaj, aż przyjmujący zablokuje obligację. Jeśli przyjmujący nie zablokuje obligacji na czas, zlecenie zostanie ponownie upublicznione.", diff --git a/frontend/static/locales/pt.json b/frontend/static/locales/pt.json index 8c93f440..e25d53b7 100644 --- a/frontend/static/locales/pt.json +++ b/frontend/static/locales/pt.json @@ -674,14 +674,19 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Sua invoice expirou ou foram feitas mais de 3 tentativas de pagamento. Envie uma nova invoice.", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats está tentando pagar sua lightning invoice. Lembre-se de que os nós lightning devem estar online para receber pagamentos.", +<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", +======= + "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", + "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", + "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", +>>>>>>> 7a113d9a (Coordinators ratings WIP) "Renew": "Renew", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats fica melhor com mais liquidez e usuários. Conte a um amigo bitcoiner sobre Robosats!", "Sending coins to": "Enviando moedas para", "Start Again": "Comece de novo", "Thank you for using Robosats!": "Obrigado por usar Robosats!", "Thank you! RoboSats loves you too": "Obriagdo! RoboSats também te ama", - "What do you think your order host \"{{coordinator}}\"?": "What do you think your order host \"{{coordinator}}\"?", "Your TXID": "Sua TXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Por favor, espere que o tomador bloqueie uma fiança. Se o tomador não fechar um vínculo a tempo, a ordem será tornada pública novamente.", diff --git a/frontend/static/locales/ru.json b/frontend/static/locales/ru.json index 269b6622..6570b8a3 100644 --- a/frontend/static/locales/ru.json +++ b/frontend/static/locales/ru.json @@ -674,14 +674,19 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Срок действия Вашего инвойса истёк или было сделано более трёх попыток оплаты. Отправьте новый инвойс.", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats пытается оплатить Ваш Lightning инвойс. Помните, что ноды Lightning должны быть подключены к сети, чтобы получать платежи.", +<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", +======= + "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", + "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", + "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", +>>>>>>> 7a113d9a (Coordinators ratings WIP) "Renew": "Renew", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats становится лучше с большей ликвидностью и пользователями. Расскажите другу-биткойнеру о Robosat!", "Sending coins to": "Отправка монет на", "Start Again": "Начать Снова", "Thank you for using Robosats!": "Спасибо за использование Robosats!", "Thank you! RoboSats loves you too": "Спасибо! RoboSats тоже Вас любит", - "What do you think your order host \"{{coordinator}}\"?": "What do you think your order host \"{{coordinator}}\"?", "Your TXID": "Ваш TXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Пожалуйста, подождите, пока тейкер заблокирует залог. Если тейкер не заблокирует залог вовремя, ордер будет снова опубликован", diff --git a/frontend/static/locales/sv.json b/frontend/static/locales/sv.json index ec8cbd7c..79e34758 100644 --- a/frontend/static/locales/sv.json +++ b/frontend/static/locales/sv.json @@ -674,14 +674,19 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Din faktura har förfallit eller så har fler än tre betalningsförsök gjorts. Dela en ny faktura.", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats försöker betala din lightning-faktura. Kom ihåg att lightning-noder måste vara online för att kunna mottaga betalningar.", +<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", +======= + "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", + "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", + "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", +>>>>>>> 7a113d9a (Coordinators ratings WIP) "Renew": "Renew", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats blir bättre med mer likviditet och fler användare. Berätta om RoboSats för en Bitcoiner-vän!", "Sending coins to": "Sending coins to", "Start Again": "Börja om", "Thank you for using Robosats!": "Tack för att du använder RoboSats!", "Thank you! RoboSats loves you too": "Thank you! RoboSats loves you too", - "What do you think your order host \"{{coordinator}}\"?": "What do you think your order host \"{{coordinator}}\"?", "Your TXID": "Ditt TXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Var god vänta på att takern låser sin obligation. Om den inte gör det i tid kommer ordern att göras publik igen.", diff --git a/frontend/static/locales/sw.json b/frontend/static/locales/sw.json index fa20f8c5..02975681 100644 --- a/frontend/static/locales/sw.json +++ b/frontend/static/locales/sw.json @@ -674,14 +674,19 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Ankara yako imeisha muda au majaribio zaidi ya 3 ya malipo yamefanywa. Wasilisha ankara mpya.", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats inajaribu kulipa ankara yako ya umeme. Kumbuka kuwa nodi za umeme lazima ziwe mtandaoni ili kupokea malipo.", +<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", +======= + "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", + "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", + "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", +>>>>>>> 7a113d9a (Coordinators ratings WIP) "Renew": "Renew", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats inaboreshwa na utoshelevu zaidi na watumiaji. Mwambie rafiki yako wa Bitcoin kuhusu RoboSats!", "Sending coins to": "Inatuma sarafu kwa", "Start Again": "Anza Tena", "Thank you for using Robosats!": "Asante kwa kutumia Robosats!", "Thank you! RoboSats loves you too": "Asante! RoboSats pia inakupenda", - "What do you think your order host \"{{coordinator}}\"?": "What do you think your order host \"{{coordinator}}\"?", "Your TXID": "Kitambulisho chako cha TX", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Tafadhali subiri mpokeaji aweke dhamana. Ikiwa mpokeaji hataweka dhamana kwa wakati, agizo litatangazwa tena kwa umma.", diff --git a/frontend/static/locales/th.json b/frontend/static/locales/th.json index 0f04a284..54013f3e 100644 --- a/frontend/static/locales/th.json +++ b/frontend/static/locales/th.json @@ -674,14 +674,19 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Invoice หมดอายุ หรือเราได้ลองจ่ายเหรียญครบ 3 ครั้งแล้ว กรุณาส่ง invoice ใหม่ให้เรา", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats กำลังจ่ายเหรียญให้ lightning invoice ของท่าน lightning nodes จะต้องออนไลน์เพื่อรับเหรียญ", +<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", +======= + "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", + "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", + "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", +>>>>>>> 7a113d9a (Coordinators ratings WIP) "Renew": "Renew", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats จะดีขึ้นเมื่อมีสภาพคล่องและผู้ใช้งานมากขึ้น ช่วยกันชวนเพื่อนของคุณมาใช้ Robosats!", "Sending coins to": "Sending coins to", "Start Again": "Start Again", "Thank you for using Robosats!": "ขอบคุณที่ใช้งาน Robosats!", "Thank you! RoboSats loves you too": "Thank you! RoboSats loves you too", - "What do you think your order host \"{{coordinator}}\"?": "What do you think your order host \"{{coordinator}}\"?", "Your TXID": "TXID ของคุณ", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "โปรดรอคู่ค้าทำการกักกันเหรียญใน bond ถ้าเขากักกันเหรียญไม่ทันในเวลาที่กำหนด รายการจะถูกประำกาศใหม่", diff --git a/frontend/static/locales/zh-SI.json b/frontend/static/locales/zh-SI.json index 3d0a1dac..c0e0e6c1 100644 --- a/frontend/static/locales/zh-SI.json +++ b/frontend/static/locales/zh-SI.json @@ -674,14 +674,19 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "你的发票已到期或已进行超过3次付款尝试。提交一张新的发票。", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats 正在尝试支付你的闪电发票。请注意,闪电节点必须在线才能接收付款。", +<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", +======= + "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", + "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", + "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", +>>>>>>> 7a113d9a (Coordinators ratings WIP) "Renew": "延续", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats 会随着更多的流动性和更高的用户数量而变得更好。把 RoboSats 推荐给你的比特币朋友吧!", "Sending coins to": "将比特币发送到", "Start Again": "重新开始", "Thank you for using Robosats!": "感谢你使用 Robosats!", "Thank you! RoboSats loves you too": "谢谢!RoboSats 也爱你", - "What do you think your order host \"{{coordinator}}\"?": "What do you think your order host \"{{coordinator}}\"?", "Your TXID": "你的 TXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "请等待吃单方锁定保证金。如果吃单方没有及时锁定保证金,订单将再次公开。", diff --git a/frontend/static/locales/zh-TR.json b/frontend/static/locales/zh-TR.json index 70fae3d0..e720c2dc 100644 --- a/frontend/static/locales/zh-TR.json +++ b/frontend/static/locales/zh-TR.json @@ -674,14 +674,19 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "你的發票已到期或已進行超過3次付款嘗試。提交一張新的發票。", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats 正在嘗試支付你的閃電發票。請注意,閃電節點必須在線才能接收付款。", +<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", +======= + "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", + "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", + "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", +>>>>>>> 7a113d9a (Coordinators ratings WIP) "Renew": "延續", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats 會隨著更多的流動性和更高的用戶数量而變得更好。把 RoboSats 推薦給你的比特幣朋友吧!", "Sending coins to": "將比特幣發送到", "Start Again": "重新開始", "Thank you for using Robosats!": "感謝你使用 Robosats!", "Thank you! RoboSats loves you too": "謝謝!RoboSats 也愛你", - "What do you think your order host \"{{coordinator}}\"?": "What do you think your order host \"{{coordinator}}\"?", "Your TXID": "你的 TXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "請等待吃單方鎖定保證金。如果吃單方沒有及時鎖定保證金,訂單將再次公開。", From 849e32d1ad08b2bed46cb4c3472791de37631d73 Mon Sep 17 00:00:00 2001 From: koalasat Date: Sun, 23 Mar 2025 18:33:33 +0100 Subject: [PATCH 2/3] Fix rebase JSONs --- .../TradeBox/Prompts/Successful.tsx | 28 +++++++---- frontend/src/components/TradeBox/index.tsx | 32 ++++++++++--- frontend/src/models/Coordinator.model.ts | 2 + frontend/src/services/RoboPool/index.ts | 6 +++ frontend/static/federation.json | 47 ------------------- frontend/static/locales/ca.json | 12 ++--- frontend/static/locales/cs.json | 12 ++--- frontend/static/locales/de.json | 12 ++--- frontend/static/locales/en.json | 12 ++--- frontend/static/locales/es.json | 12 ++--- frontend/static/locales/eu.json | 12 ++--- frontend/static/locales/fr.json | 12 ++--- frontend/static/locales/it.json | 12 ++--- frontend/static/locales/ja.json | 12 ++--- frontend/static/locales/pl.json | 12 ++--- frontend/static/locales/pt.json | 12 ++--- frontend/static/locales/ru.json | 12 ++--- frontend/static/locales/sv.json | 12 ++--- frontend/static/locales/sw.json | 12 ++--- frontend/static/locales/th.json | 12 ++--- frontend/static/locales/zh-SI.json | 12 ++--- frontend/static/locales/zh-TR.json | 12 ++--- 22 files changed, 137 insertions(+), 182 deletions(-) diff --git a/frontend/src/components/TradeBox/Prompts/Successful.tsx b/frontend/src/components/TradeBox/Prompts/Successful.tsx index 8ad5d0f7..6cc3b2f0 100644 --- a/frontend/src/components/TradeBox/Prompts/Successful.tsx +++ b/frontend/src/components/TradeBox/Prompts/Successful.tsx @@ -15,7 +15,7 @@ import { } from '@mui/material'; import currencies from '../../../../static/assets/currencies.json'; import TradeSummary from '../TradeSummary'; -import { Favorite, RocketLaunch, ContentCopy, Refresh } from '@mui/icons-material'; +import { Favorite, RocketLaunch, ContentCopy, Refresh, Info } from '@mui/icons-material'; import { LoadingButton } from '@mui/lab'; import { type Order } from '../../../models'; @@ -24,6 +24,7 @@ import { FederationContext, type UseFederationStoreType, } from '../../../contexts/FederationContext'; +import { type UseAppStoreType, AppContext } from '../../../contexts/AppContext'; interface SuccessfulPromptProps { order: Order; @@ -44,13 +45,11 @@ export const SuccessfulPrompt = ({ }: SuccessfulPromptProps): JSX.Element => { const { t } = useTranslation(); const currencyCode: string = currencies[`${order.currency}`]; + const { settings } = useContext(AppContext); const { federation } = useContext(FederationContext); - const [peerRating, setPeerRating] = useState(); const [hostRating, setHostRating] = useState(); - console.log(peerRating); - return ( - {t('How was your experience with {{peer_nick}}?', { + {t('Rate your peer {{peer_nick}}', { peer_nick: order.is_maker ? order.taker_nick : order.maker_nick, })} @@ -75,25 +74,30 @@ export const SuccessfulPrompt = ({ onChange={(e) => { const rate = e.target.value; rateUserPlatform(rate); - setPeerRating(rate); }} /> - {t('How your host {{coordinator}} did it?', { + {t('Rate your host {{coordinator}}', { coordinator: federation.getCoordinator(order.shortAlias)?.longAlias, - })} + })}{' '} + + {t('BETA')} + + + + { const rate = e.target.value; - console.log(typeof rate); rateHostPlatform(rate); setHostRating(rate); }} @@ -112,7 +116,11 @@ export const SuccessfulPrompt = ({ {hostRating === '5' ? ( <> - {t('Thank you! RoboSats loves you too')} + + {t('Thank you! {{shortAlias}} loves you too', { + shortAlias: federation.getCoordinator(order.shortAlias)?.longAlias, + })} + diff --git a/frontend/src/components/TradeBox/index.tsx b/frontend/src/components/TradeBox/index.tsx index 6f8cbdde..a573c9f5 100644 --- a/frontend/src/components/TradeBox/index.tsx +++ b/frontend/src/components/TradeBox/index.tsx @@ -1,7 +1,7 @@ import React, { useState, useEffect, useContext } from 'react'; import { Box, Divider, Grid } from '@mui/material'; import { getWebln, pn } from '../../utils'; - +import { finalizeEvent, type Event } from 'nostr-tools'; import { ConfirmCancelDialog, ConfirmCollabCancelDialog, @@ -308,15 +308,35 @@ const TradeBox = ({ currentOrder, onStartAgain }: TradeBoxProps): JSX.Element => submitAction({ action: 'submit_statement', statement }); } }; -<<<<<<< HEAD - const ratePlatform = function (rating: number): void { -======= const rateUserPlatform = function (rating: number): void { ->>>>>>> 7a113d9a (Coordinators ratings WIP) submitAction({ action: 'rate_platform', rating }); }; - const rateHostPlatform = function (rating: number): void {}; + + const rateHostPlatform = function (rating: number): void { + const slot = garage.getSlot(); + const coordinatorPubKey = federation.getCoordinator(currentOrder.shortAlias)?.nostrHexPubkey; + + if (!slot?.nostrPubKey || !slot.nostrSecKey || !coordinatorPubKey || !currentOrder.id) return; + + const eventTemplate: Event = { + kind: 31986, + created_at: Math.floor(Date.now() / 1000), + tags: [ + ['d', `${coordinatorPubKey}:${currentOrder.id}`], + ['e', ''], + ['p', coordinatorPubKey], + ['rating', String(rating / 5)], + ], + content: '', + pubkey: slot.nostrPubKey, + id: '', + sig: '', + }; + + const signedEvent = finalizeEvent(eventTemplate, slot.nostrSecKey); + federation.roboPool.sendEvent(signedEvent); + }; const handleWebln = async (order: Order): Promise => { const webln = await getWebln().catch(() => { diff --git a/frontend/src/models/Coordinator.model.ts b/frontend/src/models/Coordinator.model.ts index 1467bd1c..857c9bf3 100644 --- a/frontend/src/models/Coordinator.model.ts +++ b/frontend/src/models/Coordinator.model.ts @@ -138,6 +138,7 @@ export class Coordinator { this.testnet = value.testnet; this.mainnetNodesPubkeys = value.mainnetNodesPubkeys; this.testnetNodesPubkeys = value.testnetNodesPubkeys; + this.nostrHexPubkey = value.nostrHexPubkey; this.url = ''; this.basePath = ''; @@ -163,6 +164,7 @@ export class Coordinator { public testnetNodesPubkeys: string[] | undefined; public url: string; public basePath: string; + public nostrHexPubkey: string; // These properties are fetched from coordinator API public book: Record = {}; diff --git a/frontend/src/services/RoboPool/index.ts b/frontend/src/services/RoboPool/index.ts index 1db0d8d3..2860fd1b 100644 --- a/frontend/src/services/RoboPool/index.ts +++ b/frontend/src/services/RoboPool/index.ts @@ -130,6 +130,12 @@ class RoboPool { this.sendMessage(JSON.stringify(requestPending)); this.sendMessage(JSON.stringify(requestSuccess)); }; + + sendEvent = (event: Event): void => { + const message = ['EVENT', event]; + + this.sendMessage(JSON.stringify(message)); + }; } export default RoboPool; diff --git a/frontend/static/federation.json b/frontend/static/federation.json index 4e5b5646..971957aa 100644 --- a/frontend/static/federation.json +++ b/frontend/static/federation.json @@ -192,53 +192,6 @@ "testnetNodesPubkeys": ["02f0ddc838b35fe54daa13baa4abab84475c7b9f2670ff4b53c1724792843ef62a"], "federated": true }, - "satstralia": { - "longAlias": "Satstralia", - "shortAlias": "satstralia", - "identifier": "satstralia", - "description": "Forget \"to the moon\", at Over the Moon we are here to take no-KYC, p2p exchange to the next level! Our goal is to further decentralise the RoboSats federation whilst providing the maximum level of privacy and security for our users. *Trade amounts increase by 30% every 2016 blocks (~2 weeks).", - "motto": "Bene videtur hinc", - "color": "#eeeee4", - "established": "2024-11-01", - "nostrHexPubkey": "7af6f7cfc3bfdf8aa65df2465aa7841096fa8ee6b2d4d14fc43d974e5db9ab96", - "contact": { - "email": "otmoon@proton.me", - "telegram": "", - "simplex": "https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2FUkMFNAXLXeAAe0beCa4w6X_zp18PwxSaSjY17BKUGXQ%3D%40smp12.simplex.im%2FtrEIGy97lLpA9IeAc6axGF6J6vWK6U6r%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAj8vhZDsAf8au1XSFG43DWZzzFYUnGNi9RAXMVvG2znk%253D%26srv%3Die42b5weq7zdkghocs3mgxdjeuycheeqqmksntj57rmejagmg4eor5yd.onion", - "pgp": "/static/federation/pgp/19D833CB2258715B4E627291942B7D51A8533742.asc", - "nostr": "npub10tm00n7rhl0c4fja7fr94fuyzzt04rhxkt2dzn7y8kt5uhde4wtq899xam", - "website": "", - "fingerprint": "19D833CB2258715B4E627291942B7D51A8533742" - }, - "badges": { - "isFounder": false, - "donatesToDevFund": 25, - "hasGoodOpSec": true, - "robotsLove": false, - "hasLargeLimits": false - }, - "policies": { - "Privacy Policy 1": "Evidence in Disputes: In the event of a dispute, users will be asked to provide transaction-related evidence. This could include transaction IDs, screenshots of payment confirmations, or other pertinent transaction records. Personal information or unrelated transaction details should be redacted to maintain privacy.", - "Privacy Policy 2": "Short-term Storage: Sensitive information related to disputes will be stored only for the duration necessary to resolve the issue. Once resolved, the data will be permanently deleted.", - "Data Policy 1": "No Third-Party Sharing: Under no circumstances will user information be shared with third parties. Also because it is impossible to do so by design of Robosats architecture. Due to the decentralized and privacy-centric structure of RoboSats built on the Tor network, we are unable to collect or store user information, including but not limited to, the location of users. This design ensures maximum privacy and anonymity for our users.", - "Data Policy 2": "Short-term Storage: Any log needed to operate the coordinator will be cleared after 7 days, unless strictly needed to process disputes. To ensure utmost privacy, the coordinator will be accessible only through TOR.", - "Rule 1:": " Do not share personal information through the chat, unless strictly needed for completing the trade.", - "Rule 2:": "Users are solely responsible for understanding and complying with their local laws and regulations regarding cryptocurrency transactions. By using this coordinator, you agree to ensure that your activities on the platform are lawful in your jurisdiction." - }, - "mainnet": { - "onion": "http://45gzfolhp3dcfv6w7a4p2iwekvurdjcf4p2onhnmvyhauwxfsx7kguad.onion", - "clearnet": "http://45gzfolhp3dcfv6w7a4p2iwekvurdjcf4p2onhnmvyhauwxfsx7kguad.onion", - "i2p": "" - }, - "testnet": { - "onion": "http://45gzfolhp3dcfv6w7a4p2iwekvurdjcf4p2onhnmvyhauwxfsx7kguad.onion", - "clearnet": "", - "i2p": "" - }, - "mainnetNodesPubkeys": ["023924542082a5d16bce188ec4c29a45f00dd439a3f5992034d82e3353232a0345"], - "testnetNodesPubkeys": ["02f0ddc838b35fe54daa13baa4abab84475c7b9f2670ff4b53c1724792843ef62a"], - "federated": true - }, "local": { "longAlias": "Local Dev", "shortAlias": "local", diff --git a/frontend/static/locales/ca.json b/frontend/static/locales/ca.json index 11fd3e89..e8e047f0 100644 --- a/frontend/static/locales/ca.json +++ b/frontend/static/locales/ca.json @@ -674,19 +674,17 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "La teva factura ha caducat o s'han fet més de 3 intents de pagament. Envia una nova factura.", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats està intentant pagar la teva factura de Lightning. Recorda que els nodes Lightning han d'estar en línia per rebre pagaments.", -<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", -======= - "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", - "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", - "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", ->>>>>>> 7a113d9a (Coordinators ratings WIP) + "BETA": "BETA", + "Rate your host {{coordinator}}": "Rate your host {{coordinator}}", + "Rate your peer {{peer_nick}}": "Rate your peer {{peer_nick}}", "Renew": "Renovar", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats millora amb més usuaris i liquiditat. Ensenya-li RoboSats a un amic bitcoiner!", "Sending coins to": "Enviant monedes a", "Start Again": "Començar de nou", "Thank you for using Robosats!": "Gràcies per fer servir RoboSats!", - "Thank you! RoboSats loves you too": "Gràcies! RoboSats també t'estima", + "Thank you! {{shortAlias}} loves you too": "Thank you! {{shortAlias}} loves you too", + "You need to enable nostr to rate your coordinator.": "You need to enable nostr to rate your coordinator.", "Your TXID": "El teu TXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Si us plau, espera a que el prenedor bloquegi la seva fiança. Si no ho fa a temps, l'ordre serà pública de nou.", diff --git a/frontend/static/locales/cs.json b/frontend/static/locales/cs.json index 4737de20..a3040992 100644 --- a/frontend/static/locales/cs.json +++ b/frontend/static/locales/cs.json @@ -674,19 +674,17 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Tvůj invoice vypršel nebo selhali pokusy o 3 platby. Nahraj nový invoice.", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats se snaží zaplatit tvůj lightning invoice. Nezapomeň, že lightning nody musí být online, aby mohl přijímat platby.", -<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", -======= - "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", - "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", - "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", ->>>>>>> 7a113d9a (Coordinators ratings WIP) + "BETA": "BETA", + "Rate your host {{coordinator}}": "Rate your host {{coordinator}}", + "Rate your peer {{peer_nick}}": "Rate your peer {{peer_nick}}", "Renew": "Renew", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats bude lepší s větší likviditou a uživateli. Pověz svým přátelům o Robosats!", "Sending coins to": "Sending coins to", "Start Again": "Začít znovu", "Thank you for using Robosats!": "Děkujeme, že používáš Robosats!", - "Thank you! RoboSats loves you too": "Thank you! RoboSats loves you too", + "Thank you! {{shortAlias}} loves you too": "Thank you! {{shortAlias}} loves you too", + "You need to enable nostr to rate your coordinator.": "You need to enable nostr to rate your coordinator.", "Your TXID": "Tvé TXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Vyčkej, až příjemce uzamkne kauci. Pokud příjemce neuzamkne kauci včas, nabídka se znovu zveřejní.", diff --git a/frontend/static/locales/de.json b/frontend/static/locales/de.json index fcaa1755..608bb5e2 100644 --- a/frontend/static/locales/de.json +++ b/frontend/static/locales/de.json @@ -674,19 +674,17 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats versucht deine Lightning-Invoice zu bezahlen. Denk daran, dass deine Lightning-Node erreichbar sein muss, um die Zahlung zu erhalten.", -<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", -======= - "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", - "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", - "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", ->>>>>>> 7a113d9a (Coordinators ratings WIP) + "BETA": "BETA", + "Rate your host {{coordinator}}": "Rate your host {{coordinator}}", + "Rate your peer {{peer_nick}}": "Rate your peer {{peer_nick}}", "Renew": "Renew", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats wird noch besser mit mehr Nutzern und Liquidität. Erzähl einem Bitcoin-Freund von uns!", "Sending coins to": "Sending coins to", "Start Again": "Nochmal", "Thank you for using Robosats!": "Danke, dass du Robosats benutzt hast!", - "Thank you! RoboSats loves you too": "Thank you! RoboSats loves you too", + "Thank you! {{shortAlias}} loves you too": "Thank you! {{shortAlias}} loves you too", + "You need to enable nostr to rate your coordinator.": "You need to enable nostr to rate your coordinator.", "Your TXID": "Your TXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Bitte warte auf den Taker, um eine Kaution zu sperren. Wenn der Taker nicht rechtzeitig eine Kaution sperrt, wird die Order erneut veröffentlicht.", diff --git a/frontend/static/locales/en.json b/frontend/static/locales/en.json index c8180d4f..c2c179e6 100644 --- a/frontend/static/locales/en.json +++ b/frontend/static/locales/en.json @@ -674,19 +674,17 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.", -<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", -======= - "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", - "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", - "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", ->>>>>>> 7a113d9a (Coordinators ratings WIP) + "BETA": "BETA", + "Rate your host {{coordinator}}": "Rate your host {{coordinator}}", + "Rate your peer {{peer_nick}}": "Rate your peer {{peer_nick}}", "Renew": "Renew", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!", "Sending coins to": "Sending coins to", "Start Again": "Start Again", "Thank you for using Robosats!": "Thank you for using Robosats!", - "Thank you! RoboSats loves you too": "Thank you! RoboSats loves you too", + "Thank you! {{shortAlias}} loves you too": "Thank you! {{shortAlias}} loves you too", + "You need to enable nostr to rate your coordinator.": "You need to enable nostr to rate your coordinator.", "Your TXID": "Your TXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.", diff --git a/frontend/static/locales/es.json b/frontend/static/locales/es.json index b14f84aa..17f2db24 100644 --- a/frontend/static/locales/es.json +++ b/frontend/static/locales/es.json @@ -674,19 +674,17 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Tu factura ha expirado o se han hecho más de 3 intentos de pago. Aporta una nueva factura.", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats está intentando pagar tu factura de Lightning. Recuerda que los nodos Lightning deben estar en línea para recibir pagos.", -<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", -======= - "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", - "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", - "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", ->>>>>>> 7a113d9a (Coordinators ratings WIP) + "BETA": "BETA", + "Rate your host {{coordinator}}": "Rate your host {{coordinator}}", + "Rate your peer {{peer_nick}}": "Rate your peer {{peer_nick}}", "Renew": "Renovar", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats mejora con más liquidez y usuarios. ¡Háblale a un amigo bitcoiner sobre RoboSats!", "Sending coins to": "Sending coins to", "Start Again": "Empezar de nuevo", "Thank you for using Robosats!": "¡Gracias por usar RoboSats!", - "Thank you! RoboSats loves you too": "¡Gracias! RoboSats también te quiere", + "Thank you! {{shortAlias}} loves you too": "Thank you! {{shortAlias}} loves you too", + "You need to enable nostr to rate your coordinator.": "You need to enable nostr to rate your coordinator.", "Your TXID": "Tu TXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Por favor, espera a que el tomador bloquee su fianza. Si no lo hace a tiempo, la orden volverá a publicarse.", diff --git a/frontend/static/locales/eu.json b/frontend/static/locales/eu.json index b18df8c2..0065a326 100644 --- a/frontend/static/locales/eu.json +++ b/frontend/static/locales/eu.json @@ -674,19 +674,17 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Zure faktura iraungi da edo 3 ordainketa saiakera baino gehiago egin dira. Aurkeztu faktura berri bat.", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats zure Lightning faktura ordaintzen saiatzen ari da. Gogoratu lightning nodoak online egon behar direla ordainketak jaso ahal izateko.", -<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", -======= - "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", - "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", - "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", ->>>>>>> 7a113d9a (Coordinators ratings WIP) + "BETA": "BETA", + "Rate your host {{coordinator}}": "Rate your host {{coordinator}}", + "Rate your peer {{peer_nick}}": "Rate your peer {{peer_nick}}", "Renew": "Renew", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats hobetu egiten da likidezia eta erabiltzaile gehiagorekin. Aipatu Robosats lagun bitcoiner bati!", "Sending coins to": "Sending coins to", "Start Again": "Berriz Hasi", "Thank you for using Robosats!": "Mila esker Robosats erabiltzeagatik!", - "Thank you! RoboSats loves you too": "Thank you! RoboSats loves you too", + "Thank you! {{shortAlias}} loves you too": "Thank you! {{shortAlias}} loves you too", + "You need to enable nostr to rate your coordinator.": "You need to enable nostr to rate your coordinator.", "Your TXID": "Zure TXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Mesedez itxaron hartzaileak fidantza blokeatu harte. Hartzaileak fidantza garaiz blokeatzen ez badu, eskaera berriz publikatuko da.", diff --git a/frontend/static/locales/fr.json b/frontend/static/locales/fr.json index 9abe7e87..35ea143f 100644 --- a/frontend/static/locales/fr.json +++ b/frontend/static/locales/fr.json @@ -674,19 +674,17 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Votre facture a expiré ou plus de 3 tentatives de paiement ont été effectuées. Soumettez une nouvelle facture.", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats tente de payer votre facture lightning. Rappelez-vous que les nœuds lightning doivent être en ligne pour recevoir des paiements.", -<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", -======= - "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", - "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", - "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", ->>>>>>> 7a113d9a (Coordinators ratings WIP) + "BETA": "BETA", + "Rate your host {{coordinator}}": "Rate your host {{coordinator}}", + "Rate your peer {{peer_nick}}": "Rate your peer {{peer_nick}}", "Renew": "Renouveler", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats s'améliore avec plus de liquidité et d'utilisateurs. Parlez de Robosats à un ami bitcoiner!", "Sending coins to": "Envoi coins à", "Start Again": "Recommencer", "Thank you for using Robosats!": "Merci d'utiliser Robosats!", - "Thank you! RoboSats loves you too": "Merci ! RoboSats vous aime aussi", + "Thank you! {{shortAlias}} loves you too": "Thank you! {{shortAlias}} loves you too", + "You need to enable nostr to rate your coordinator.": "You need to enable nostr to rate your coordinator.", "Your TXID": "Votre TXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Veuillez attendre que le preneur verrouille une caution. Si le preneur ne verrouille pas la caution à temps, l'ordre sera rendue publique à nouveau", diff --git a/frontend/static/locales/it.json b/frontend/static/locales/it.json index 37659a7a..3517e273 100644 --- a/frontend/static/locales/it.json +++ b/frontend/static/locales/it.json @@ -674,19 +674,17 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "La tua fattura è scaduta o sono stati fatti più di 3 tentativi di pagamento. Invia una nuova fattura.", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats sta provando a pagare la tua fattura lightning. Ricorda che i nodi lightning devono essere online per ricevere pagamenti.", -<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", -======= - "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", - "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", - "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", ->>>>>>> 7a113d9a (Coordinators ratings WIP) + "BETA": "BETA", + "Rate your host {{coordinator}}": "Rate your host {{coordinator}}", + "Rate your peer {{peer_nick}}": "Rate your peer {{peer_nick}}", "Renew": "Rinnova", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats migliora se ha più liquidità ed utenti. Parla di Robosats ai tuoi amici bitcoiner!", "Sending coins to": "Invio monete a", "Start Again": "Ricomincia", "Thank you for using Robosats!": "Grazie per aver usato Robosats!", - "Thank you! RoboSats loves you too": "Grazie! Anche RoboSats ti ama", + "Thank you! {{shortAlias}} loves you too": "Thank you! {{shortAlias}} loves you too", + "You need to enable nostr to rate your coordinator.": "You need to enable nostr to rate your coordinator.", "Your TXID": "Il tuo TXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Per favore, attendi che l'acquirente blocchi una cauzione. Se l'acquirente non blocca una cauzione in tempo, l'ordine verrà reso nuovamente pubblico.", diff --git a/frontend/static/locales/ja.json b/frontend/static/locales/ja.json index d8bc5e37..8fb9f9c0 100644 --- a/frontend/static/locales/ja.json +++ b/frontend/static/locales/ja.json @@ -674,19 +674,17 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "インボイスの有効期限が切れているか、3回以上の支払い試行が行われました。新しいインボイスを提出してください。", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSatsはあなたのライトニングインボイスを支払おうとしています。支払いを受け取るには、ライトニングノードがオンラインである必要があることを忘れないでください。", -<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", -======= - "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", - "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", - "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", ->>>>>>> 7a113d9a (Coordinators ratings WIP) + "BETA": "BETA", + "Rate your host {{coordinator}}": "Rate your host {{coordinator}}", + "Rate your peer {{peer_nick}}": "Rate your peer {{peer_nick}}", "Renew": "更新する", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSatsはより多くの流動性とユーザーでより良くなります。ビットコイナーのお友達にRoboSatsについて話してください!", "Sending coins to": "コインを送信する先", "Start Again": "最初からやり直す", "Thank you for using Robosats!": "Robosatsをご利用いただきありがとうございます!", - "Thank you! RoboSats loves you too": "ありがとうございます! RoboSatsもあなたを愛しています", + "Thank you! {{shortAlias}} loves you too": "Thank you! {{shortAlias}} loves you too", + "You need to enable nostr to rate your coordinator.": "You need to enable nostr to rate your coordinator.", "Your TXID": "あなたのTXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "テイカーが担保金をロックするまでお待ちください。タイムリミット内に担保金がロックされない場合、オーダーは再度公開されます。", diff --git a/frontend/static/locales/pl.json b/frontend/static/locales/pl.json index 532ad6e6..581ac16a 100644 --- a/frontend/static/locales/pl.json +++ b/frontend/static/locales/pl.json @@ -674,19 +674,17 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats próbuje zapłacić fakturę za błyskawicę. Pamiętaj, że węzły pioruna muszą być online, aby otrzymywać płatności.", -<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", -======= - "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", - "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", - "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", ->>>>>>> 7a113d9a (Coordinators ratings WIP) + "BETA": "BETA", + "Rate your host {{coordinator}}": "Rate your host {{coordinator}}", + "Rate your peer {{peer_nick}}": "Rate your peer {{peer_nick}}", "Renew": "Renew", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats staje się lepszy dzięki większej płynności i użytkownikom. Powiedz znajomemu bitcoinerowi o Robosats!", "Sending coins to": "Sending coins to", "Start Again": "Zacznij jeszcze raz", "Thank you for using Robosats!": "Dziękujemy za korzystanie z Robosatów!", - "Thank you! RoboSats loves you too": "Thank you! RoboSats loves you too", + "Thank you! {{shortAlias}} loves you too": "Thank you! {{shortAlias}} loves you too", + "You need to enable nostr to rate your coordinator.": "You need to enable nostr to rate your coordinator.", "Your TXID": "Your TXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Poczekaj, aż przyjmujący zablokuje obligację. Jeśli przyjmujący nie zablokuje obligacji na czas, zlecenie zostanie ponownie upublicznione.", diff --git a/frontend/static/locales/pt.json b/frontend/static/locales/pt.json index e25d53b7..e3f261a9 100644 --- a/frontend/static/locales/pt.json +++ b/frontend/static/locales/pt.json @@ -674,19 +674,17 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Sua invoice expirou ou foram feitas mais de 3 tentativas de pagamento. Envie uma nova invoice.", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats está tentando pagar sua lightning invoice. Lembre-se de que os nós lightning devem estar online para receber pagamentos.", -<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", -======= - "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", - "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", - "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", ->>>>>>> 7a113d9a (Coordinators ratings WIP) + "BETA": "BETA", + "Rate your host {{coordinator}}": "Rate your host {{coordinator}}", + "Rate your peer {{peer_nick}}": "Rate your peer {{peer_nick}}", "Renew": "Renew", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats fica melhor com mais liquidez e usuários. Conte a um amigo bitcoiner sobre Robosats!", "Sending coins to": "Enviando moedas para", "Start Again": "Comece de novo", "Thank you for using Robosats!": "Obrigado por usar Robosats!", - "Thank you! RoboSats loves you too": "Obriagdo! RoboSats também te ama", + "Thank you! {{shortAlias}} loves you too": "Thank you! {{shortAlias}} loves you too", + "You need to enable nostr to rate your coordinator.": "You need to enable nostr to rate your coordinator.", "Your TXID": "Sua TXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Por favor, espere que o tomador bloqueie uma fiança. Se o tomador não fechar um vínculo a tempo, a ordem será tornada pública novamente.", diff --git a/frontend/static/locales/ru.json b/frontend/static/locales/ru.json index 6570b8a3..ee945719 100644 --- a/frontend/static/locales/ru.json +++ b/frontend/static/locales/ru.json @@ -674,19 +674,17 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Срок действия Вашего инвойса истёк или было сделано более трёх попыток оплаты. Отправьте новый инвойс.", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats пытается оплатить Ваш Lightning инвойс. Помните, что ноды Lightning должны быть подключены к сети, чтобы получать платежи.", -<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", -======= - "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", - "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", - "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", ->>>>>>> 7a113d9a (Coordinators ratings WIP) + "BETA": "BETA", + "Rate your host {{coordinator}}": "Rate your host {{coordinator}}", + "Rate your peer {{peer_nick}}": "Rate your peer {{peer_nick}}", "Renew": "Renew", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats становится лучше с большей ликвидностью и пользователями. Расскажите другу-биткойнеру о Robosat!", "Sending coins to": "Отправка монет на", "Start Again": "Начать Снова", "Thank you for using Robosats!": "Спасибо за использование Robosats!", - "Thank you! RoboSats loves you too": "Спасибо! RoboSats тоже Вас любит", + "Thank you! {{shortAlias}} loves you too": "Thank you! {{shortAlias}} loves you too", + "You need to enable nostr to rate your coordinator.": "You need to enable nostr to rate your coordinator.", "Your TXID": "Ваш TXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Пожалуйста, подождите, пока тейкер заблокирует залог. Если тейкер не заблокирует залог вовремя, ордер будет снова опубликован", diff --git a/frontend/static/locales/sv.json b/frontend/static/locales/sv.json index 79e34758..9e5c9b3e 100644 --- a/frontend/static/locales/sv.json +++ b/frontend/static/locales/sv.json @@ -674,19 +674,17 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Din faktura har förfallit eller så har fler än tre betalningsförsök gjorts. Dela en ny faktura.", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats försöker betala din lightning-faktura. Kom ihåg att lightning-noder måste vara online för att kunna mottaga betalningar.", -<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", -======= - "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", - "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", - "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", ->>>>>>> 7a113d9a (Coordinators ratings WIP) + "BETA": "BETA", + "Rate your host {{coordinator}}": "Rate your host {{coordinator}}", + "Rate your peer {{peer_nick}}": "Rate your peer {{peer_nick}}", "Renew": "Renew", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats blir bättre med mer likviditet och fler användare. Berätta om RoboSats för en Bitcoiner-vän!", "Sending coins to": "Sending coins to", "Start Again": "Börja om", "Thank you for using Robosats!": "Tack för att du använder RoboSats!", - "Thank you! RoboSats loves you too": "Thank you! RoboSats loves you too", + "Thank you! {{shortAlias}} loves you too": "Thank you! {{shortAlias}} loves you too", + "You need to enable nostr to rate your coordinator.": "You need to enable nostr to rate your coordinator.", "Your TXID": "Ditt TXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Var god vänta på att takern låser sin obligation. Om den inte gör det i tid kommer ordern att göras publik igen.", diff --git a/frontend/static/locales/sw.json b/frontend/static/locales/sw.json index 02975681..63f8b63e 100644 --- a/frontend/static/locales/sw.json +++ b/frontend/static/locales/sw.json @@ -674,19 +674,17 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Ankara yako imeisha muda au majaribio zaidi ya 3 ya malipo yamefanywa. Wasilisha ankara mpya.", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats inajaribu kulipa ankara yako ya umeme. Kumbuka kuwa nodi za umeme lazima ziwe mtandaoni ili kupokea malipo.", -<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", -======= - "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", - "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", - "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", ->>>>>>> 7a113d9a (Coordinators ratings WIP) + "BETA": "BETA", + "Rate your host {{coordinator}}": "Rate your host {{coordinator}}", + "Rate your peer {{peer_nick}}": "Rate your peer {{peer_nick}}", "Renew": "Renew", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats inaboreshwa na utoshelevu zaidi na watumiaji. Mwambie rafiki yako wa Bitcoin kuhusu RoboSats!", "Sending coins to": "Inatuma sarafu kwa", "Start Again": "Anza Tena", "Thank you for using Robosats!": "Asante kwa kutumia Robosats!", - "Thank you! RoboSats loves you too": "Asante! RoboSats pia inakupenda", + "Thank you! {{shortAlias}} loves you too": "Thank you! {{shortAlias}} loves you too", + "You need to enable nostr to rate your coordinator.": "You need to enable nostr to rate your coordinator.", "Your TXID": "Kitambulisho chako cha TX", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Tafadhali subiri mpokeaji aweke dhamana. Ikiwa mpokeaji hataweka dhamana kwa wakati, agizo litatangazwa tena kwa umma.", diff --git a/frontend/static/locales/th.json b/frontend/static/locales/th.json index 54013f3e..b05a4a79 100644 --- a/frontend/static/locales/th.json +++ b/frontend/static/locales/th.json @@ -674,19 +674,17 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Invoice หมดอายุ หรือเราได้ลองจ่ายเหรียญครบ 3 ครั้งแล้ว กรุณาส่ง invoice ใหม่ให้เรา", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats กำลังจ่ายเหรียญให้ lightning invoice ของท่าน lightning nodes จะต้องออนไลน์เพื่อรับเหรียญ", -<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", -======= - "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", - "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", - "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", ->>>>>>> 7a113d9a (Coordinators ratings WIP) + "BETA": "BETA", + "Rate your host {{coordinator}}": "Rate your host {{coordinator}}", + "Rate your peer {{peer_nick}}": "Rate your peer {{peer_nick}}", "Renew": "Renew", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats จะดีขึ้นเมื่อมีสภาพคล่องและผู้ใช้งานมากขึ้น ช่วยกันชวนเพื่อนของคุณมาใช้ Robosats!", "Sending coins to": "Sending coins to", "Start Again": "Start Again", "Thank you for using Robosats!": "ขอบคุณที่ใช้งาน Robosats!", - "Thank you! RoboSats loves you too": "Thank you! RoboSats loves you too", + "Thank you! {{shortAlias}} loves you too": "Thank you! {{shortAlias}} loves you too", + "You need to enable nostr to rate your coordinator.": "You need to enable nostr to rate your coordinator.", "Your TXID": "TXID ของคุณ", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "โปรดรอคู่ค้าทำการกักกันเหรียญใน bond ถ้าเขากักกันเหรียญไม่ทันในเวลาที่กำหนด รายการจะถูกประำกาศใหม่", diff --git a/frontend/static/locales/zh-SI.json b/frontend/static/locales/zh-SI.json index c0e0e6c1..b0e6316c 100644 --- a/frontend/static/locales/zh-SI.json +++ b/frontend/static/locales/zh-SI.json @@ -674,19 +674,17 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "你的发票已到期或已进行超过3次付款尝试。提交一张新的发票。", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats 正在尝试支付你的闪电发票。请注意,闪电节点必须在线才能接收付款。", -<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", -======= - "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", - "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", - "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", ->>>>>>> 7a113d9a (Coordinators ratings WIP) + "BETA": "BETA", + "Rate your host {{coordinator}}": "Rate your host {{coordinator}}", + "Rate your peer {{peer_nick}}": "Rate your peer {{peer_nick}}", "Renew": "延续", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats 会随着更多的流动性和更高的用户数量而变得更好。把 RoboSats 推荐给你的比特币朋友吧!", "Sending coins to": "将比特币发送到", "Start Again": "重新开始", "Thank you for using Robosats!": "感谢你使用 Robosats!", - "Thank you! RoboSats loves you too": "谢谢!RoboSats 也爱你", + "Thank you! {{shortAlias}} loves you too": "Thank you! {{shortAlias}} loves you too", + "You need to enable nostr to rate your coordinator.": "You need to enable nostr to rate your coordinator.", "Your TXID": "你的 TXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "请等待吃单方锁定保证金。如果吃单方没有及时锁定保证金,订单将再次公开。", diff --git a/frontend/static/locales/zh-TR.json b/frontend/static/locales/zh-TR.json index e720c2dc..94483bf6 100644 --- a/frontend/static/locales/zh-TR.json +++ b/frontend/static/locales/zh-TR.json @@ -674,19 +674,17 @@ "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "你的發票已到期或已進行超過3次付款嘗試。提交一張新的發票。", "#81": "Phrases in components/TradeBox/Prompts/SendingSats.tsx", "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats 正在嘗試支付你的閃電發票。請注意,閃電節點必須在線才能接收付款。", -<<<<<<< HEAD "#82": "Phrases in components/TradeBox/Prompts/Successful.tsx", -======= - "#81": "Phrases in components/TradeBox/Prompts/Successful.tsx", - "How was your experience with {{peer_nick}}?": "How was your experience with {{peer_nick}}?", - "How your host {{coordinator}} did it?": "How your host {{coordinator}} did it?", ->>>>>>> 7a113d9a (Coordinators ratings WIP) + "BETA": "BETA", + "Rate your host {{coordinator}}": "Rate your host {{coordinator}}", + "Rate your peer {{peer_nick}}": "Rate your peer {{peer_nick}}", "Renew": "延續", "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats 會隨著更多的流動性和更高的用戶数量而變得更好。把 RoboSats 推薦給你的比特幣朋友吧!", "Sending coins to": "將比特幣發送到", "Start Again": "重新開始", "Thank you for using Robosats!": "感謝你使用 Robosats!", - "Thank you! RoboSats loves you too": "謝謝!RoboSats 也愛你", + "Thank you! {{shortAlias}} loves you too": "Thank you! {{shortAlias}} loves you too", + "You need to enable nostr to rate your coordinator.": "You need to enable nostr to rate your coordinator.", "Your TXID": "你的 TXID", "#83": "Phrases in components/TradeBox/Prompts/TakerFound.tsx", "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "請等待吃單方鎖定保證金。如果吃單方沒有及時鎖定保證金,訂單將再次公開。", From 05f4995c93d8fdbdcc0b0ffac671a5aeaf1f431f Mon Sep 17 00:00:00 2001 From: koalasat Date: Wed, 26 Mar 2025 17:53:29 +0100 Subject: [PATCH 3/3] Fix rating --- .../TradeBox/Prompts/Successful.tsx | 45 +++++++++++++++---- frontend/src/components/TradeBox/index.tsx | 29 ------------ 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/frontend/src/components/TradeBox/Prompts/Successful.tsx b/frontend/src/components/TradeBox/Prompts/Successful.tsx index 6cc3b2f0..b67b14e1 100644 --- a/frontend/src/components/TradeBox/Prompts/Successful.tsx +++ b/frontend/src/components/TradeBox/Prompts/Successful.tsx @@ -1,4 +1,4 @@ -import React, { useContext, useState } from 'react'; +import React, { useContext, useEffect, useState } from 'react'; import { useTranslation, Trans } from 'react-i18next'; import { Grid, @@ -17,7 +17,7 @@ import currencies from '../../../../static/assets/currencies.json'; import TradeSummary from '../TradeSummary'; import { Favorite, RocketLaunch, ContentCopy, Refresh, Info } from '@mui/icons-material'; import { LoadingButton } from '@mui/lab'; - +import { finalizeEvent, type Event } from 'nostr-tools'; import { type Order } from '../../../models'; import { systemClient } from '../../../services/System'; import { @@ -25,11 +25,11 @@ import { type UseFederationStoreType, } from '../../../contexts/FederationContext'; import { type UseAppStoreType, AppContext } from '../../../contexts/AppContext'; +import { GarageContext, type UseGarageStoreType } from '../../../contexts/GarageContext'; interface SuccessfulPromptProps { order: Order; rateUserPlatform: (rating: number) => void; - rateHostPlatform: (rating: number) => void; onClickStartAgain: () => void; onClickRenew: () => void; loadingRenew: boolean; @@ -38,7 +38,6 @@ interface SuccessfulPromptProps { export const SuccessfulPrompt = ({ order, rateUserPlatform, - rateHostPlatform, onClickStartAgain, onClickRenew, loadingRenew, @@ -47,8 +46,39 @@ export const SuccessfulPrompt = ({ const currencyCode: string = currencies[`${order.currency}`]; const { settings } = useContext(AppContext); const { federation } = useContext(FederationContext); + const { garage } = useContext(GarageContext); - const [hostRating, setHostRating] = useState(); + const [hostRating, setHostRating] = useState(); + + const rateHostPlatform = function (): void { + if (!hostRating) return; + + const slot = garage.getSlot(); + const coordinatorPubKey = federation.getCoordinator(order.shortAlias)?.nostrHexPubkey; + + if (!slot?.nostrPubKey || !slot.nostrSecKey || !coordinatorPubKey || !order.id) return; + + const eventTemplate: Event = { + kind: 31986, + created_at: Math.floor(Date.now() / 1000), + tags: [ + ['d', `${order.shortAlias}:${order.id}`], + ['p', coordinatorPubKey], + ['rating', String(hostRating / 5)], + ], + content: '', + pubkey: slot.nostrPubKey, + id: '', + sig: '', + }; + + const signedEvent = finalizeEvent(eventTemplate, slot.nostrSecKey); + federation.roboPool.sendEvent(signedEvent); + }; + + useEffect(() => { + rateHostPlatform(); + }, [hostRating]); return ( { const rate = e.target.value; - rateHostPlatform(rate); setHostRating(rate); }} /> @@ -113,7 +142,7 @@ export const SuccessfulPrompt = ({ justifyContent: 'center', }} > - {hostRating === '5' ? ( + {hostRating === 5 ? ( <> @@ -130,7 +159,7 @@ export const SuccessfulPrompt = ({ )} - {hostRating === '5' ? ( + {hostRating === 5 ? ( {t( 'RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!', diff --git a/frontend/src/components/TradeBox/index.tsx b/frontend/src/components/TradeBox/index.tsx index a573c9f5..56fc5ffe 100644 --- a/frontend/src/components/TradeBox/index.tsx +++ b/frontend/src/components/TradeBox/index.tsx @@ -1,7 +1,6 @@ import React, { useState, useEffect, useContext } from 'react'; import { Box, Divider, Grid } from '@mui/material'; import { getWebln, pn } from '../../utils'; -import { finalizeEvent, type Event } from 'nostr-tools'; import { ConfirmCancelDialog, ConfirmCollabCancelDialog, @@ -313,31 +312,6 @@ const TradeBox = ({ currentOrder, onStartAgain }: TradeBoxProps): JSX.Element => submitAction({ action: 'rate_platform', rating }); }; - const rateHostPlatform = function (rating: number): void { - const slot = garage.getSlot(); - const coordinatorPubKey = federation.getCoordinator(currentOrder.shortAlias)?.nostrHexPubkey; - - if (!slot?.nostrPubKey || !slot.nostrSecKey || !coordinatorPubKey || !currentOrder.id) return; - - const eventTemplate: Event = { - kind: 31986, - created_at: Math.floor(Date.now() / 1000), - tags: [ - ['d', `${coordinatorPubKey}:${currentOrder.id}`], - ['e', ''], - ['p', coordinatorPubKey], - ['rating', String(rating / 5)], - ], - content: '', - pubkey: slot.nostrPubKey, - id: '', - sig: '', - }; - - const signedEvent = finalizeEvent(eventTemplate, slot.nostrSecKey); - federation.roboPool.sendEvent(signedEvent); - }; - const handleWebln = async (order: Order): Promise => { const webln = await getWebln().catch(() => { console.log('WebLN not available'); @@ -643,7 +617,6 @@ const TradeBox = ({ currentOrder, onStartAgain }: TradeBoxProps): JSX.Element => { @@ -668,7 +641,6 @@ const TradeBox = ({ currentOrder, onStartAgain }: TradeBoxProps): JSX.Element => { @@ -708,7 +680,6 @@ const TradeBox = ({ currentOrder, onStartAgain }: TradeBoxProps): JSX.Element => {