From 78667b3f97a1e6c4bd7d09b7ff69602e2e771590 Mon Sep 17 00:00:00 2001 From: Adrien Hopkins Date: Thu, 6 Nov 2025 16:47:21 -0500 Subject: Add translatability to new DM-related text --- src/locales/en.json | 12 ++++++++++++ src/routes/(app)/dm/[recipient]/+page.svelte | 21 +++++++++------------ 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 @@

Direct Messages

-

You are sending nostr messages to {recipient.username}.

+ >{$t("dm.header")} +

{$t("dm.recipientMsg").replace("[R]", recipient.username)}

{#each dates as day}

[{new Date(day * 86400 * 1000).toDateString()}]

@@ -210,10 +207,10 @@ - Enable message expiry in days. - sendMessage(text)}> + {$t("dm.expiry")}: {$t("dm.days")}. + sendMessage(text)}> {#if relayWarningShown} -

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 your Nostr settings to set your relays.

+

{$t("dm.noRelaysSet")} {$t("dm.nostrSettingsLink")}

{/if}
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} - Preferred DM Relays + {$t("user.settings.preferredDM")}

- 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")}

-- cgit v1.2.3