Theseus 0.3.124 (cont'd): Ariadne nested under System; Theseus logo toggles the Settings tab
Ariadne's Thread drops out of the Settings top-level nav. It is reached
from the System section's chevron now; its page gets a System › crumb
back. Aegis stays top-level (user-facing wallet, used often enough to
earn its own slot).
The Theseus logo in the toolbar was open-only — the second click did
nothing. It now toggles: if Settings is already the active tab, the
click closes it (and switches to whatever tab Theseus falls back to).
Deep links that open a specific section (openSettings("ai-engines")
from a picker, say) still always open — toggling is the intent of the
logo click specifically, not of every open-settings call.
This commit is contained in:
parent
94cfb98770
commit
b1b393f02f
2 changed files with 18 additions and 6 deletions
15
main.js
15
main.js
|
|
@ -8337,7 +8337,20 @@ function openSettingsTab(section) {
|
|||
}
|
||||
createTab(null, { settings: true, settingsSection: slug });
|
||||
}
|
||||
ipcMain.handle("open-settings", (_e, section) => openSettingsTab(section));
|
||||
// The toolbar's Theseus logo toggles the Settings tab: if Settings is already
|
||||
// the active tab, clicking the logo closes it (switching to the previously
|
||||
// active tab, or the first remaining one). Called without a section, so a
|
||||
// deep-link call like openSettingsTab("ai-engines") always opens rather than
|
||||
// toggling — the toggle is intent-of-the-logo-click, not of a nav route.
|
||||
function toggleSettingsTab() {
|
||||
const ex = tabs.find((t) => t.settings);
|
||||
if (ex && isActiveId(ex.id)) { closeTab(ex.id); return; }
|
||||
openSettingsTab();
|
||||
}
|
||||
ipcMain.handle("open-settings", (_e, section) => {
|
||||
if (section) openSettingsTab(section);
|
||||
else toggleSettingsTab();
|
||||
});
|
||||
// Settings › Performance drives Shield and Cookie Pop-ups through their
|
||||
// add-ons' own message handlers; only the Settings tab may call this.
|
||||
const isSettingsSender = (e) => tabs.some((t) => t.settings && t.view?.webContents === e.sender);
|
||||
|
|
|
|||
|
|
@ -320,7 +320,6 @@
|
|||
<a data-sec="performance">Performance</a>
|
||||
<a data-sec="privacy">Privacy</a>
|
||||
<a data-sec="plugins">System</a>
|
||||
<a data-sec="ariadne">Ariadne's Thread</a>
|
||||
<a data-sec="aegis">Aegis</a>
|
||||
<a data-sec="addons">Extensions</a>
|
||||
<a data-sec="sidebar">Sidebar</a>
|
||||
|
|
@ -632,11 +631,11 @@
|
|||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Top-level landing section for Ariadne's Thread. Chevrons into the
|
||||
existing sub-page under Plug-ins, where install / policy / sources /
|
||||
status / uninstall live. The sub-page keeps its "Plug-ins ›" crumb
|
||||
so Ariadne stays reachable from either entry. -->
|
||||
<!-- Ariadne's Thread landing — no longer a top-level nav entry. The
|
||||
System section's chevron row navigates here; the plugins-ariadne
|
||||
sub-page's own crumb then goes back to System. -->
|
||||
<section id="ariadne" hidden>
|
||||
<div class="crumb"><a data-go="plugins">System</a> ›</div>
|
||||
<h1>Ariadne's Thread</h1>
|
||||
<p class="lede">A local daemon that resolves BCDN names for <b>every browser on this machine</b>, not just Theseus. Theseus has its own built-in resolver either way; this plug-in is for Chrome, Edge, Firefox and the rest.</p>
|
||||
<div class="row link" data-go="plugins/ariadne">
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue