fix(sirius-x): dashboard uses wide screens; Dashboard button always in the header
The dashboard was capped at 1200px with single-column lists, so a 1920px display showed a narrow strip of cards. Above 1280px it now widens to 1720px with a 260px sidebar, name/TLD lists become card grids (auto-fill, 360-400px columns), and Settings and TLD detail lay their cards out in two or three columns. Narrow screens are unchanged. The header Dashboard button was hidden until sign-in, which left new visitors with no obvious way in; it is now always shown and lands on the portal's sign-in when signed out. Also closes a Settings-pane markup bug: the Wallet card ended one div early, which pushed the "Reading, language & help" and "This device" cards outside the pane so they appeared under every other pane.
This commit is contained in:
parent
9351045f45
commit
87c70d745e
6 changed files with 32 additions and 16 deletions
|
|
@ -529,6 +529,6 @@ process.exit(0);"</pre>
|
|||
<script src="../js/pricing.js?v=20260917market"></script>
|
||||
<script defer src="../js/site-footer.js?v=20260917market"></script>
|
||||
<script defer src="../js/theme.js?v=20260910font"></script>
|
||||
<script defer src="../js/profile-menu.js?v=20260917dash"></script>
|
||||
<script defer src="../js/profile-menu.js?v=20260917wide"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -515,6 +515,6 @@ process.exit(0);"</pre>
|
|||
<script src="./js/pin-escrow.js?v=20260909pin"></script>
|
||||
<script defer src="./js/theme.js?v=20260910font"></script>
|
||||
<script defer src="./js/site-footer.js?v=20260917market"></script>
|
||||
<script defer src="./js/profile-menu.js?v=20260917dash"></script>
|
||||
<script defer src="./js/profile-menu.js?v=20260917wide"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -37,14 +37,13 @@
|
|||
menu.className = "profile-menu";
|
||||
menu.setAttribute("role", "menu");
|
||||
menu.hidden = true;
|
||||
// Header "Dashboard" button — sits left of the wallet pill while signed in
|
||||
// and is the one way into names, TLDs, the web-builder and (for the
|
||||
// operator) the admin panel.
|
||||
// Header "Dashboard" button — sits left of the wallet pill and is the one
|
||||
// way into names, TLDs, the web-builder and (for the operator) the admin
|
||||
// panel. Always visible: signed out it lands on the portal's sign-in.
|
||||
const dash = document.createElement("a");
|
||||
dash.className = "dash-link" + (/\/portal\.html(?:$|[?#])/.test(location.pathname) ? " here" : "");
|
||||
dash.href = PORTAL_URL;
|
||||
dash.innerHTML = `<span aria-hidden="true">▦</span> Dashboard`;
|
||||
dash.hidden = true;
|
||||
const readWalletInfo = () => {
|
||||
try { return JSON.parse(localStorage.getItem("siriusWalletInfo") || "null"); } catch { return null; }
|
||||
};
|
||||
|
|
@ -100,9 +99,7 @@
|
|||
<span class="mi-body"><b>Sign out</b><span class="mi-hint">clear this browser</span></span>
|
||||
</a>
|
||||
`;
|
||||
dash.hidden = false;
|
||||
} else {
|
||||
dash.hidden = true;
|
||||
const dot = `<span class="wallet-dot" aria-hidden="true"></span>`;
|
||||
btn.innerHTML = `${dot}<span class="wallet-label">Wallet</span><span class="wallet-caret" aria-hidden="true">▾</span>`;
|
||||
btn.setAttribute("aria-label", "Wallet — not signed in");
|
||||
|
|
|
|||
|
|
@ -125,6 +125,6 @@
|
|||
<script type="module" src="./js/market.js?v=20260917market"></script>
|
||||
<script defer src="./js/theme.js?v=20260910font"></script>
|
||||
<script defer src="./js/site-footer.js?v=20260917market"></script>
|
||||
<script defer src="./js/profile-menu.js?v=20260917dash"></script>
|
||||
<script defer src="./js/profile-menu.js?v=20260917wide"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
31
portal.html
31
portal.html
|
|
@ -110,6 +110,26 @@
|
|||
|
||||
/* ---------- dashboard shell ---------- */
|
||||
.dash{display:grid;grid-template-columns:236px minmax(0,1fr);gap:26px;max-width:1200px;margin:0 auto;padding:1.4rem 1.2rem 3rem}
|
||||
/* wide screens: let the dashboard use the width — wider sidebar, card
|
||||
grids for the lists, two-column settings / TLD detail. Text blocks keep
|
||||
a readable measure via .ph p max-width. */
|
||||
@media (min-width:1280px){
|
||||
.dash{max-width:1720px;grid-template-columns:260px minmax(0,1fr);gap:34px;padding:1.6rem 2rem 3rem}
|
||||
.list.cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:10px;margin-top:8px}
|
||||
.list.cols .drow{margin-top:0;align-content:start}
|
||||
.list.cols > .empty,.list.cols > .status{grid-column:1/-1}
|
||||
.grid2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
|
||||
.pane[data-pane="settings"]:not([hidden]),.pane[data-pane="tld"]:not([hidden]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-content:start}
|
||||
.pane[data-pane="settings"] > .ph,.pane[data-pane="tld"] > .crumbs,.pane[data-pane="tld"] > .dhead,.pane[data-pane="tld"] > .msg,.pane[data-pane="tld"] > .grid2{grid-column:1/-1}
|
||||
.pane[data-pane="settings"] > .card,.pane[data-pane="tld"] > .card{margin-top:0}
|
||||
.pane[data-pane="tld"] > .msg:empty{display:none}
|
||||
.pane[data-pane="domain"] .sub[data-sub="summary"] > .grid2{grid-template-columns:repeat(2,minmax(0,1fr))}
|
||||
.pane[data-pane="newtld"] .card{max-width:760px !important}
|
||||
}
|
||||
@media (min-width:1700px){
|
||||
.list.cols{grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}
|
||||
.pane[data-pane="settings"]:not([hidden]){grid-template-columns:repeat(3,minmax(0,1fr))}
|
||||
}
|
||||
.side{position:sticky;top:68px;align-self:start;display:flex;flex-direction:column;gap:4px}
|
||||
.side .who{padding:12px 14px;border-radius:12px;background:var(--panel);border:1px solid var(--line);margin-bottom:8px}
|
||||
.side .who .lbl{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
|
||||
|
|
@ -279,7 +299,7 @@
|
|||
<div class="ph"><div><h2>Web-Builder</h2><p>Sirius Studio builds a site for any name you hold: drag blocks, edit text, publish. Pages live in the name's own folder on Sia and the name points at them — no host, no renewal.</p></div>
|
||||
<div class="row" style="margin:0"><button class="btn ghost small" id="refresh-btn">↻ Refresh</button></div></div>
|
||||
<div class="status" id="studio-status">Loading names from the chain…</div>
|
||||
<div id="studio-list" class="list"></div>
|
||||
<div id="studio-list" class="list cols"></div>
|
||||
</div>
|
||||
|
||||
<!-- DOMAINS -->
|
||||
|
|
@ -294,7 +314,7 @@
|
|||
<span class="dim" id="dom-count"></span>
|
||||
</div>
|
||||
<div class="status" id="names-status">Loading names from the chain…</div>
|
||||
<div id="names-list" class="list"></div>
|
||||
<div id="names-list" class="list cols"></div>
|
||||
</div>
|
||||
|
||||
<!-- DOMAIN DETAIL -->
|
||||
|
|
@ -472,7 +492,7 @@
|
|||
<div class="ph"><div><h2>My TLDs</h2><p>Every per-TLD registry NFT this wallet holds. Set the price every name under a TLD sells for, switch it on or off (off = private: only you can register under it), and tune policy. Each change is one signed TUPD on chain; you receive 90% of every sale.</p></div>
|
||||
<button class="btn acid small" data-go="newtld">+ Register a TLD</button></div>
|
||||
<div class="status" id="tlds-status">Loading TLDs from the chain…</div>
|
||||
<div id="tlds-list" class="list"></div>
|
||||
<div id="tlds-list" class="list cols"></div>
|
||||
</div>
|
||||
|
||||
<!-- TLD DETAIL -->
|
||||
|
|
@ -511,7 +531,7 @@
|
|||
<div class="card">
|
||||
<h3>Names registered under this TLD</h3>
|
||||
<p class="hint">Everyone's registrations, from the public registry.</p>
|
||||
<div id="td-names" class="list"></div>
|
||||
<div id="td-names" class="list cols"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -560,7 +580,6 @@
|
|||
<a class="btn ghost small" href="https://chipnet.imaginary.cash/faucet" target="_blank" rel="noopener">Faucet 2 →</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="kv" style="margin-top:14px"><div class="k">Spendable</div><div class="v" id="w-sats">—</div><div class="k">UTXOs</div><div class="v" id="w-utxos">—</div><div class="k">Watched addresses</div><div class="v" id="w-watched">—</div><div class="k">Chain height</div><div class="v" id="stat-height">—</div></div>
|
||||
</div>
|
||||
<div class="card">
|
||||
|
|
@ -645,6 +664,6 @@
|
|||
<script defer src="./js/theme.js?v=20260910font"></script>
|
||||
<script defer src="./js/site-footer.js?v=20260917market"></script>
|
||||
<script type="module" src="./js/register-flow.js?v=20260917market"></script>
|
||||
<script defer src="./js/profile-menu.js?v=20260917dash"></script>
|
||||
<script defer src="./js/profile-menu.js?v=20260917wide"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
2
tld.html
2
tld.html
|
|
@ -308,6 +308,6 @@
|
|||
<script src="./js/pin-escrow.js?v=20260909pin"></script>
|
||||
<script defer src="./js/theme.js?v=20260910font"></script>
|
||||
<script defer src="./js/site-footer.js?v=20260917market"></script>
|
||||
<script defer src="./js/profile-menu.js?v=20260917dash"></script>
|
||||
<script defer src="./js/profile-menu.js?v=20260917wide"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue