feat(theseus/settings): Plug-ins section — Ariadne's Thread + Aegis moved out of General
New sidebar tab between Privacy and Extensions. The two long system-scoped cards (Ariadne's Thread system-wide resolver, Aegis built-in wallet) were bloating the General section; they cluster naturally as "components that live alongside Theseus, each with install/update/on-off controls of their own" and now have their own home. - Adds <a data-sec="plugins">Plug-ins</a> to nav.side - New <section id="plugins"> with a short lede - Ariadne + Aegis row blocks moved from General to Plug-ins verbatim - sections array in showSection() extended with "plugins" - Tab-switch handler clicks ariadneRefresh so status is never stale; Aegis card auto-loads on page-init and its "Check for updates" button stays user-initiated (avoid firing a network request every time the user opens the Plug-ins tab)
This commit is contained in:
parent
1b10afa1ca
commit
71bd3004e0
2 changed files with 17 additions and 2 deletions
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "theseus-navigator",
|
||||
"version": "0.3.35",
|
||||
"version": "0.3.36",
|
||||
"description": "Theseus Navigator — a browser that follows the thread. By Silent Mode, a Deviant project.",
|
||||
"author": "Silent Mode",
|
||||
"main": "main.js",
|
||||
|
|
|
|||
|
|
@ -171,6 +171,7 @@
|
|||
<a data-sec="passwords">Passwords</a>
|
||||
<a data-sec="performance">Performance</a>
|
||||
<a data-sec="privacy">Privacy</a>
|
||||
<a data-sec="plugins">Plug-ins</a>
|
||||
<a data-sec="addons">Extensions</a>
|
||||
</nav>
|
||||
<div class="content">
|
||||
|
|
@ -227,6 +228,11 @@
|
|||
<div id="colSummary" class="pmuted" style="font-size:12.5px"></div>
|
||||
<div><button id="resetCollisions" class="btn">Reset remembered choices</button></div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- PLUG-INS -->
|
||||
<section id="plugins" hidden>
|
||||
<h1>Plug-ins</h1>
|
||||
<p class="lede">Silent Mode components that live alongside Theseus — the system-wide resolver and the built-in wallet. Each ships with its own install / update / on-off controls.</p>
|
||||
<div class="row" style="flex-direction:column;align-items:stretch;gap:8px">
|
||||
<div class="txt">
|
||||
<div class="t">System-wide resolver — Ariadne's Thread</div>
|
||||
|
|
@ -605,7 +611,7 @@
|
|||
// into General in 0.3.21. Leaving the id in this list threw a
|
||||
// TypeError inside showSection (getElementById("naming") → null),
|
||||
// which broke every click after General/Search/Passwords.
|
||||
const sections = ["general", "search", "passwords", "performance", "privacy", "addons"];
|
||||
const sections = ["general", "search", "passwords", "performance", "privacy", "plugins", "addons"];
|
||||
function showSection(sec) {
|
||||
if (!sections.includes(sec)) return;
|
||||
document.querySelectorAll(".side a").forEach((x) => x.classList.toggle("active", x.dataset.sec === sec));
|
||||
|
|
@ -1275,6 +1281,15 @@
|
|||
});
|
||||
document.getElementById("addonsOpenDir").addEventListener("click", () => C.openAddonsDir());
|
||||
document.querySelector('.side a[data-sec="addons"]').addEventListener("click", () => { loadAddons(); loadStagedAddonUpdates(); });
|
||||
// Plug-ins tab: refresh Ariadne's live daemon state on every visit so it
|
||||
// doesn't display stale "checking…" text if the background poll finished
|
||||
// while another section was open. Aegis card loads on page-init and its
|
||||
// "Check for updates" button is user-initiated, so we don't auto-poll it
|
||||
// (that would fire a network request every tab-switch).
|
||||
document.querySelector('.side a[data-sec="plugins"]').addEventListener("click", () => {
|
||||
const ar = document.getElementById("ariadneRefresh");
|
||||
if (ar) ar.click();
|
||||
});
|
||||
|
||||
// Manual "Check for updates" for extensions — runs the same signed-update
|
||||
// polling the boot timer runs, and surfaces what's staged for the next
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue