site-sirius-x: same side-nav + trimmed topnav on every sub-page
Every Sirius.X sub-page carried the old header shape — "Try it" and
"Register" living in the topnav next to the cross-site tabs — so
clicking Market or TLD reset the layout back to a state the index no
longer used. Rewrote each topnav to the site-only tabs (Sirius.X · TLD
· Market · Theseus.X · Sign in) and appended ".X" to the Theseus tab
so the ecosystem naming is consistent across pages.
Added the overlay side-nav to every page that carries named sections:
tld.html — Search · Registered
theseus/ — Download · How · Verify
docs/ — TLD registry · Register · Private TLDs ·
Market · Records · Signed records
admin/ — Sign in · Session · Mint TLD · Registry
brand/ — Logo · Avatar · Banner · Palette · Typography ·
Usage (section IDs added — the h2s were unnamed)
Same shape as the index and as Theseus.X: pointer-events:none overlay,
opacity 0.35 by default, ink + blurred backdrop on hover, acid green
on the active section, IntersectionObserver scroll-spy. Icon rail on
medium, bottom bar on mobile.
Pages without meaningful anchor targets (market/, portal.html,
studio.html, register.html) keep the trimmed topnav but no sidebar —
adding an empty rail would just be noise.
This commit is contained in:
parent
efdba29d4a
commit
668855cebd
8 changed files with 2040 additions and 1760 deletions
|
|
@ -31,6 +31,41 @@
|
|||
.topnav a.here{color:var(--acid);background:rgba(214,255,61,.08)}
|
||||
.topnav a.portal{margin-left:auto;background:rgba(214,255,61,.10);color:var(--acid);font-weight:500}
|
||||
.topnav a.portal:hover{background:rgba(214,255,61,.18)}
|
||||
|
||||
/* Adaptive side nav — same shape as index.html and Theseus.X */
|
||||
:root{--sn-w:200px}
|
||||
.sidenav{position:fixed;top:56px;left:0;bottom:0;width:var(--sn-w);z-index:15;
|
||||
background:transparent;padding:32px 12px 22px 18px;
|
||||
overflow-y:auto;pointer-events:none;transition:width .15s ease}
|
||||
.sidenav a{display:flex;align-items:center;gap:14px;color:var(--mut);text-decoration:none;
|
||||
padding:9px 12px;border-radius:10px;
|
||||
font-size:14.5px;font-weight:500;opacity:.35;pointer-events:auto;
|
||||
transition:opacity .12s,color .12s,background .12s,backdrop-filter .12s}
|
||||
.sidenav a .ic{flex:none;width:22px;font-size:18px;line-height:1;text-align:center;
|
||||
display:none;justify-content:center;align-items:center}
|
||||
.sidenav a .lb{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
||||
.sidenav a:hover{opacity:1;color:var(--ink);background:rgba(11,14,20,.72);backdrop-filter:blur(8px)}
|
||||
.sidenav a.active{opacity:.85;color:var(--acid)}
|
||||
.sidenav a.active:hover{opacity:1}
|
||||
section{scroll-margin-top:70px}
|
||||
@media (max-width:1180px){
|
||||
:root{--sn-w:64px}
|
||||
.sidenav{padding:22px 6px}
|
||||
.sidenav a{justify-content:center;padding:12px 4px;gap:0}
|
||||
.sidenav a .ic{display:inline-flex}
|
||||
.sidenav a .lb{display:none}
|
||||
}
|
||||
@media (max-width:720px){
|
||||
:root{--sn-w:0}
|
||||
body{padding-bottom:64px}
|
||||
.sidenav{top:auto;bottom:0;left:0;right:0;width:100%;height:auto;
|
||||
padding:4px;flex-direction:row;background:rgba(11,14,20,.52);
|
||||
display:flex;justify-content:space-around;overflow-x:auto}
|
||||
.sidenav a{flex:1;min-width:56px;padding:10px 6px;justify-content:center;gap:0;opacity:.5}
|
||||
.sidenav a .ic{display:inline-flex}
|
||||
.sidenav a .lb{display:none}
|
||||
}
|
||||
|
||||
header.hero{text-align:center;padding:2.8rem 1.2rem 1rem}
|
||||
.mark{font-size:40px;line-height:1}
|
||||
h1{font-size:clamp(1.5rem,4vw,2rem);margin:.3rem 0 .3rem}
|
||||
|
|
@ -94,14 +129,19 @@
|
|||
|
||||
<nav class="topnav">
|
||||
<a class="brand" href="../"><svg width="18" height="18" viewBox="0 0 64 64" style="vertical-align:-4px;margin-right:6px" aria-hidden="true"><rect width="64" height="64" rx="12" fill="#0b0e14"/><path d="M32 4 L36.4 27.6 L60 32 L36.4 36.4 L32 60 L27.6 36.4 L4 32 L27.6 27.6 Z" fill="#d6ff3d"/></svg><span class="g">Sirius.X</span></a>
|
||||
<a href="../#try">Try it</a>
|
||||
<a href="../#search-input">✏️ Register</a>
|
||||
<a href="../tld.html">🌐 TLD</a>
|
||||
<a href="../theseus/"><svg width="14" height="14" viewBox="0 0 64 64" style="vertical-align:-2px;margin-right:4px" aria-hidden="true"><rect width="64" height="64" rx="12" fill="#0b0e14"/><path d="M32 6 L38 32 L26 32 Z" fill="#e04e4e"/><path d="M38 32 L32 58 L26 32 Z" fill="#d6ff3d"/><circle cx="32" cy="32" r="3" fill="#0b0e14"/></svg>Theseus</a>
|
||||
<a href="../theseus/"><svg width="14" height="14" viewBox="0 0 64 64" style="vertical-align:-2px;margin-right:4px" aria-hidden="true"><rect width="64" height="64" rx="12" fill="#0b0e14"/><path d="M32 6 L38 32 L26 32 Z" fill="#e04e4e"/><path d="M38 32 L32 58 L26 32 Z" fill="#d6ff3d"/><circle cx="32" cy="32" r="3" fill="#0b0e14"/></svg>Theseus<span class="g">.X</span></a>
|
||||
<a href="./" class="here">🛠 Admin</a>
|
||||
<a href="../portal.html" class="portal">🔑 Sign in</a>
|
||||
</nav>
|
||||
|
||||
<aside class="sidenav" aria-label="On this page">
|
||||
<a href="#signin" title="Sign in" ><span class="ic" aria-hidden="true">🔑</span><span class="lb">Sign in</span></a>
|
||||
<a href="#me" title="Signed in" ><span class="ic" aria-hidden="true">👤</span><span class="lb">Session</span></a>
|
||||
<a href="#mint" title="Mint a new TLD" ><span class="ic" aria-hidden="true">✏️</span><span class="lb">Mint TLD</span></a>
|
||||
<a href="#registry" title="TLD registry" ><span class="ic" aria-hidden="true">📋</span><span class="lb">Registry</span></a>
|
||||
</aside>
|
||||
|
||||
<header class="hero">
|
||||
<div class="mark">🛠</div>
|
||||
<h1><span class="g">Admin</span> panel</h1>
|
||||
|
|
@ -390,5 +430,22 @@ $("mint-btn").addEventListener("click", async () => {
|
|||
<script defer src="../js/site-footer.js?v=20260907rel"></script>
|
||||
<script defer src="../js/theme.js?v=20260920compact"></script>
|
||||
<script defer src="../js/profile-menu.js?v=20260908tabs"></script>
|
||||
<script>
|
||||
(() => {
|
||||
const links = document.querySelectorAll(".sidenav a[href^='#']");
|
||||
if (!links.length) return;
|
||||
const map = new Map();
|
||||
links.forEach((a) => { const el = document.querySelector(a.getAttribute("href")); if (el) map.set(el, a); });
|
||||
const io = new IntersectionObserver((entries) => {
|
||||
entries.forEach((en) => {
|
||||
if (!en.isIntersecting) return;
|
||||
const a = map.get(en.target); if (!a) return;
|
||||
links.forEach((l) => l.classList.remove("active"));
|
||||
a.classList.add("active");
|
||||
});
|
||||
}, { rootMargin: "-40% 0px -55% 0px", threshold: 0 });
|
||||
map.forEach((_, el) => io.observe(el));
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -36,6 +36,41 @@
|
|||
.topnav a.here{color:var(--acid);background:rgba(214,255,61,.08)}
|
||||
.topnav a.portal{margin-left:auto;background:rgba(214,255,61,.10);color:var(--acid);font-weight:500}
|
||||
.topnav a.portal:hover{background:rgba(214,255,61,.18)}
|
||||
|
||||
/* Adaptive side nav — same shape as index.html and Theseus.X */
|
||||
:root{--sn-w:200px}
|
||||
.sidenav{position:fixed;top:56px;left:0;bottom:0;width:var(--sn-w);z-index:15;
|
||||
background:transparent;padding:32px 12px 22px 18px;
|
||||
overflow-y:auto;pointer-events:none;transition:width .15s ease}
|
||||
.sidenav a{display:flex;align-items:center;gap:14px;color:var(--mut);text-decoration:none;
|
||||
padding:9px 12px;border-radius:10px;
|
||||
font-size:14.5px;font-weight:500;opacity:.35;pointer-events:auto;
|
||||
transition:opacity .12s,color .12s,background .12s,backdrop-filter .12s}
|
||||
.sidenav a .ic{flex:none;width:22px;font-size:18px;line-height:1;text-align:center;
|
||||
display:none;justify-content:center;align-items:center}
|
||||
.sidenav a .lb{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
||||
.sidenav a:hover{opacity:1;color:var(--ink);background:rgba(11,14,20,.72);backdrop-filter:blur(8px)}
|
||||
.sidenav a.active{opacity:.85;color:var(--acid)}
|
||||
.sidenav a.active:hover{opacity:1}
|
||||
section{scroll-margin-top:70px}
|
||||
@media (max-width:1180px){
|
||||
:root{--sn-w:64px}
|
||||
.sidenav{padding:22px 6px}
|
||||
.sidenav a{justify-content:center;padding:12px 4px;gap:0}
|
||||
.sidenav a .ic{display:inline-flex}
|
||||
.sidenav a .lb{display:none}
|
||||
}
|
||||
@media (max-width:720px){
|
||||
:root{--sn-w:0}
|
||||
body{padding-bottom:64px}
|
||||
.sidenav{top:auto;bottom:0;left:0;right:0;width:100%;height:auto;
|
||||
padding:4px;flex-direction:row;background:rgba(11,14,20,.52);
|
||||
display:flex;justify-content:space-around;overflow-x:auto}
|
||||
.sidenav a{flex:1;min-width:56px;padding:10px 6px;justify-content:center;gap:0;opacity:.5}
|
||||
.sidenav a .ic{display:inline-flex}
|
||||
.sidenav a .lb{display:none}
|
||||
}
|
||||
|
||||
header.hero{text-align:center;padding:3.5rem 1.2rem 1rem}
|
||||
.mark{font-size:44px;line-height:1}
|
||||
h1{font-size:clamp(1.7rem,4.6vw,2.3rem);margin:.3rem 0 .3rem}
|
||||
|
|
@ -93,13 +128,20 @@
|
|||
|
||||
<nav class="topnav">
|
||||
<a class="brand" href="../"><svg width="18" height="18" viewBox="0 0 64 64" style="vertical-align:-4px;margin-right:6px" aria-hidden="true"><rect width="64" height="64" rx="12" fill="#0b0e14"/><path d="M32 4 L36.4 27.6 L60 32 L36.4 36.4 L32 60 L27.6 36.4 L4 32 L27.6 27.6 Z" fill="#d6ff3d"/></svg><span class="g">Sirius.X</span></a>
|
||||
<a href="../#try">Try it</a>
|
||||
<a href="../#search-input">✏️ Register</a>
|
||||
<a href="../tld.html">🌐 TLD</a>
|
||||
<a href="../theseus/"><svg width="14" height="14" viewBox="0 0 64 64" style="vertical-align:-2px;margin-right:4px" aria-hidden="true"><rect width="64" height="64" rx="12" fill="#0b0e14"/><path d="M32 6 L38 32 L26 32 Z" fill="#e04e4e"/><path d="M38 32 L32 58 L26 32 Z" fill="#d6ff3d"/><circle cx="32" cy="32" r="3" fill="#0b0e14"/></svg>Theseus</a>
|
||||
<a href="../theseus/"><svg width="14" height="14" viewBox="0 0 64 64" style="vertical-align:-2px;margin-right:4px" aria-hidden="true"><rect width="64" height="64" rx="12" fill="#0b0e14"/><path d="M32 6 L38 32 L26 32 Z" fill="#e04e4e"/><path d="M38 32 L32 58 L26 32 Z" fill="#d6ff3d"/><circle cx="32" cy="32" r="3" fill="#0b0e14"/></svg>Theseus<span class="g">.X</span></a>
|
||||
<a href="../portal.html" class="portal">🔑 Sign in</a>
|
||||
</nav>
|
||||
|
||||
<aside class="sidenav" aria-label="On this page">
|
||||
<a href="#logo" title="Logo & wordmark" ><span class="ic" aria-hidden="true">✦</span><span class="lb">Logo</span></a>
|
||||
<a href="#avatar" title="Avatar & favicon" ><span class="ic" aria-hidden="true">🎭</span><span class="lb">Avatar</span></a>
|
||||
<a href="#banner" title="Social banner" ><span class="ic" aria-hidden="true">🖼</span><span class="lb">Banner</span></a>
|
||||
<a href="#palette" title="Colour palette" ><span class="ic" aria-hidden="true">🎨</span><span class="lb">Palette</span></a>
|
||||
<a href="#typography" title="Typography" ><span class="ic" aria-hidden="true">🅰️</span><span class="lb">Typography</span></a>
|
||||
<a href="#usage" title="Usage & licence" ><span class="ic" aria-hidden="true">📜</span><span class="lb">Usage</span></a>
|
||||
</aside>
|
||||
|
||||
<header class="hero">
|
||||
<div class="mark">🎨</div>
|
||||
<h1>Sirius.X <span class="g">brand kit</span></h1>
|
||||
|
|
@ -110,7 +152,7 @@
|
|||
|
||||
<div class="wrap">
|
||||
|
||||
<section>
|
||||
<section id="logo">
|
||||
<h2>Logo & wordmark</h2>
|
||||
<p class="lede">A 4-point sparkle star plus <b>Sirius.X</b>, with the <code>.x</code> TLD picked out
|
||||
in acid green. The star alone works when you have no room for the wordmark; the full lockup is
|
||||
|
|
@ -138,7 +180,7 @@
|
|||
</div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<section id="avatar">
|
||||
<h2>Avatar & favicon</h2>
|
||||
<p class="lede">Square icons for social profiles, Nostr, GitHub, and browser tabs.</p>
|
||||
<div class="grid">
|
||||
|
|
@ -165,7 +207,7 @@
|
|||
</div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<section id="banner">
|
||||
<h2>Social banner</h2>
|
||||
<p class="lede">1200×630 (OpenGraph / Twitter Card canonical). Composition survives aggressive
|
||||
centre-cropping — the star and tagline both stay visible even after Facebook and Discord chop
|
||||
|
|
@ -179,7 +221,7 @@
|
|||
</div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<section id="palette">
|
||||
<h2>Colour palette</h2>
|
||||
<p class="lede">Silent Mode family colours. Dark chromes are the default; acid green is the
|
||||
single accent that consistently signals "this is Sirius.X".</p>
|
||||
|
|
@ -197,7 +239,7 @@
|
|||
</div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<section id="typography">
|
||||
<h2>Typography</h2>
|
||||
<p class="lede">System font stack, so nothing needs to load and every OS renders the wordmark in
|
||||
the same family the reader is used to.</p>
|
||||
|
|
@ -213,7 +255,7 @@
|
|||
path (it's a mark, not a generic asterisk).</div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<section id="usage">
|
||||
<h2>Usage & licence</h2>
|
||||
<p class="lede">All assets are MIT. Reuse them for third-party tools that integrate with Sirius.X
|
||||
(wallets, indexers, explorers, blog posts about BCNR). Keep the star's proportions intact and
|
||||
|
|
@ -236,5 +278,22 @@
|
|||
<script defer src="../js/site-footer.js?v=20260907rel"></script>
|
||||
<script defer src="../js/theme.js?v=20260920compact"></script>
|
||||
<script defer src="../js/profile-menu.js?v=20260908tabs"></script>
|
||||
<script>
|
||||
(() => {
|
||||
const links = document.querySelectorAll(".sidenav a[href^='#']");
|
||||
if (!links.length) return;
|
||||
const map = new Map();
|
||||
links.forEach((a) => { const el = document.querySelector(a.getAttribute("href")); if (el) map.set(el, a); });
|
||||
const io = new IntersectionObserver((entries) => {
|
||||
entries.forEach((en) => {
|
||||
if (!en.isIntersecting) return;
|
||||
const a = map.get(en.target); if (!a) return;
|
||||
links.forEach((l) => l.classList.remove("active"));
|
||||
a.classList.add("active");
|
||||
});
|
||||
}, { rootMargin: "-40% 0px -55% 0px", threshold: 0 });
|
||||
map.forEach((_, el) => io.observe(el));
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -38,6 +38,41 @@
|
|||
.topnav a.here{color:var(--acid);background:rgba(214,255,61,.08)}
|
||||
.topnav a.portal{margin-left:auto;background:rgba(214,255,61,.10);color:var(--acid);font-weight:500}
|
||||
.topnav a.portal:hover{background:rgba(214,255,61,.18)}
|
||||
|
||||
/* Adaptive side nav — same shape as index.html and Theseus.X */
|
||||
:root{--sn-w:200px}
|
||||
.sidenav{position:fixed;top:56px;left:0;bottom:0;width:var(--sn-w);z-index:15;
|
||||
background:transparent;padding:32px 12px 22px 18px;
|
||||
overflow-y:auto;pointer-events:none;transition:width .15s ease}
|
||||
.sidenav a{display:flex;align-items:center;gap:14px;color:var(--mut);text-decoration:none;
|
||||
padding:9px 12px;border-radius:10px;
|
||||
font-size:14.5px;font-weight:500;opacity:.35;pointer-events:auto;
|
||||
transition:opacity .12s,color .12s,background .12s,backdrop-filter .12s}
|
||||
.sidenav a .ic{flex:none;width:22px;font-size:18px;line-height:1;text-align:center;
|
||||
display:none;justify-content:center;align-items:center}
|
||||
.sidenav a .lb{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
||||
.sidenav a:hover{opacity:1;color:var(--ink);background:rgba(11,14,20,.72);backdrop-filter:blur(8px)}
|
||||
.sidenav a.active{opacity:.85;color:var(--acid)}
|
||||
.sidenav a.active:hover{opacity:1}
|
||||
section{scroll-margin-top:70px}
|
||||
@media (max-width:1180px){
|
||||
:root{--sn-w:64px}
|
||||
.sidenav{padding:22px 6px}
|
||||
.sidenav a{justify-content:center;padding:12px 4px;gap:0}
|
||||
.sidenav a .ic{display:inline-flex}
|
||||
.sidenav a .lb{display:none}
|
||||
}
|
||||
@media (max-width:720px){
|
||||
:root{--sn-w:0}
|
||||
body{padding-bottom:64px}
|
||||
.sidenav{top:auto;bottom:0;left:0;right:0;width:100%;height:auto;
|
||||
padding:4px;flex-direction:row;background:rgba(11,14,20,.52);
|
||||
display:flex;justify-content:space-around;overflow-x:auto}
|
||||
.sidenav a{flex:1;min-width:56px;padding:10px 6px;justify-content:center;gap:0;opacity:.5}
|
||||
.sidenav a .ic{display:inline-flex}
|
||||
.sidenav a .lb{display:none}
|
||||
}
|
||||
|
||||
header.hero{text-align:center;padding:4rem 1.2rem 1rem}
|
||||
.mark{font-size:52px;line-height:1}
|
||||
h1{font-size:clamp(1.8rem,4.8vw,2.5rem);margin:.4rem 0 .3rem}
|
||||
|
|
@ -98,14 +133,21 @@
|
|||
|
||||
<nav class="topnav">
|
||||
<a class="brand" href="../"><svg width="18" height="18" viewBox="0 0 64 64" style="vertical-align:-4px;margin-right:6px" aria-hidden="true"><rect width="64" height="64" rx="12" fill="#0b0e14"/><path d="M32 4 L36.4 27.6 L60 32 L36.4 36.4 L32 60 L27.6 36.4 L4 32 L27.6 27.6 Z" fill="#d6ff3d"/></svg><span class="g">Sirius.X</span></a>
|
||||
<a href="../#try">Try it</a>
|
||||
<a href="../#search-input">✏️ Register</a>
|
||||
<a href="../tld.html">🌐 TLD</a>
|
||||
<a href="../market/">🛒 Market</a>
|
||||
<a href="../theseus/"><svg width="14" height="14" viewBox="0 0 64 64" style="vertical-align:-2px;margin-right:4px" aria-hidden="true"><rect width="64" height="64" rx="12" fill="#0b0e14"/><path d="M32 6 L38 32 L26 32 Z" fill="#e04e4e"/><path d="M38 32 L32 58 L26 32 Z" fill="#d6ff3d"/><path d="M6 32 L32 27 L58 32 L32 37 Z" fill="#d6ff3d" opacity=".55"/><circle cx="32" cy="32" r="3" fill="#0b0e14"/></svg>Theseus</a>
|
||||
<a href="../theseus/"><svg width="14" height="14" viewBox="0 0 64 64" style="vertical-align:-2px;margin-right:4px" aria-hidden="true"><rect width="64" height="64" rx="12" fill="#0b0e14"/><path d="M32 6 L38 32 L26 32 Z" fill="#e04e4e"/><path d="M38 32 L32 58 L26 32 Z" fill="#d6ff3d"/><path d="M6 32 L32 27 L58 32 L32 37 Z" fill="#d6ff3d" opacity=".55"/><circle cx="32" cy="32" r="3" fill="#0b0e14"/></svg>Theseus<span class="g">.X</span></a>
|
||||
<a href="../portal.html" class="portal">🔑 Sign in</a>
|
||||
</nav>
|
||||
|
||||
<aside class="sidenav" aria-label="On this page">
|
||||
<a href="#tld-registry" title="The TLD registry" ><span class="ic" aria-hidden="true">🌐</span><span class="lb">TLD registry</span></a>
|
||||
<a href="#register-name" title="Register a name" ><span class="ic" aria-hidden="true">✏️</span><span class="lb">Register a name</span></a>
|
||||
<a href="#private-tlds" title="Private & co-sign TLDs" ><span class="ic" aria-hidden="true">🔒</span><span class="lb">Private TLDs</span></a>
|
||||
<a href="#market" title="Buying & selling names" ><span class="ic" aria-hidden="true">🛒</span><span class="lb">Market</span></a>
|
||||
<a href="#records" title="Records & hosting" ><span class="ic" aria-hidden="true">📋</span><span class="lb">Records</span></a>
|
||||
<a href="#signed-records" title="Signed records" ><span class="ic" aria-hidden="true">🔐</span><span class="lb">Signed records</span></a>
|
||||
</aside>
|
||||
|
||||
<header class="hero">
|
||||
<div class="mark">📚</div>
|
||||
<h1>Sirius.X <span class="g">docs</span></h1>
|
||||
|
|
@ -608,5 +650,22 @@ process.exit(0);"</pre>
|
|||
<script defer src="../js/site-footer.js?v=20260917market"></script>
|
||||
<script defer src="../js/theme.js?v=20260920compact"></script>
|
||||
<script defer src="../js/profile-menu.js?v=20260920bits"></script>
|
||||
<script>
|
||||
(() => {
|
||||
const links = document.querySelectorAll(".sidenav a[href^='#']");
|
||||
if (!links.length) return;
|
||||
const map = new Map();
|
||||
links.forEach((a) => { const el = document.querySelector(a.getAttribute("href")); if (el) map.set(el, a); });
|
||||
const io = new IntersectionObserver((entries) => {
|
||||
entries.forEach((en) => {
|
||||
if (!en.isIntersecting) return;
|
||||
const a = map.get(en.target); if (!a) return;
|
||||
links.forEach((l) => l.classList.remove("active"));
|
||||
a.classList.add("active");
|
||||
});
|
||||
}, { rootMargin: "-40% 0px -55% 0px", threshold: 0 });
|
||||
map.forEach((_, el) => io.observe(el));
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -102,11 +102,9 @@
|
|||
<body>
|
||||
<nav class="topnav">
|
||||
<a class="brand" href="../"><svg width="18" height="18" viewBox="0 0 64 64" style="vertical-align:-4px;margin-right:6px" aria-hidden="true"><rect width="64" height="64" rx="12" fill="#0b0e14"/><path d="M32 4 L36.4 27.6 L60 32 L36.4 36.4 L32 60 L27.6 36.4 L4 32 L27.6 27.6 Z" fill="#d6ff3d"/></svg><span class="g">Sirius.X</span></a>
|
||||
<a href="../#try">Try it</a>
|
||||
<a href="../#search-input">✏️ Register</a>
|
||||
<a href="../tld.html">🌐 TLD</a>
|
||||
<a href="./" class="here">🛒 Market</a>
|
||||
<a href="../theseus/"><svg width="14" height="14" viewBox="0 0 64 64" style="vertical-align:-2px;margin-right:4px" aria-hidden="true"><rect width="64" height="64" rx="12" fill="#0b0e14"/><path d="M32 6 L38 32 L26 32 Z" fill="#e04e4e"/><path d="M38 32 L32 58 L26 32 Z" fill="#d6ff3d"/><path d="M6 32 L32 27 L58 32 L32 37 Z" fill="#d6ff3d" opacity=".55"/><circle cx="32" cy="32" r="3" fill="#0b0e14"/></svg>Theseus</a>
|
||||
<a href="../theseus/"><svg width="14" height="14" viewBox="0 0 64 64" style="vertical-align:-2px;margin-right:4px" aria-hidden="true"><rect width="64" height="64" rx="12" fill="#0b0e14"/><path d="M32 6 L38 32 L26 32 Z" fill="#e04e4e"/><path d="M38 32 L32 58 L26 32 Z" fill="#d6ff3d"/><path d="M6 32 L32 27 L58 32 L32 37 Z" fill="#d6ff3d" opacity=".55"/><circle cx="32" cy="32" r="3" fill="#0b0e14"/></svg>Theseus<span class="g">.X</span></a>
|
||||
<a href="../portal.html" class="portal">🔑 Sign in</a>
|
||||
</nav>
|
||||
|
||||
|
|
|
|||
|
|
@ -265,11 +265,9 @@
|
|||
|
||||
<nav class="topnav">
|
||||
<a class="brand" href="./"><svg width="18" height="18" viewBox="0 0 64 64" style="vertical-align:-4px;margin-right:6px" aria-hidden="true"><rect width="64" height="64" rx="12" fill="#0b0e14"/><path d="M32 4 L36.4 27.6 L60 32 L36.4 36.4 L32 60 L27.6 36.4 L4 32 L27.6 27.6 Z" fill="#d6ff3d"/></svg><span class="g">Sirius.X</span></a>
|
||||
<a href="./#try">Try it</a>
|
||||
<a href="./#search-input">✏️ Register</a>
|
||||
<a href="./tld.html">🌐 TLD</a>
|
||||
<a href="./market">🛒 Market</a>
|
||||
<a href="./theseus"><svg width="14" height="14" viewBox="0 0 64 64" style="vertical-align:-2px;margin-right:4px" aria-hidden="true"><rect width="64" height="64" rx="12" fill="#0b0e14"/><path d="M32 6 L38 32 L26 32 Z" fill="#e04e4e"/><path d="M38 32 L32 58 L26 32 Z" fill="#d6ff3d"/><path d="M6 32 L32 27 L58 32 L32 37 Z" fill="#d6ff3d" opacity=".55"/><circle cx="32" cy="32" r="3" fill="#0b0e14"/></svg>Theseus</a>
|
||||
<a href="./theseus"><svg width="14" height="14" viewBox="0 0 64 64" style="vertical-align:-2px;margin-right:4px" aria-hidden="true"><rect width="64" height="64" rx="12" fill="#0b0e14"/><path d="M32 6 L38 32 L26 32 Z" fill="#e04e4e"/><path d="M38 32 L32 58 L26 32 Z" fill="#d6ff3d"/><path d="M6 32 L32 27 L58 32 L32 37 Z" fill="#d6ff3d" opacity=".55"/><circle cx="32" cy="32" r="3" fill="#0b0e14"/></svg>Theseus<span class="g">.X</span></a>
|
||||
<a href="./portal.html" class="portal here">🔑 Sign in</a>
|
||||
</nav>
|
||||
|
||||
|
|
|
|||
|
|
@ -205,8 +205,6 @@
|
|||
|
||||
<nav class="topnav">
|
||||
<a class="brand" href="../"><svg width="18" height="18" viewBox="0 0 64 64" style="vertical-align:-4px;margin-right:6px" aria-hidden="true"><rect width="64" height="64" rx="12" fill="#0b0e14"/><path d="M32 4 L36.4 27.6 L60 32 L36.4 36.4 L32 60 L27.6 36.4 L4 32 L27.6 27.6 Z" fill="#d6ff3d"/></svg><span class="g">Sirius.X</span></a>
|
||||
<a href="../#try">Try it</a>
|
||||
<a href="../#search-input">✏️ Register</a>
|
||||
<a href="../tld.html">🌐 TLD</a>
|
||||
<a href="../market/">🛒 Market</a>
|
||||
<a href="../portal.html" class="portal here">🔑 Storage</a>
|
||||
|
|
|
|||
|
|
@ -43,6 +43,41 @@
|
|||
.topnav a.here{color:var(--acid);background:rgba(214,255,61,.08)}
|
||||
.topnav a.portal{margin-left:auto;background:rgba(214,255,61,.10);color:var(--acid);font-weight:500}
|
||||
.topnav a.portal:hover{background:rgba(214,255,61,.18)}
|
||||
|
||||
/* Adaptive side nav — same shape as index.html and Theseus.X */
|
||||
:root{--sn-w:200px}
|
||||
.sidenav{position:fixed;top:56px;left:0;bottom:0;width:var(--sn-w);z-index:15;
|
||||
background:transparent;padding:32px 12px 22px 18px;
|
||||
overflow-y:auto;pointer-events:none;transition:width .15s ease}
|
||||
.sidenav a{display:flex;align-items:center;gap:14px;color:var(--mut);text-decoration:none;
|
||||
padding:9px 12px;border-radius:10px;
|
||||
font-size:14.5px;font-weight:500;opacity:.35;pointer-events:auto;
|
||||
transition:opacity .12s,color .12s,background .12s,backdrop-filter .12s}
|
||||
.sidenav a .ic{flex:none;width:22px;font-size:18px;line-height:1;text-align:center;
|
||||
display:none;justify-content:center;align-items:center}
|
||||
.sidenav a .lb{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
||||
.sidenav a:hover{opacity:1;color:var(--ink);background:rgba(11,14,20,.72);backdrop-filter:blur(8px)}
|
||||
.sidenav a.active{opacity:.85;color:var(--acid)}
|
||||
.sidenav a.active:hover{opacity:1}
|
||||
section{scroll-margin-top:70px}
|
||||
@media (max-width:1180px){
|
||||
:root{--sn-w:64px}
|
||||
.sidenav{padding:22px 6px}
|
||||
.sidenav a{justify-content:center;padding:12px 4px;gap:0}
|
||||
.sidenav a .ic{display:inline-flex}
|
||||
.sidenav a .lb{display:none}
|
||||
}
|
||||
@media (max-width:720px){
|
||||
:root{--sn-w:0}
|
||||
body{padding-bottom:64px}
|
||||
.sidenav{top:auto;bottom:0;left:0;right:0;width:100%;height:auto;
|
||||
padding:4px;flex-direction:row;background:rgba(11,14,20,.52);
|
||||
display:flex;justify-content:space-around;overflow-x:auto}
|
||||
.sidenav a{flex:1;min-width:56px;padding:10px 6px;justify-content:center;gap:0;opacity:.5}
|
||||
.sidenav a .ic{display:inline-flex}
|
||||
.sidenav a .lb{display:none}
|
||||
}
|
||||
|
||||
header.hero{text-align:center;padding:5rem 1.2rem 1rem}
|
||||
.mark{font-size:56px;line-height:1}
|
||||
h1{font-size:clamp(2rem,5.5vw,2.9rem);margin:.4rem 0 .3rem}
|
||||
|
|
@ -102,14 +137,18 @@
|
|||
|
||||
<nav class="topnav">
|
||||
<a class="brand" href="../"><svg width="18" height="18" viewBox="0 0 64 64" style="vertical-align:-4px;margin-right:6px" aria-hidden="true"><rect width="64" height="64" rx="12" fill="#0b0e14"/><path d="M32 4 L36.4 27.6 L60 32 L36.4 36.4 L32 60 L27.6 36.4 L4 32 L27.6 27.6 Z" fill="#d6ff3d"/></svg><span class="g">Sirius.X</span></a>
|
||||
<a href="../#try">Try it</a>
|
||||
<a href="../#search-input">✏️ Register</a>
|
||||
<a href="../tld.html">🌐 TLD</a>
|
||||
<a href="../market/">🛒 Market</a>
|
||||
<a href="./" class="here"><svg width="14" height="14" viewBox="0 0 64 64" style="vertical-align:-2px;margin-right:4px" aria-hidden="true"><rect width="64" height="64" rx="12" fill="#0b0e14"/><path d="M32 6 L38 32 L26 32 Z" fill="#e04e4e"/><path d="M38 32 L32 58 L26 32 Z" fill="#d6ff3d"/><path d="M6 32 L32 27 L58 32 L32 37 Z" fill="#d6ff3d" opacity=".55"/><circle cx="32" cy="32" r="3" fill="#0b0e14"/></svg>Theseus</a>
|
||||
<a href="./" class="here"><svg width="14" height="14" viewBox="0 0 64 64" style="vertical-align:-2px;margin-right:4px" aria-hidden="true"><rect width="64" height="64" rx="12" fill="#0b0e14"/><path d="M32 6 L38 32 L26 32 Z" fill="#e04e4e"/><path d="M38 32 L32 58 L26 32 Z" fill="#d6ff3d"/><path d="M6 32 L32 27 L58 32 L32 37 Z" fill="#d6ff3d" opacity=".55"/><circle cx="32" cy="32" r="3" fill="#0b0e14"/></svg>Theseus<span class="g">.X</span></a>
|
||||
<a href="../portal.html" class="portal">🔑 Sign in</a>
|
||||
</nav>
|
||||
|
||||
<aside class="sidenav" aria-label="On this page">
|
||||
<a href="#download" title="Download" ><span class="ic" aria-hidden="true">⬇</span><span class="lb">Download</span></a>
|
||||
<a href="#how" title="How Theseus works" ><span class="ic" aria-hidden="true">⚙️</span><span class="lb">How it works</span></a>
|
||||
<a href="#verify" title="Verify a download" ><span class="ic" aria-hidden="true">🔐</span><span class="lb">Verify</span></a>
|
||||
</aside>
|
||||
|
||||
<header class="hero">
|
||||
<div class="mark"><img src="./assets/favicon.svg" alt="" width="72" height="72" style="vertical-align:middle;filter:drop-shadow(0 0 24px rgba(214,255,61,.15))"></div>
|
||||
<h1>Theseus <span class="g">Navigator</span></h1>
|
||||
|
|
@ -188,5 +227,22 @@ sha256sum <downloaded-file>.exe</pre>
|
|||
<script defer src="../js/site-footer.js?v=20260907rel"></script>
|
||||
<script defer src="../js/theme.js?v=20260920compact"></script>
|
||||
<script defer src="../js/profile-menu.js?v=20260908tabs"></script>
|
||||
<script>
|
||||
(() => {
|
||||
const links = document.querySelectorAll(".sidenav a[href^='#']");
|
||||
if (!links.length) return;
|
||||
const map = new Map();
|
||||
links.forEach((a) => { const el = document.querySelector(a.getAttribute("href")); if (el) map.set(el, a); });
|
||||
const io = new IntersectionObserver((entries) => {
|
||||
entries.forEach((en) => {
|
||||
if (!en.isIntersecting) return;
|
||||
const a = map.get(en.target); if (!a) return;
|
||||
links.forEach((l) => l.classList.remove("active"));
|
||||
a.classList.add("active");
|
||||
});
|
||||
}, { rootMargin: "-40% 0px -55% 0px", threshold: 0 });
|
||||
map.forEach((_, el) => io.observe(el));
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
61
tld.html
61
tld.html
|
|
@ -65,6 +65,41 @@
|
|||
.topnav a.here{color:var(--acid);background:rgba(214,255,61,.08)}
|
||||
.topnav a.portal{margin-left:auto;background:rgba(214,255,61,.10);color:var(--acid);font-weight:500}
|
||||
.topnav a.portal:hover{background:rgba(214,255,61,.18)}
|
||||
|
||||
/* Adaptive side nav — same shape as index.html and Theseus.X */
|
||||
:root{--sn-w:200px}
|
||||
.sidenav{position:fixed;top:56px;left:0;bottom:0;width:var(--sn-w);z-index:15;
|
||||
background:transparent;padding:32px 12px 22px 18px;
|
||||
overflow-y:auto;pointer-events:none;transition:width .15s ease}
|
||||
.sidenav a{display:flex;align-items:center;gap:14px;color:var(--mut);text-decoration:none;
|
||||
padding:9px 12px;border-radius:10px;
|
||||
font-size:14.5px;font-weight:500;opacity:.35;pointer-events:auto;
|
||||
transition:opacity .12s,color .12s,background .12s,backdrop-filter .12s}
|
||||
.sidenav a .ic{flex:none;width:22px;font-size:18px;line-height:1;text-align:center;
|
||||
display:none;justify-content:center;align-items:center}
|
||||
.sidenav a .lb{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
||||
.sidenav a:hover{opacity:1;color:var(--ink);background:rgba(11,14,20,.72);backdrop-filter:blur(8px)}
|
||||
.sidenav a.active{opacity:.85;color:var(--acid)}
|
||||
.sidenav a.active:hover{opacity:1}
|
||||
section{scroll-margin-top:70px}
|
||||
@media (max-width:1180px){
|
||||
:root{--sn-w:64px}
|
||||
.sidenav{padding:22px 6px}
|
||||
.sidenav a{justify-content:center;padding:12px 4px;gap:0}
|
||||
.sidenav a .ic{display:inline-flex}
|
||||
.sidenav a .lb{display:none}
|
||||
}
|
||||
@media (max-width:720px){
|
||||
:root{--sn-w:0}
|
||||
body{padding-bottom:64px}
|
||||
.sidenav{top:auto;bottom:0;left:0;right:0;width:100%;height:auto;
|
||||
padding:4px;flex-direction:row;background:rgba(11,14,20,.52);
|
||||
display:flex;justify-content:space-around;overflow-x:auto}
|
||||
.sidenav a{flex:1;min-width:56px;padding:10px 6px;justify-content:center;gap:0;opacity:.5}
|
||||
.sidenav a .ic{display:inline-flex}
|
||||
.sidenav a .lb{display:none}
|
||||
}
|
||||
|
||||
header.hero{text-align:center;padding:3.4rem 1.2rem 1rem}
|
||||
.mark{font-size:44px;line-height:1}
|
||||
h1{font-size:clamp(1.7rem,4.5vw,2.3rem);margin:.3rem 0 .3rem}
|
||||
|
|
@ -121,14 +156,17 @@
|
|||
|
||||
<nav class="topnav">
|
||||
<a class="brand" href="./"><svg width="18" height="18" viewBox="0 0 64 64" style="vertical-align:-4px;margin-right:6px" aria-hidden="true"><rect width="64" height="64" rx="12" fill="#0b0e14"/><path d="M32 4 L36.4 27.6 L60 32 L36.4 36.4 L32 60 L27.6 36.4 L4 32 L27.6 27.6 Z" fill="#d6ff3d"/></svg><span class="g">Sirius.X</span></a>
|
||||
<a href="./#try">Try it</a>
|
||||
<a href="./#search-input">✏️ Register</a>
|
||||
<a href="./tld.html" class="here">🌐 TLD</a>
|
||||
<a href="./market">🛒 Market</a>
|
||||
<a href="./theseus"><svg width="14" height="14" viewBox="0 0 64 64" style="vertical-align:-2px;margin-right:4px" aria-hidden="true"><rect width="64" height="64" rx="12" fill="#0b0e14"/><path d="M32 6 L38 32 L26 32 Z" fill="#e04e4e"/><path d="M38 32 L32 58 L26 32 Z" fill="#d6ff3d"/><path d="M6 32 L32 27 L58 32 L32 37 Z" fill="#d6ff3d" opacity=".55"/><circle cx="32" cy="32" r="3" fill="#0b0e14"/></svg>Theseus</a>
|
||||
<a href="./theseus"><svg width="14" height="14" viewBox="0 0 64 64" style="vertical-align:-2px;margin-right:4px" aria-hidden="true"><rect width="64" height="64" rx="12" fill="#0b0e14"/><path d="M32 6 L38 32 L26 32 Z" fill="#e04e4e"/><path d="M38 32 L32 58 L26 32 Z" fill="#d6ff3d"/><path d="M6 32 L32 27 L58 32 L32 37 Z" fill="#d6ff3d" opacity=".55"/><circle cx="32" cy="32" r="3" fill="#0b0e14"/></svg>Theseus<span class="g">.X</span></a>
|
||||
<a href="./portal.html" class="portal">🔑 Sign in</a>
|
||||
</nav>
|
||||
|
||||
<aside class="sidenav" aria-label="On this page">
|
||||
<a href="#search-section" title="Search a TLD" ><span class="ic" aria-hidden="true">🔎</span><span class="lb">Search</span></a>
|
||||
<a href="#listing" title="Registered TLDs" ><span class="ic" aria-hidden="true">📋</span><span class="lb">Registered</span></a>
|
||||
</aside>
|
||||
|
||||
<header class="hero">
|
||||
<div class="mark">🌐</div>
|
||||
<h1>Register a <span class="g">TLD</span></h1>
|
||||
|
|
@ -310,5 +348,22 @@
|
|||
<script defer src="./js/theme.js?v=20260920compact"></script>
|
||||
<script defer src="./js/site-footer.js?v=20260917market"></script>
|
||||
<script defer src="./js/profile-menu.js?v=20260920bits"></script>
|
||||
<script>
|
||||
(() => {
|
||||
const links = document.querySelectorAll(".sidenav a[href^='#']");
|
||||
if (!links.length) return;
|
||||
const map = new Map();
|
||||
links.forEach((a) => { const el = document.querySelector(a.getAttribute("href")); if (el) map.set(el, a); });
|
||||
const io = new IntersectionObserver((entries) => {
|
||||
entries.forEach((en) => {
|
||||
if (!en.isIntersecting) return;
|
||||
const a = map.get(en.target); if (!a) return;
|
||||
links.forEach((l) => l.classList.remove("active"));
|
||||
a.classList.add("active");
|
||||
});
|
||||
}, { rootMargin: "-40% 0px -55% 0px", threshold: 0 });
|
||||
map.forEach((_, el) => io.observe(el));
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue