diff options
| author | Adrien Hopkins <[email protected]> | 2025-11-06 16:47:21 -0500 |
|---|---|---|
| committer | Adrien Hopkins <[email protected]> | 2025-11-07 11:22:31 -0500 |
| commit | 78667b3f97a1e6c4bd7d09b7ff69602e2e771590 (patch) | |
| tree | b946119e70ae9a230a187b2137701ca8fcc6bad7 | |
| parent | 8b8c3cb3af361a34417dddca945dea9022fe1ae1 (diff) | |
| download | coinos-ui-78667b3f97a1e6c4bd7d09b7ff69602e2e771590.tar.gz coinos-ui-78667b3f97a1e6c4bd7d09b7ff69602e2e771590.zip | |
Add translatability to new DM-related text
| -rw-r--r-- | src/locales/en.json | 12 | ||||
| -rw-r--r-- | src/routes/(app)/dm/[recipient]/+page.svelte | 21 | ||||
| -rw-r--r-- | src/routes/(app)/settings/nostr/+page.svelte | 4 |
3 files changed, 23 insertions, 14 deletions
diff --git a/src/locales/en.json b/src/locales/en.json index dd6e29f1..a8b8a06a 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -92,6 +92,16 @@ "description": "Over 500 businesses worldwide are accepting bitcoin with Coinos. We hope that yours will be next!" } }, + "dm": { + "header": "Direct Messages", + "recipientMsg": "You are sending nostr messages to [R].", + "sendMessage": "Send Message", + "expiry": "Enable message expiry", + "days": "days", + "relaysNotFound": "Could not find [R]’s DM relays.", + "noRelaysSet": "WARNING: You haven't set any preferred relays. You won't be able to receive any messages or see the messages you've sent.", + "nostrSettingsLink": "Go to your Nostr settings to set your relays." + }, "error": { "header": "Error", "message": "Please try again or contact support.", @@ -337,6 +347,8 @@ "revealNsec": "Reveal secret key", "hideSeed": "Hide seed phrase", "revealSeed": "Reveal seed phrase", + "preferredDM": "Preferred DM Relays", + "preferredDMDescription": "Direct Messages meant for you will be published to these relays. To get DMs on multiple relays, put each relay URL on its own line.", "saveSettings": "Save settings", "bannerImage": "Banner Image", "profileImage": "Profile Image", diff --git a/src/routes/(app)/dm/[recipient]/+page.svelte b/src/routes/(app)/dm/[recipient]/+page.svelte index 35b5221e..26b1907d 100644 --- a/src/routes/(app)/dm/[recipient]/+page.svelte +++ b/src/routes/(app)/dm/[recipient]/+page.svelte @@ -5,6 +5,7 @@ import { SimplePool } from 'nostr-tools/pool'; import * as libnip17 from '$lib/nip17'; import { sign, getPrivateKey } from '$lib/nostr'; + import { t } from "$lib/translations"; let { data } = $props(); const { user, recipient } = data; @@ -22,6 +23,7 @@ let relayWarningShown = $state(false); let expiryEnabled = $state(false); let expiryDays = $state(7); + let canSend = $state(false); const appendMultimap = (map: Map, key: string, value: object) => { if (map.has(key)) { @@ -104,13 +106,8 @@ relayWarningShown = false; loadEvents(relays); }); - getPreferredRelays(recipient.pubkey).then((relays) => { - let sendButton = document.getElementById("send-message"); - if (!relays || relays.length == 0) { - sendButton.disabled = true; - sendButton.value = `Could not find ${recipient.username}'s DM relays.`; - } - }); + getPreferredRelays(recipient.pubkey) + .then((relays) => canSend = relays && relays.length > 0); const sendMessage = async (message: string) => { const expiry = expiryEnabled ? expiryDays : null; @@ -194,8 +191,8 @@ <div class="space-y-2 mx-auto space-y-5 lg:max-w-xl xl:max-w-2xl lg:pl-10 mt-5 lg:mt-0"> <h1 class="text-5xl font-medium text-left w-full mx-auto lg:mx-0 md:w-[500px]" - >Direct Messages</h1> - <p>You are sending nostr messages to {recipient.username}.</p> + >{$t("dm.header")}</h1> + <p>{$t("dm.recipientMsg").replace("[R]", recipient.username)}</p> {#each dates as day} <p>[{new Date(day * 86400 * 1000).toDateString()}]</p> @@ -210,10 +207,10 @@ <textarea id="message-contents" bind:value={text}></textarea> - <input type="checkbox" class="tiny" bind:checked={expiryEnabled}>Enable message expiry in <input type="number" class="short" bind:value={expiryDays} disabled={!expiryEnabled} min="1" step="1" max="99999"> days. - <input id="send-message" type="button" class="btn" value="Send Message" on:click={async () => sendMessage(text)}> + <input type="checkbox" class="tiny" bind:checked={expiryEnabled}>{$t("dm.expiry")}: <input type="number" class="short" bind:value={expiryDays} disabled={!expiryEnabled} min="1" step="1" max="99999"> {$t("dm.days")}. + <input id="send-message" type="button" class="btn" disabled={!canSend} value={canSend ? $t("dm.sendMessage") : $t("dm.relaysNotFound").replace("[R]", recipient.username)} on:click={async () => sendMessage(text)}> {#if relayWarningShown} - <p class="warning"><em>WARNING: You haven't set any preferred relays. You won't be able to receive any messages or see the messages you've sent. Go to <a class="link" href="/settings/nostr">your Nostr settings</a> to set your relays.</em></p> + <p class="warning"><em>{$t("dm.noRelaysSet")} <a class="link" href="/settings/nostr">{$t("dm.nostrSettingsLink")}</a></em></p> {/if} </div> </div> diff --git a/src/routes/(app)/settings/nostr/+page.svelte b/src/routes/(app)/settings/nostr/+page.svelte index fee9885d..8557d522 100644 --- a/src/routes/(app)/settings/nostr/+page.svelte +++ b/src/routes/(app)/settings/nostr/+page.svelte @@ -259,10 +259,10 @@ {/if} <span class="font-bold"> - Preferred DM Relays + {$t("user.settings.preferredDM")} </span> <p class="text-secondary mb-1"> - Direct Messages meant for you will be published to these relays. To get DMs on multiple relays, put each relay URL on its own line. + {$t("user.settings.preferredDMDescription")} </p> <textarea id="dmRelays" name="dmRelays" rows={3}></textarea> |
