From d5c44aafb685c528b89720a7904b3ddefff05ace Mon Sep 17 00:00:00 2001 From: Antigravity Date: Sat, 18 Jul 2026 09:48:45 +0000 Subject: [PATCH] =?UTF-8?q?fix(extension):=20timing=20banni=C3=A8re=20pick?= =?UTF-8?q?=20mode=20+=20responsive=20side=20panel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bannière pick mode : - ensureContentScript() : retry le PING 8x (avec backoff 80→290ms) après chrome.scripting.executeScript, parce que l'injection est async côté page et le listener n'est pas enregistré immédiatement. - Avant : SET_PICK_MODE partait dans le vide, la bannière « surlignez le texte à clipper » n'apparaissait jamais. Responsive : - Media queries : <380px (Chrome Side Panel narrow), 380-420px (default), >420px (Firefox sidebar), <320px (very small). - Padding/margin/font-size adaptatifs selon la largeur du panneau. - .selection-body : min-height 80px, plus de max-height fixe, scroll si trop long. overflow-wrap: anywhere pour le texte long. - .btn : padding 16px / min-height 48px pour le tactile. - .page-card : word-break + overflow-wrap pour les URLs et titres longs. - Firefox : media query dédié >480px pour aérer la sidebar Firefox (plus large que Chrome Side Panel). Rebuilt : - memento-web-clipper-chrome-store.zip - memento-web-clipper-firefox.xpi --- .../extension/dist-chrome-store/sidepanel.css | 105 +++++++++++++----- .../extension/dist-chrome-store/sidepanel.js | 20 +++- .../extension/dist-firefox/sidepanel.css | 105 +++++++++++++----- .../extension/dist-firefox/sidepanel.js | 20 +++- .../memento-web-clipper-chrome-store.zip | Bin 325566 -> 326399 bytes .../extension/memento-web-clipper-firefox.xpi | Bin 325640 -> 326473 bytes memento-note/extension/sidepanel.css | 105 +++++++++++++----- memento-note/extension/sidepanel.js | 20 +++- 8 files changed, 288 insertions(+), 87 deletions(-) diff --git a/memento-note/extension/dist-chrome-store/sidepanel.css b/memento-note/extension/dist-chrome-store/sidepanel.css index 7f85205..16b66a9 100644 --- a/memento-note/extension/dist-chrome-store/sidepanel.css +++ b/memento-note/extension/dist-chrome-store/sidepanel.css @@ -23,6 +23,8 @@ html, body { font-size: 13px; color: var(--ink); background: var(--paper); + overflow-wrap: break-word; + word-break: break-word; } .shell { @@ -32,6 +34,20 @@ html, body { background: var(--paper); } +/* Responsive : le side panel peut faire 280px (Chrome défaut) ou 480px+ (Firefox). + On adapte les paddings/margins en fonction de la largeur disponible. */ +@media (max-width: 380px) { + html, body { font-size: 12px; } + .header { padding: 12px 14px; } + .main { padding: 12px 14px 16px; gap: 12px; } + .footer { padding: 8px 14px 12px; } + .field span, .label, .sub { letter-spacing: 0.1em; } +} +@media (min-width: 420px) { + .main { padding: 20px 22px; gap: 18px; } + .header { padding: 18px 22px; } +} + .header { display: flex; align-items: center; @@ -215,29 +231,33 @@ input[type="text"]:focus, } .page-card { - padding: 14px; border: 1px solid var(--border); border-radius: var(--radius); + padding: 14px 16px; border: 1px solid var(--border); border-radius: var(--radius); background: #fff; box-shadow: 0 1px 0 rgba(255,255,255,0.8) inset; + min-width: 0; } .page-card .sub { - font-size: 9px; text-transform: uppercase; letter-spacing: 0.14em; + font-size: 10px; text-transform: uppercase; letter-spacing: 0.14em; color: var(--muted); font-weight: 700; display: block; margin-bottom: 8px; } -.page-row { display: flex; gap: 10px; align-items: flex-start; min-width: 0; } +.page-row { display: flex; gap: 12px; align-items: flex-start; min-width: 0; } .page-row img { - width: 20px; height: 20px; border-radius: 5px; + width: 22px; height: 22px; border-radius: 5px; flex-shrink: 0; margin-top: 2px; } .page-text { min-width: 0; flex: 1; } .page-row .title { - font-size: 12px; font-weight: 700; line-height: 1.45; + font-size: 13px; font-weight: 700; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; unicode-bidi: plaintext; + word-break: break-word; + overflow-wrap: anywhere; } .page-row .url { font-size: 10px; color: var(--muted); margin-top: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; direction: ltr; text-align: left; + max-width: 100%; } .text-rtl { @@ -255,6 +275,7 @@ input[type="text"]:focus, min-height: 140px; display: flex; flex-direction: column; + flex: 1 1 auto; } .selection-panel.has-text { @@ -263,24 +284,30 @@ input[type="text"]:focus, box-shadow: 0 0 0 1px rgba(14, 165, 233, 0.12); } .selection-hint { - padding: 16px; + padding: 18px; border: 1px dashed var(--border); border-radius: var(--radius); text-align: center; background: #fff; + min-height: 120px; + display: flex; + align-items: center; + justify-content: center; } .selection-hint p { margin: 0; - font-size: 11px; + font-size: 12px; color: var(--muted); - line-height: 1.55; + line-height: 1.6; } .selection-head { display: flex; align-items: center; justify-content: space-between; - padding: 12px 14px; + gap: 8px; + padding: 14px 16px; background: linear-gradient(180deg, #fff 0%, #fdfcfa 100%); border-bottom: 1px solid var(--border); + flex-wrap: wrap; } .selection-head .status { display: flex; align-items: center; gap: 8px; @@ -293,24 +320,26 @@ input[type="text"]:focus, background: var(--paper); padding: 4px 8px; border-radius: 999px; } .selection-head .count.active { color: var(--accent); background: var(--accent-soft); } - .selection-body { - flex: 1; - padding: 14px; + flex: 1 1 auto; + padding: 14px 16px; font-size: 13px; - line-height: 1.75; + line-height: 1.65; color: rgba(28, 28, 28, 0.88); - max-height: 220px; + min-height: 80px; + max-height: none; overflow-y: auto; unicode-bidi: plaintext; border-inline-start: 3px solid transparent; + word-break: break-word; + overflow-wrap: anywhere; } .selection-panel.has-text .selection-body { border-inline-start-color: #38bdf8; - padding-inline-start: 16px; + padding-inline-start: 18px; font-style: italic; - font-size: 12px; - max-height: 150px; + font-size: 13px; + min-height: 100px; } .pulse-dot { @@ -328,15 +357,18 @@ input[type="text"]:focus, .clear-btn:hover { color: var(--ink); background: var(--paper); } .actions { - display: flex; flex-direction: column; gap: 10px; - margin-top: auto; padding-top: 6px; + display: flex; flex-direction: column; gap: 12px; + margin-top: auto; padding-top: 8px; } .btn { - padding: 14px 16px; border-radius: var(--radius); border: none; cursor: pointer; - font-weight: 700; font-size: 10px; text-transform: uppercase; + padding: 16px 18px; border-radius: var(--radius); border: none; cursor: pointer; + font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: 0.1em; - display: flex; align-items: center; justify-content: center; gap: 8px; + display: flex; align-items: center; justify-content: center; gap: 10px; + min-height: 48px; transition: transform 0.12s ease, opacity 0.12s ease, filter 0.12s ease; + word-break: break-word; + text-align: center; } .btn:active { transform: scale(0.98); } .btn:disabled { @@ -361,8 +393,9 @@ input[type="text"]:focus, } .btn-secondary:hover:not(:disabled) { background: #e5e7eb; } .btn-sm { - padding: 10px 12px; - font-size: 10px; + padding: 12px 14px; + font-size: 11px; + min-height: 40px; } .btn-danger { background: var(--danger); color: #fff; } .btn-link.link-only { @@ -372,8 +405,8 @@ input[type="text"]:focus, gap: 6px; } .btn-link { - background: none; border: none; color: var(--muted); font-size: 11px; - cursor: pointer; padding: 8px; font-weight: 500; + background: none; border: none; color: var(--muted); font-size: 12px; + cursor: pointer; padding: 10px; font-weight: 500; } .btn-link:hover { color: var(--ink); text-decoration: underline; } .btn-icon { width: 14px; height: 14px; display: inline-flex; } @@ -505,3 +538,23 @@ html[dir="rtl"] .label, html[dir="rtl"] .sub { text-align: right; } + +/* Firefox sidebar : plus large que Chrome Side Panel par défaut, + on aère la mise en page. */ +@-moz-document url-prefix("chrome:") { + .shell { min-height: 100vh; } +} +/* Fallback : on cible aussi le web-extension panel de Firefox */ +@media (min-width: 480px) { + .selection-panel { min-height: 160px; } + .selection-body { font-size: 14px; } + .page-row .title { font-size: 14px; } +} + +/* Très petits écrans (mobile debug, fenetres étirées) */ +@media (max-width: 320px) { + .brand-text { display: none; } + .header-right { gap: 4px; } + .icon-btn { width: 28px; height: 28px; } + .btn { padding: 14px 12px; font-size: 11px; } +} diff --git a/memento-note/extension/dist-chrome-store/sidepanel.js b/memento-note/extension/dist-chrome-store/sidepanel.js index d441400..907aacf 100644 --- a/memento-note/extension/dist-chrome-store/sidepanel.js +++ b/memento-note/extension/dist-chrome-store/sidepanel.js @@ -160,18 +160,32 @@ async function getActiveTab() { } async function ensureContentScript(tabId) { + // PING initial : si le script est déjà injecté, on retourne immédiatement. try { const resp = await chrome.tabs.sendMessage(tabId, { type: 'PING' }) if (resp?.ok) return true } catch { - /* inject */ + /* pas injecté */ } + // Sinon, injection manuelle via chrome.scripting.executeScript. try { await chrome.scripting.executeScript({ target: { tabId }, files: ['content.js'] }) - return true } catch { return false } + // L'injection est async côté page : le script doit finir de s'initialiser + // (IIFE, listeners, flag globalThis) avant qu'on puisse lui parler. + // On PING avec retry pour attendre qu'il soit prêt. + for (let i = 0; i < 8; i++) { + await new Promise(r => setTimeout(r, 80 + i * 30)) + try { + const resp = await chrome.tabs.sendMessage(tabId, { type: 'PING' }) + if (resp?.ok) return true + } catch { + /* pas encore prêt */ + } + } + return false } async function setPickModeOnTab(enabled) { @@ -181,7 +195,7 @@ async function setPickModeOnTab(enabled) { try { await chrome.tabs.sendMessage(activeTabId, { type: 'SET_PICK_MODE', enabled }) } catch { - /* ignore */ + /* ignore — retry au prochain syncPickMode */ } } diff --git a/memento-note/extension/dist-firefox/sidepanel.css b/memento-note/extension/dist-firefox/sidepanel.css index 7f85205..16b66a9 100644 --- a/memento-note/extension/dist-firefox/sidepanel.css +++ b/memento-note/extension/dist-firefox/sidepanel.css @@ -23,6 +23,8 @@ html, body { font-size: 13px; color: var(--ink); background: var(--paper); + overflow-wrap: break-word; + word-break: break-word; } .shell { @@ -32,6 +34,20 @@ html, body { background: var(--paper); } +/* Responsive : le side panel peut faire 280px (Chrome défaut) ou 480px+ (Firefox). + On adapte les paddings/margins en fonction de la largeur disponible. */ +@media (max-width: 380px) { + html, body { font-size: 12px; } + .header { padding: 12px 14px; } + .main { padding: 12px 14px 16px; gap: 12px; } + .footer { padding: 8px 14px 12px; } + .field span, .label, .sub { letter-spacing: 0.1em; } +} +@media (min-width: 420px) { + .main { padding: 20px 22px; gap: 18px; } + .header { padding: 18px 22px; } +} + .header { display: flex; align-items: center; @@ -215,29 +231,33 @@ input[type="text"]:focus, } .page-card { - padding: 14px; border: 1px solid var(--border); border-radius: var(--radius); + padding: 14px 16px; border: 1px solid var(--border); border-radius: var(--radius); background: #fff; box-shadow: 0 1px 0 rgba(255,255,255,0.8) inset; + min-width: 0; } .page-card .sub { - font-size: 9px; text-transform: uppercase; letter-spacing: 0.14em; + font-size: 10px; text-transform: uppercase; letter-spacing: 0.14em; color: var(--muted); font-weight: 700; display: block; margin-bottom: 8px; } -.page-row { display: flex; gap: 10px; align-items: flex-start; min-width: 0; } +.page-row { display: flex; gap: 12px; align-items: flex-start; min-width: 0; } .page-row img { - width: 20px; height: 20px; border-radius: 5px; + width: 22px; height: 22px; border-radius: 5px; flex-shrink: 0; margin-top: 2px; } .page-text { min-width: 0; flex: 1; } .page-row .title { - font-size: 12px; font-weight: 700; line-height: 1.45; + font-size: 13px; font-weight: 700; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; unicode-bidi: plaintext; + word-break: break-word; + overflow-wrap: anywhere; } .page-row .url { font-size: 10px; color: var(--muted); margin-top: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; direction: ltr; text-align: left; + max-width: 100%; } .text-rtl { @@ -255,6 +275,7 @@ input[type="text"]:focus, min-height: 140px; display: flex; flex-direction: column; + flex: 1 1 auto; } .selection-panel.has-text { @@ -263,24 +284,30 @@ input[type="text"]:focus, box-shadow: 0 0 0 1px rgba(14, 165, 233, 0.12); } .selection-hint { - padding: 16px; + padding: 18px; border: 1px dashed var(--border); border-radius: var(--radius); text-align: center; background: #fff; + min-height: 120px; + display: flex; + align-items: center; + justify-content: center; } .selection-hint p { margin: 0; - font-size: 11px; + font-size: 12px; color: var(--muted); - line-height: 1.55; + line-height: 1.6; } .selection-head { display: flex; align-items: center; justify-content: space-between; - padding: 12px 14px; + gap: 8px; + padding: 14px 16px; background: linear-gradient(180deg, #fff 0%, #fdfcfa 100%); border-bottom: 1px solid var(--border); + flex-wrap: wrap; } .selection-head .status { display: flex; align-items: center; gap: 8px; @@ -293,24 +320,26 @@ input[type="text"]:focus, background: var(--paper); padding: 4px 8px; border-radius: 999px; } .selection-head .count.active { color: var(--accent); background: var(--accent-soft); } - .selection-body { - flex: 1; - padding: 14px; + flex: 1 1 auto; + padding: 14px 16px; font-size: 13px; - line-height: 1.75; + line-height: 1.65; color: rgba(28, 28, 28, 0.88); - max-height: 220px; + min-height: 80px; + max-height: none; overflow-y: auto; unicode-bidi: plaintext; border-inline-start: 3px solid transparent; + word-break: break-word; + overflow-wrap: anywhere; } .selection-panel.has-text .selection-body { border-inline-start-color: #38bdf8; - padding-inline-start: 16px; + padding-inline-start: 18px; font-style: italic; - font-size: 12px; - max-height: 150px; + font-size: 13px; + min-height: 100px; } .pulse-dot { @@ -328,15 +357,18 @@ input[type="text"]:focus, .clear-btn:hover { color: var(--ink); background: var(--paper); } .actions { - display: flex; flex-direction: column; gap: 10px; - margin-top: auto; padding-top: 6px; + display: flex; flex-direction: column; gap: 12px; + margin-top: auto; padding-top: 8px; } .btn { - padding: 14px 16px; border-radius: var(--radius); border: none; cursor: pointer; - font-weight: 700; font-size: 10px; text-transform: uppercase; + padding: 16px 18px; border-radius: var(--radius); border: none; cursor: pointer; + font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: 0.1em; - display: flex; align-items: center; justify-content: center; gap: 8px; + display: flex; align-items: center; justify-content: center; gap: 10px; + min-height: 48px; transition: transform 0.12s ease, opacity 0.12s ease, filter 0.12s ease; + word-break: break-word; + text-align: center; } .btn:active { transform: scale(0.98); } .btn:disabled { @@ -361,8 +393,9 @@ input[type="text"]:focus, } .btn-secondary:hover:not(:disabled) { background: #e5e7eb; } .btn-sm { - padding: 10px 12px; - font-size: 10px; + padding: 12px 14px; + font-size: 11px; + min-height: 40px; } .btn-danger { background: var(--danger); color: #fff; } .btn-link.link-only { @@ -372,8 +405,8 @@ input[type="text"]:focus, gap: 6px; } .btn-link { - background: none; border: none; color: var(--muted); font-size: 11px; - cursor: pointer; padding: 8px; font-weight: 500; + background: none; border: none; color: var(--muted); font-size: 12px; + cursor: pointer; padding: 10px; font-weight: 500; } .btn-link:hover { color: var(--ink); text-decoration: underline; } .btn-icon { width: 14px; height: 14px; display: inline-flex; } @@ -505,3 +538,23 @@ html[dir="rtl"] .label, html[dir="rtl"] .sub { text-align: right; } + +/* Firefox sidebar : plus large que Chrome Side Panel par défaut, + on aère la mise en page. */ +@-moz-document url-prefix("chrome:") { + .shell { min-height: 100vh; } +} +/* Fallback : on cible aussi le web-extension panel de Firefox */ +@media (min-width: 480px) { + .selection-panel { min-height: 160px; } + .selection-body { font-size: 14px; } + .page-row .title { font-size: 14px; } +} + +/* Très petits écrans (mobile debug, fenetres étirées) */ +@media (max-width: 320px) { + .brand-text { display: none; } + .header-right { gap: 4px; } + .icon-btn { width: 28px; height: 28px; } + .btn { padding: 14px 12px; font-size: 11px; } +} diff --git a/memento-note/extension/dist-firefox/sidepanel.js b/memento-note/extension/dist-firefox/sidepanel.js index d441400..907aacf 100644 --- a/memento-note/extension/dist-firefox/sidepanel.js +++ b/memento-note/extension/dist-firefox/sidepanel.js @@ -160,18 +160,32 @@ async function getActiveTab() { } async function ensureContentScript(tabId) { + // PING initial : si le script est déjà injecté, on retourne immédiatement. try { const resp = await chrome.tabs.sendMessage(tabId, { type: 'PING' }) if (resp?.ok) return true } catch { - /* inject */ + /* pas injecté */ } + // Sinon, injection manuelle via chrome.scripting.executeScript. try { await chrome.scripting.executeScript({ target: { tabId }, files: ['content.js'] }) - return true } catch { return false } + // L'injection est async côté page : le script doit finir de s'initialiser + // (IIFE, listeners, flag globalThis) avant qu'on puisse lui parler. + // On PING avec retry pour attendre qu'il soit prêt. + for (let i = 0; i < 8; i++) { + await new Promise(r => setTimeout(r, 80 + i * 30)) + try { + const resp = await chrome.tabs.sendMessage(tabId, { type: 'PING' }) + if (resp?.ok) return true + } catch { + /* pas encore prêt */ + } + } + return false } async function setPickModeOnTab(enabled) { @@ -181,7 +195,7 @@ async function setPickModeOnTab(enabled) { try { await chrome.tabs.sendMessage(activeTabId, { type: 'SET_PICK_MODE', enabled }) } catch { - /* ignore */ + /* ignore — retry au prochain syncPickMode */ } } diff --git a/memento-note/extension/memento-web-clipper-chrome-store.zip b/memento-note/extension/memento-web-clipper-chrome-store.zip index 0701cc7d1f5222b58b30f58a20c05b541d81db37..cf739c79ac89f6a3f39b93d5fd3312b80f86ef4b 100644 GIT binary patch delta 12071 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 Ok5FhZou^R0uk=4XIx^q@ diff --git a/memento-note/extension/memento-web-clipper-firefox.xpi b/memento-note/extension/memento-web-clipper-firefox.xpi index 62a9bba6b60394c1c0346b2f7da8b28e67cc49b5..77d5db02c60f29ea25118a54b9137301027c475b 100644 GIT binary patch delta 12024 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 Z_`fEmC=Bs0F5~)-R^9(@?bdVN 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 setTimeout(r, 80 + i * 30)) + try { + const resp = await chrome.tabs.sendMessage(tabId, { type: 'PING' }) + if (resp?.ok) return true + } catch { + /* pas encore prêt */ + } + } + return false } async function setPickModeOnTab(enabled) { @@ -181,7 +195,7 @@ async function setPickModeOnTab(enabled) { try { await chrome.tabs.sendMessage(activeTabId, { type: 'SET_PICK_MODE', enabled }) } catch { - /* ignore */ + /* ignore — retry au prochain syncPickMode */ } }