From 7806e3f31c875e9064f7db277e39c352645bd29d Mon Sep 17 00:00:00 2001 From: Local Dev Date: Tue, 8 Sep 2026 01:06:40 +0200 Subject: [PATCH] =?UTF-8?q?fix(theseus/light):=20sweep=20hardcoded=20acid?= =?UTF-8?q?=20=E2=86=92=20var(--acid),=20Theseus=20button=20uses=20BCH=20d?= =?UTF-8?q?ark?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two follow-ups on the light-mode acid work: 1) Every hardcoded #d6ff3d and rgba(214,255,61,X) in the browser chrome and every addon panel now goes through var(--acid), so the light-mode BCH-teal (#0AC18E) takes effect everywhere — not just where var(--acid) was already used. Hex-with-alpha (#d6ff3d55 etc.) converts to color-mix(); rgba() converts to rgb(from var(--acid)…) for the same alpha with the current --acid hue. Chromium 128+ supports both. Files touched: chrome / settings / error / home / approval / bchwallet / siawallet / screenshot (html + css). Screenshot editor.js's #d6ff3d stays — that's the drawing colour swatch, not UI chrome. 2) The Theseus button (.logo) and update chip (.upchip) become dark BCH-navy chips (#253A49 background, #F8FDFF text) in light mode. Previously the .logo hardcoded #d6ff3d text on a bright-acid tint — invisible on a light toolbar. The dark chip stands out and gives the light theme a distinct accent using the BCH secondary from whybitcoincash.com's palette. --- approval.html | 192 +- bundled-addons/bchwallet/panel.html | 728 +++---- bundled-addons/screenshot/editor.css | 180 +- bundled-addons/screenshot/editor.html | 228 +-- bundled-addons/siawallet/panel.html | 362 ++-- chrome.html | 2703 +++++++++++++------------ error.html | 506 ++--- home.html | 580 +++--- settings.html | 2268 ++++++++++----------- 9 files changed, 3878 insertions(+), 3869 deletions(-) diff --git a/approval.html b/approval.html index 294a4ea..6f56703 100644 --- a/approval.html +++ b/approval.html @@ -1,96 +1,96 @@ - - - - -Approval - - - - - - + + + + +Approval + + + + + + diff --git a/bundled-addons/bchwallet/panel.html b/bundled-addons/bchwallet/panel.html index ae35e8b..4121cb6 100644 --- a/bundled-addons/bchwallet/panel.html +++ b/bundled-addons/bchwallet/panel.html @@ -1,364 +1,364 @@ - - - - -Aegis Wallet - - - - -
-
-
- - Aegis Wallet - -
-
-
- -
-
-
- connecting… - -
-
-
- -
- -
-
-
-
-
Receiving address
-
-
- - - - -
-
- -
- - - -
-
- - - - + + + + +Aegis Wallet + + + + +
+
+
+ + Aegis Wallet + +
+
+
+ +
+
+
+ connecting… + +
+
+
+ +
+ +
+
+
+
+
Receiving address
+
+
+ + + + +
+
+ +
+ + + +
+
+ + + + diff --git a/bundled-addons/screenshot/editor.css b/bundled-addons/screenshot/editor.css index 3807599..f58449a 100644 --- a/bundled-addons/screenshot/editor.css +++ b/bundled-addons/screenshot/editor.css @@ -1,90 +1,90 @@ -/* Screenshot editor — full-tab page. Matches the Theseus dark aesthetic - from the sidebar. Light-mode swap is symmetric. */ -:root { color-scheme: light dark; - --bg:#0e131c; --panel:#141a24; --panel2:#191f2b; --line:rgba(255,255,255,.09); - --ink:#e7eaf1; --mut:#8b98a9; --dim:#5e6678; --acid:#d6ff3d; - --danger:#ff5b5b; --board:#0a0d13; } -@media (prefers-color-scheme: light) { - :root { --bg:#f8faff; --panel:#ffffff; --panel2:#eff3fb; --line:rgba(0,0,0,.10); - --ink:#1a1f2b; --mut:#5c6577; --dim:#8a93a5; --acid: #0AC18E; - --board:#dde3ee; } -} -* { box-sizing: border-box; } -html, body { margin: 0; height: 100%; } -body { background: var(--bg); color: var(--ink); - font: 13px/1.5 system-ui, -apple-system, Segoe UI, Roboto, sans-serif; - display: flex; flex-direction: column; overflow: hidden; } - -/* Toolbar ---------------------------------------------------------------- */ -.toolbar { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; - padding: 8px 10px; border-bottom: 1px solid var(--line); - background: var(--panel); user-select: none; - font: 12px ui-monospace, "Cascadia Code", Consolas, monospace; } -.toolbar .name { color: var(--dim); font-size: 11.5px; margin-right: 4px; overflow: hidden; - text-overflow: ellipsis; white-space: nowrap; max-width: 240px; } -.toolbar .sep { width: 1px; height: 22px; background: var(--line); margin: 0 4px; } -.toolbar .spacer { flex: 1; } -.tool { border: 1px solid var(--line); background: var(--panel2); color: var(--ink); - width: 30px; height: 30px; border-radius: 6px; cursor: pointer; - display: inline-flex; align-items: center; justify-content: center; - font: inherit; padding: 0; transition: background .1s, border-color .1s; } -.tool:hover { border-color: rgba(214,255,61,.5); } -.tool.active { background: rgba(214,255,61,.15); border-color: rgba(214,255,61,.7); color: var(--acid); } -.tool:disabled { opacity: .4; cursor: default; } -.tool svg { width: 16px; height: 16px; display: block; } -.tool.wide { width: auto; padding: 0 10px; gap: 6px; } -.tool.danger { color: var(--danger); } -.tool.danger:hover { border-color: rgba(255,91,91,.5); } - -.swatch { width: 22px; height: 22px; border-radius: 50%; padding: 0; - border: 2px solid var(--line); cursor: pointer; } -.swatch.active { border-color: var(--acid); outline: 1px solid rgba(214,255,61,.35); outline-offset: 1px; } - -.width { border: 1px solid var(--line); background: var(--panel2); color: var(--ink); - width: 30px; height: 30px; border-radius: 6px; cursor: pointer; - display: inline-flex; align-items: center; justify-content: center; - padding: 0; } -.width.active { border-color: rgba(214,255,61,.7); background: rgba(214,255,61,.15); } -.width .dot { border-radius: 50%; background: currentColor; color: var(--ink); } -.width.active .dot { color: var(--acid); } - -.text-input { - position: absolute; z-index: 10; - background: rgba(20,26,36,.92); color: var(--ink); border: 1px solid var(--acid); - padding: 2px 6px; font: 15px/1.2 system-ui, sans-serif; outline: none; - border-radius: 3px; min-width: 80px; -} - -/* Canvas board ----------------------------------------------------------- */ -.board { flex: 1; overflow: auto; background: var(--board); - display: flex; align-items: flex-start; justify-content: center; - padding: 20px; } -.stage { position: relative; box-shadow: 0 0 0 1px var(--line), 0 8px 30px rgba(0,0,0,.35); } -.stage canvas { display: block; background: #fff; } -.stage canvas.draw { position: absolute; left: 0; top: 0; } -.stage canvas.overlay { position: absolute; left: 0; top: 0; pointer-events: none; } - -/* When a drawing tool is active, put the drawing canvas above overlay */ -.stage[data-tool="select"] canvas.draw { cursor: default; } -.stage[data-tool="crop"] canvas.draw { cursor: crosshair; } -.stage[data-tool="rect"] canvas.draw, -.stage[data-tool="ellipse"] canvas.draw, -.stage[data-tool="arrow"] canvas.draw, -.stage[data-tool="blur"] canvas.draw { cursor: crosshair; } -.stage[data-tool="pen"] canvas.draw { cursor: crosshair; } -.stage[data-tool="text"] canvas.draw { cursor: text; } - -.hint { position: fixed; left: 50%; bottom: 16px; transform: translateX(-50%); - background: rgba(11,14,20,.9); border: 1px solid var(--line); - color: var(--ink); padding: 6px 10px; border-radius: 6px; - font-size: 12px; pointer-events: none; opacity: 0; transition: opacity .15s; } -.hint.on { opacity: 1; } - -.toast { position: fixed; right: 16px; bottom: 16px; - background: rgba(214,255,61,.15); color: var(--acid); - border: 1px solid rgba(214,255,61,.5); - padding: 8px 12px; border-radius: 6px; font-size: 12.5px; - opacity: 0; transform: translateY(6px); - transition: opacity .2s, transform .2s; pointer-events: none; } -.toast.on { opacity: 1; transform: translateY(0); } -.toast.err { color: #ffb0b0; background: rgba(255,60,60,.15); border-color: rgba(255,60,60,.5); } +/* Screenshot editor — full-tab page. Matches the Theseus dark aesthetic + from the sidebar. Light-mode swap is symmetric. */ +:root { color-scheme: light dark; + --bg:#0e131c; --panel:#141a24; --panel2:#191f2b; --line:rgba(255,255,255,.09); + --ink:#e7eaf1; --mut:#8b98a9; --dim:#5e6678; --acid:#d6ff3d; + --danger:#ff5b5b; --board:#0a0d13; } +@media (prefers-color-scheme: light) { + :root { --bg:#f8faff; --panel:#ffffff; --panel2:#eff3fb; --line:rgba(0,0,0,.10); + --ink:#1a1f2b; --mut:#5c6577; --dim:#8a93a5; --acid: #0AC18E; + --board:#dde3ee; } +} +* { box-sizing: border-box; } +html, body { margin: 0; height: 100%; } +body { background: var(--bg); color: var(--ink); + font: 13px/1.5 system-ui, -apple-system, Segoe UI, Roboto, sans-serif; + display: flex; flex-direction: column; overflow: hidden; } + +/* Toolbar ---------------------------------------------------------------- */ +.toolbar { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; + padding: 8px 10px; border-bottom: 1px solid var(--line); + background: var(--panel); user-select: none; + font: 12px ui-monospace, "Cascadia Code", Consolas, monospace; } +.toolbar .name { color: var(--dim); font-size: 11.5px; margin-right: 4px; overflow: hidden; + text-overflow: ellipsis; white-space: nowrap; max-width: 240px; } +.toolbar .sep { width: 1px; height: 22px; background: var(--line); margin: 0 4px; } +.toolbar .spacer { flex: 1; } +.tool { border: 1px solid var(--line); background: var(--panel2); color: var(--ink); + width: 30px; height: 30px; border-radius: 6px; cursor: pointer; + display: inline-flex; align-items: center; justify-content: center; + font: inherit; padding: 0; transition: background .1s, border-color .1s; } +.tool:hover { border-color: rgb(from var(--acid) r g b / .5); } +.tool.active { background: rgb(from var(--acid) r g b / .15); border-color: rgb(from var(--acid) r g b / .7); color: var(--acid); } +.tool:disabled { opacity: .4; cursor: default; } +.tool svg { width: 16px; height: 16px; display: block; } +.tool.wide { width: auto; padding: 0 10px; gap: 6px; } +.tool.danger { color: var(--danger); } +.tool.danger:hover { border-color: rgba(255,91,91,.5); } + +.swatch { width: 22px; height: 22px; border-radius: 50%; padding: 0; + border: 2px solid var(--line); cursor: pointer; } +.swatch.active { border-color: var(--acid); outline: 1px solid rgb(from var(--acid) r g b / .35); outline-offset: 1px; } + +.width { border: 1px solid var(--line); background: var(--panel2); color: var(--ink); + width: 30px; height: 30px; border-radius: 6px; cursor: pointer; + display: inline-flex; align-items: center; justify-content: center; + padding: 0; } +.width.active { border-color: rgb(from var(--acid) r g b / .7); background: rgb(from var(--acid) r g b / .15); } +.width .dot { border-radius: 50%; background: currentColor; color: var(--ink); } +.width.active .dot { color: var(--acid); } + +.text-input { + position: absolute; z-index: 10; + background: rgba(20,26,36,.92); color: var(--ink); border: 1px solid var(--acid); + padding: 2px 6px; font: 15px/1.2 system-ui, sans-serif; outline: none; + border-radius: 3px; min-width: 80px; +} + +/* Canvas board ----------------------------------------------------------- */ +.board { flex: 1; overflow: auto; background: var(--board); + display: flex; align-items: flex-start; justify-content: center; + padding: 20px; } +.stage { position: relative; box-shadow: 0 0 0 1px var(--line), 0 8px 30px rgba(0,0,0,.35); } +.stage canvas { display: block; background: #fff; } +.stage canvas.draw { position: absolute; left: 0; top: 0; } +.stage canvas.overlay { position: absolute; left: 0; top: 0; pointer-events: none; } + +/* When a drawing tool is active, put the drawing canvas above overlay */ +.stage[data-tool="select"] canvas.draw { cursor: default; } +.stage[data-tool="crop"] canvas.draw { cursor: crosshair; } +.stage[data-tool="rect"] canvas.draw, +.stage[data-tool="ellipse"] canvas.draw, +.stage[data-tool="arrow"] canvas.draw, +.stage[data-tool="blur"] canvas.draw { cursor: crosshair; } +.stage[data-tool="pen"] canvas.draw { cursor: crosshair; } +.stage[data-tool="text"] canvas.draw { cursor: text; } + +.hint { position: fixed; left: 50%; bottom: 16px; transform: translateX(-50%); + background: rgba(11,14,20,.9); border: 1px solid var(--line); + color: var(--ink); padding: 6px 10px; border-radius: 6px; + font-size: 12px; pointer-events: none; opacity: 0; transition: opacity .15s; } +.hint.on { opacity: 1; } + +.toast { position: fixed; right: 16px; bottom: 16px; + background: rgb(from var(--acid) r g b / .15); color: var(--acid); + border: 1px solid rgb(from var(--acid) r g b / .5); + padding: 8px 12px; border-radius: 6px; font-size: 12.5px; + opacity: 0; transform: translateY(6px); + transition: opacity .2s, transform .2s; pointer-events: none; } +.toast.on { opacity: 1; transform: translateY(0); } +.toast.err { color: #ffb0b0; background: rgba(255,60,60,.15); border-color: rgba(255,60,60,.5); } diff --git a/bundled-addons/screenshot/editor.html b/bundled-addons/screenshot/editor.html index 89ff332..91c3029 100644 --- a/bundled-addons/screenshot/editor.html +++ b/bundled-addons/screenshot/editor.html @@ -1,114 +1,114 @@ - - - - -Screenshot editor - - - -
- screenshot - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- - - - - - -
-
- -
-
- - - - - - + + + + +Screenshot editor + + + +
+ screenshot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + +
+
+ +
+
+ + + + + + diff --git a/bundled-addons/siawallet/panel.html b/bundled-addons/siawallet/panel.html index 0af1397..05d6414 100644 --- a/bundled-addons/siawallet/panel.html +++ b/bundled-addons/siawallet/panel.html @@ -1,181 +1,181 @@ - - - - -Siacoin Wallet - - - -
-
-
Siacoin
-
connecting…
-
-
-
SC
-
mainnet
-
-
- -
- -
-
-
-
-
Receiving address
-
-
- - - -
-
-
- - - -
-
- - - - + + + + +Siacoin Wallet + + + +
+
+
Siacoin
+
connecting…
+
+
+
SC
+
mainnet
+
+
+ +
+ +
+
+
+
+
Receiving address
+
+
+ + + +
+
+
+ + + +
+
+ + + + diff --git a/chrome.html b/chrome.html index b641f60..c7c1779 100644 --- a/chrome.html +++ b/chrome.html @@ -1,1347 +1,1356 @@ - - - - - -
-
- -
- - - - - -
-
- - - - - - -
-
- - - - - - + + + + + +
+
+ +
+ + + + + +
+
+ + + + + + +
+
+ + + + + + diff --git a/error.html b/error.html index cf7e456..b46c056 100644 --- a/error.html +++ b/error.html @@ -1,253 +1,253 @@ - - - - -Load error - - - -
-
-
-
-

Couldn't load this page

-

The tab kept its address so you can edit and try again.

-
-
- -
- - - - - -
- -
-
URL
-
Error
-
-
- - - - + + + + +Load error + + + +
+
+
+
+

Couldn't load this page

+

The tab kept its address so you can edit and try again.

+
+
+ +
+ + + + + +
+ +
+
URL
+
Error
+
+
+ + + + diff --git a/home.html b/home.html index c5701e6..42e8e3b 100644 --- a/home.html +++ b/home.html @@ -1,290 +1,290 @@ - - -Theseus - - -
-
⛓️
-

Theseus Navigator

-

A browser that follows the thread. Names that live on the Bitcoin Cash chain.

-
- - -
-

Tip: type a .bch name in the address bar above to open a decentralized site.

-
- -
-
- Quick links -
- - -
-
-
-
- - - - - - - - + + +Theseus + + +
+
⛓️
+

Theseus Navigator

+

A browser that follows the thread. Names that live on the Bitcoin Cash chain.

+
+ + +
+

Tip: type a .bch name in the address bar above to open a decentralized site.

+
+ +
+
+ Quick links +
+ + +
+
+
+
+ + + + + + + + diff --git a/settings.html b/settings.html index a684f62..2c24a6d 100644 --- a/settings.html +++ b/settings.html @@ -1,1134 +1,1134 @@ - - -Theseus — Settings - - -
- -
- -
-

General

-

Changes apply immediately and are saved for next time.

-

Startup

-
-
Open previous windows and tabs
Restore the tabs from your last session when Theseus starts.
- -
-
-
-
Updates
-
Theseus already checks the release manifest at boot and every 6h. Click below to check right now.
-
-
-
- -
-
-

Appearance

-

Choose a theme for the browser. System follows your operating system's light/dark setting.

-
- - - -
- -

Registries

-

How Theseus picks between the BCNR / BCDN and ICANN / IANA, when a name exists in both.

-
-
Collision policy
-
A name only exists in both registries when its TLD isn't BCNR-unique (e.g. .de). BCNR-unique TLDs (that only exist on BCNR) never conflict.
-
- - - -
-
-
-
Remembered choices
-
"Always use …" picks you made from the switcher or the prompt. Reset them to be asked again.
-
-
-
-
-
-
System-wide resolver — Ariadne's Thread
-
- A local daemon that resolves BCDN names for every browser on this machine - (Chrome, Edge, Firefox, etc.), not just Theseus. Turning it off means non-Theseus - browsers stop resolving .bch / .x / other BCNR TLDs; - Theseus keeps working either way, since it has its own built-in resolver. -
-
-
checking…
-
- - - - - - -
- -
-
- - - - - - - - - - - - - - -
-
- - - + + +Theseus — Settings + + +
+ +
+ +
+

General

+

Changes apply immediately and are saved for next time.

+

Startup

+
+
Open previous windows and tabs
Restore the tabs from your last session when Theseus starts.
+ +
+
+
+
Updates
+
Theseus already checks the release manifest at boot and every 6h. Click below to check right now.
+
+
+
+ +
+
+

Appearance

+

Choose a theme for the browser. System follows your operating system's light/dark setting.

+
+ + + +
+ +

Registries

+

How Theseus picks between the BCNR / BCDN and ICANN / IANA, when a name exists in both.

+
+
Collision policy
+
A name only exists in both registries when its TLD isn't BCNR-unique (e.g. .de). BCNR-unique TLDs (that only exist on BCNR) never conflict.
+
+ + + +
+
+
+
Remembered choices
+
"Always use …" picks you made from the switcher or the prompt. Reset them to be asked again.
+
+
+
+
+
+
System-wide resolver — Ariadne's Thread
+
+ A local daemon that resolves BCDN names for every browser on this machine + (Chrome, Edge, Firefox, etc.), not just Theseus. Turning it off means non-Theseus + browsers stop resolving .bch / .x / other BCNR TLDs; + Theseus keeps working either way, since it has its own built-in resolver. +
+
+
checking…
+
+ + + + + + +
+ +
+
+ + + + + + + + + + + + + + +
+
+ + +