diff --git a/loader.html b/loader.html
index b6602db..cff46b9 100644
--- a/loader.html
+++ b/loader.html
@@ -11,6 +11,7 @@
--accent: #7fff6e;
--muted: #6b6b7a;
--text: #e8e8ec;
+ --border: #2a2a32;
}
body {
@@ -22,7 +23,7 @@
align-items: center;
justify-content: center;
height: 100vh;
- gap: 24px;
+ gap: 20px;
user-select: none;
}
@@ -65,7 +66,7 @@
text-align: center;
word-break: break-all;
padding: 8px 16px;
- border: 1px solid #2a2a32;
+ border: 1px solid var(--border);
border-radius: 6px;
line-height: 1.6;
margin-bottom: 1em;
diff --git a/loader.js b/loader.js
index 4744bfa..8581dfc 100644
--- a/loader.js
+++ b/loader.js
@@ -1,6 +1,7 @@
(() => {
const params = new URLSearchParams(location.search);
const destUrl = params.get('url');
+ const loadDelay = params.get('load_delay'); // seconds, or null
if (!destUrl) {
document.querySelector('.label').textContent = 'No URL provided.';
@@ -17,7 +18,13 @@
function navigate() {
if (navigated) return;
navigated = true;
- location.replace(destUrl);
+ if( destUrl.indexOf('chrome://')==0 ) {
+ document.querySelector('.ring').style.display = 'none';
+ document.querySelector('.label').textContent = 'Cant load url';
+ }
+ else {
+ location.replace(destUrl);
+ }
}
// "Load now" button — immediate bypass
@@ -36,4 +43,8 @@
}
});
}
+
+ if( loadDelay!=null ) {
+ setTimeout(navigate, loadDelay*1000);
+ }
})();
diff --git a/manifest.json b/manifest.json
index 379d6cb..92aa7e2 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,7 +1,7 @@
{
"manifest_version": 3,
"name": "URL Launcher",
- "version": "1.0.1",
+ "version": "1.1.0",
"description": "Paste a list of URLs and open them all as tabs, with optional lazy-load on focus.",
"action": {
"default_popup": "popup.html",
diff --git a/popup.html b/popup.html
index da9b2eb..44189f0 100644
--- a/popup.html
+++ b/popup.html
@@ -305,6 +305,25 @@
background: rgba(127,255,110,0.1);
}
+ /* ── Checkboxes stack ── */
+ .checkboxes {
+ display: flex;
+ flex-direction: column;
+ gap: 8px;
+ flex: 1;
+ }
+
+ .delay-hint {
+ color: var(--muted);
+ font-size: 10px;
+ font-family: 'JetBrains Mono', monospace;
+ }
+
+ .checkbox-label.disabled {
+ opacity: 0.35;
+ pointer-events: none;
+ }
+
/* ── Focus mode indicator ── */
.mode-badge {
display: inline-flex;
@@ -377,16 +396,27 @@
-
+