diff --git a/docs/index.html b/docs/index.html index ae620da..4e0dbf8 100644 --- a/docs/index.html +++ b/docs/index.html @@ -92,7 +92,7 @@ - + @@ -607,6 +607,6 @@ process.exit(0);" - + diff --git a/i18n/de.json b/i18n/de.json index 323dd68..e5e5cc6 100644 --- a/i18n/de.json +++ b/i18n/de.json @@ -585,5 +585,9 @@ "Request declined": "Anfrage abgelehnt", "Open dashboard →": "Dashboard öffnen →", "incl.": "inkl.", - "sat unconfirmed · spendable now": "Sat unbestätigt · sofort verfügbar" + "sat unconfirmed · spendable now": "Sat unbestätigt · sofort verfügbar", + "Nothing is for sale right now": "Derzeit steht nichts zum Verkauf", + "Names go on sale when their owners list them from the dashboard. Have one to sell, or want a fresh one instead?": "Namen kommen in den Verkauf, wenn ihre Besitzer sie im Dashboard anbieten. Hast du einen zu verkaufen — oder lieber einen neuen registrieren?", + "Sell a name from your dashboard →": "Einen Namen im Dashboard verkaufen →", + "Register a new name": "Neuen Namen registrieren" } diff --git a/i18n/el.json b/i18n/el.json index 8c360fe..35c93bc 100644 --- a/i18n/el.json +++ b/i18n/el.json @@ -585,5 +585,9 @@ "Request declined": "Το αίτημα απορρίφθηκε", "Open dashboard →": "Άνοιγμα πίνακα ελέγχου →", "incl.": "συμπ.", - "sat unconfirmed · spendable now": "sat ανεπιβεβαίωτα · διαθέσιμα τώρα" + "sat unconfirmed · spendable now": "sat ανεπιβεβαίωτα · διαθέσιμα τώρα", + "Nothing is for sale right now": "Τίποτα δεν πωλείται αυτή τη στιγμή", + "Names go on sale when their owners list them from the dashboard. Have one to sell, or want a fresh one instead?": "Τα ονόματα βγαίνουν προς πώληση όταν οι ιδιοκτήτες τους τα καταχωρούν από τον πίνακα ελέγχου. Έχεις ένα να πουλήσεις ή προτιμάς ένα καινούργιο;", + "Sell a name from your dashboard →": "Πούλησε ένα όνομα από τον πίνακα ελέγχου →", + "Register a new name": "Καταχώρηση νέου ονόματος" } diff --git a/i18n/es.json b/i18n/es.json index 3daf5de..932bf8d 100644 --- a/i18n/es.json +++ b/i18n/es.json @@ -585,5 +585,9 @@ "Request declined": "Solicitud rechazada", "Open dashboard →": "Abrir panel →", "incl.": "incl.", - "sat unconfirmed · spendable now": "sat sin confirmar · disponibles ya" + "sat unconfirmed · spendable now": "sat sin confirmar · disponibles ya", + "Nothing is for sale right now": "Ahora mismo no hay nada en venta", + "Names go on sale when their owners list them from the dashboard. Have one to sell, or want a fresh one instead?": "Los nombres salen a la venta cuando sus dueños los publican desde el panel. ¿Tienes uno para vender, o prefieres uno nuevo?", + "Sell a name from your dashboard →": "Vender un nombre desde tu panel →", + "Register a new name": "Registrar un nombre nuevo" } diff --git a/i18n/fr.json b/i18n/fr.json index 535eea1..e170095 100644 --- a/i18n/fr.json +++ b/i18n/fr.json @@ -585,5 +585,9 @@ "Request declined": "Demande refusée", "Open dashboard →": "Ouvrir le tableau de bord →", "incl.": "dont", - "sat unconfirmed · spendable now": "sat non confirmés · disponibles maintenant" + "sat unconfirmed · spendable now": "sat non confirmés · disponibles maintenant", + "Nothing is for sale right now": "Rien n'est à vendre pour l'instant", + "Names go on sale when their owners list them from the dashboard. Have one to sell, or want a fresh one instead?": "Les noms sont mis en vente lorsque leurs propriétaires les listent depuis le tableau de bord. Vous en avez un à vendre, ou vous en voulez un tout neuf ?", + "Sell a name from your dashboard →": "Vendre un nom depuis le tableau de bord →", + "Register a new name": "Enregistrer un nouveau nom" } diff --git a/i18n/pt.json b/i18n/pt.json index 54f6528..c5c7bc1 100644 --- a/i18n/pt.json +++ b/i18n/pt.json @@ -585,5 +585,9 @@ "Request declined": "Pedido recusado", "Open dashboard →": "Abrir painel →", "incl.": "incl.", - "sat unconfirmed · spendable now": "sat por confirmar · disponíveis já" + "sat unconfirmed · spendable now": "sat por confirmar · disponíveis já", + "Nothing is for sale right now": "De momento não há nada à venda", + "Names go on sale when their owners list them from the dashboard. Have one to sell, or want a fresh one instead?": "Os nomes são postos à venda quando os donos os anunciam a partir do painel. Tem um para vender, ou prefere um novo?", + "Sell a name from your dashboard →": "Vender um nome a partir do painel →", + "Register a new name": "Registar um nome novo" } diff --git a/i18n/ru.json b/i18n/ru.json index b6afd35..0a2eab7 100644 --- a/i18n/ru.json +++ b/i18n/ru.json @@ -585,5 +585,9 @@ "Request declined": "Запрос отклонён", "Open dashboard →": "Открыть панель →", "incl.": "вкл.", - "sat unconfirmed · spendable now": "сат не подтверждено · доступно сейчас" + "sat unconfirmed · spendable now": "сат не подтверждено · доступно сейчас", + "Nothing is for sale right now": "Сейчас ничего не продаётся", + "Names go on sale when their owners list them from the dashboard. Have one to sell, or want a fresh one instead?": "Имена появляются в продаже, когда владельцы выставляют их из панели. Есть что продать — или лучше зарегистрировать новое?", + "Sell a name from your dashboard →": "Продать имя из панели →", + "Register a new name": "Зарегистрировать новое имя" } diff --git a/index.html b/index.html index 34fc464..5247676 100644 --- a/index.html +++ b/index.html @@ -130,7 +130,7 @@ .verify dd{margin:2px 0 0;font-family:ui-monospace,monospace;font-size:12.5px;word-break:break-all;color:var(--ink)} footer{border-top:1px solid var(--line);padding:2.4rem 0 3.5rem;color:var(--dim);font-size:13px;text-align:center;margin-top:2.5rem} - + @@ -515,6 +515,6 @@ process.exit(0);" - + diff --git a/js/i18n.js b/js/i18n.js index 321220f..8293994 100644 --- a/js/i18n.js +++ b/js/i18n.js @@ -22,7 +22,7 @@ (function () { var STORE = "sirius-lang"; var CACHE = "sirius-i18n:"; - var VERSION = "20260917i"; // bump when dictionaries change + var VERSION = "20260920a"; // bump when dictionaries change var LANGS = { en: "English", de: "Deutsch", diff --git a/js/market.js b/js/market.js index 2afe6ec..d83c98b 100644 --- a/js/market.js +++ b/js/market.js @@ -54,7 +54,18 @@ function render() { rows.sort((a, b) => sort === "name" ? a.name.localeCompare(b.name) : sort === "new" ? Date.parse(b.created_at) - Date.parse(a.created_at) : Number(a.price_sats) - Number(b.price_sats)); $("count").textContent = `${rows.length} of ${listings.length}`; const status = $("status"); - if (!listings.length) { status.className = "status"; status.textContent = "Nothing is for sale right now. Owners list names from their dashboard."; $("list").innerHTML = ""; return; } + document.querySelector(".toolbar").hidden = !listings.length; + if (!listings.length) { + status.hidden = true; + $("list").innerHTML = `
+
🛒
+

Nothing is for sale right now

+

Names go on sale when their owners list them from the dashboard. Have one to sell, or want a fresh one instead?

+
Sell a name from your dashboard →Register a new name
+
`; + return; + } + status.hidden = false; status.className = "status"; status.textContent = `${listings.length} name${listings.length === 1 ? "" : "s"} for sale. Prices are set by the sellers; you pay the price plus about 1,300 sat of chain dust and fee.`; $("list").innerHTML = rows.length ? rows.map((l) => `
diff --git a/js/profile-menu.js b/js/profile-menu.js index 10229c9..5c63000 100644 --- a/js/profile-menu.js +++ b/js/profile-menu.js @@ -247,6 +247,17 @@ s.id = "profile-menu-css"; s.textContent = ` .topnav .profile-wrap{position:relative;margin-left:auto} + /* Phones: the bar was wrapping into four rows. Drop the font-comparison + pill, tighten link padding, and shrink the two buttons. */ + @media (max-width:640px){ + .topnav{padding:8px 10px;gap:0} + .topnav .font-picker{display:none !important} + .topnav > a{padding:5px 8px;font-size:13px} + .topnav .brand{margin-right:6px} + .topnav .dash-link{padding:5px 9px;font-size:12.5px} + .topnav .profile-wrap button.portal{padding:5px 9px;font-size:12.5px} + .topnav .profile-wrap .wallet-label{max-width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} + } .topnav .dash-link{margin-left:auto;display:inline-flex;align-items:center;gap:6px; padding:6px 12px;border-radius:999px;font-size:13.5px;font-weight:500;text-decoration:none; color:var(--ink,#f1f4fa);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12)} diff --git a/market.html b/market.html index 1918058..7f9f049 100644 --- a/market.html +++ b/market.html @@ -48,6 +48,13 @@ .btn:disabled{opacity:.45;cursor:not-allowed} .badge{display:inline-block;font-size:11px;padding:2px 9px;border-radius:999px;font-weight:600;background:rgba(214,255,61,.14);color:var(--acid)} .empty{padding:28px;text-align:center;color:var(--mut);border:1px dashed var(--line);border-radius:12px;margin-top:10px} + .empty.big{padding:40px 24px;border-style:solid;background:var(--panel2)} + .empty.big .ico{font-size:34px;line-height:1;opacity:.8} + .empty.big h3{margin:.6rem 0 .3rem;font-family:var(--serif);font-size:1.25rem;color:var(--ink)} + .empty.big p{margin:0 auto;max-width:460px;font-size:14px} + .empty.big .cta{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px} + .toolbar[hidden],.status[hidden]{display:none} + @media (max-width:560px){.row > div:nth-child(3){grid-column:1/-1}.row > div:nth-child(3) .btn{width:100%;justify-content:center}} .note{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--acid);border-radius:10px;padding:14px 18px;color:var(--mut);font-size:14px;margin-top:1.6rem} .note b{color:var(--ink)} /* buy dialog */ @@ -67,7 +74,7 @@ footer{border-top:1px solid var(--line);padding:2rem 0 3rem;color:var(--dim);font-size:13px;text-align:center;margin-top:2.5rem} @media (max-width:560px){.row{grid-template-columns:1fr auto}.row .price{grid-column:1/-1;text-align:left}} - +