Skip to content

Commit 4ce5fae

Browse files
committed
fixing popup to be on top and better dark mode (fixes #20)
1 parent 0fd805c commit 4ce5fae

File tree

2 files changed

+110
-103
lines changed

2 files changed

+110
-103
lines changed

background.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -875,7 +875,7 @@ async function cacheLicenseDbVersion(version) {
875875
async function forceUpdateDatabase() {
876876
try {
877877
// Set badge to indicate update in progress
878-
chrome.action.setBadgeText({ text: 'Updt' });
878+
chrome.action.setBadgeText({ text: 'Updating' });
879879
chrome.action.setBadgeBackgroundColor({ color: '#FF8C00' }); // Orange
880880

881881
// Send initial progress to options page
@@ -1224,7 +1224,7 @@ async function checkForDatabaseUpdates() {
12241224

12251225
try {
12261226
// Set badge to indicate update in progress
1227-
chrome.action.setBadgeText({ text: 'Updt' });
1227+
chrome.action.setBadgeText({ text: 'Updating' });
12281228
chrome.action.setBadgeBackgroundColor({ color: '#FF8C00' }); // Orange
12291229

12301230
// Fetch the license index to check for changes
@@ -1353,4 +1353,4 @@ chrome.alarms.onAlarm.addListener((alarm) => {
13531353
console.error('Error during scheduled update check:', err);
13541354
});
13551355
}
1356-
});
1356+
});

content.css

Lines changed: 107 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#license-diff-ui {
22
font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
3-
position: fixed;
3+
position: fixed !important;
44
background-color: #fff;
55
top: 20px;
66
right: 20px;
@@ -13,7 +13,7 @@
1313
border-radius: 12px;
1414
box-shadow: 0 8px 28px rgba(0, 0, 0, 0.15), 0 2px 10px rgba(0, 0, 0, 0.08);
1515
padding: 20px;
16-
z-index: 999;
16+
z-index: 2147483647; /* max */
1717
overflow: hidden;
1818
flex-direction: column;
1919
display: none; /* Hidden by default */
@@ -93,27 +93,50 @@
9393
}
9494

9595
#license-diff-dropdown {
96-
width: 100%;
96+
width: 100% !important;
97+
max-width: none !important;
98+
min-width: 0 !important;
99+
flex: 0 0 auto !important; /* defeat global flex rules */
100+
align-self: stretch !important; /* defeat grid/flex auto sizing */
97101
margin-bottom: 16px;
98-
padding: 10px 12px;
102+
padding: 10px 36px 12px 12px !important; /* extra bottom pad helps on Windows */
99103
border-radius: 8px;
100104
border: 1px solid rgba(0, 0, 0, 0.15);
101105
font-family: inherit;
102-
font-size: 14px;
103-
appearance: none;
106+
font-size: 14px !important;
107+
min-height: 40px !important;
108+
line-height: normal !important;
109+
box-sizing: border-box !important;
110+
height: auto !important;
111+
white-space: nowrap !important;
112+
text-overflow: ellipsis !important;
113+
overflow: hidden !important;
114+
color: #333 !important;
115+
-webkit-text-fill-color: #333 !important; /* Safari/Chrome fix */
116+
text-indent: 0 !important;
117+
letter-spacing: normal !important;
118+
word-spacing: normal !important;
119+
text-transform: none !important;
120+
filter: none !important;
121+
transform: none !important;
122+
appearance: none !important;
123+
-webkit-appearance: none !important;
104124
background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23666666%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.4-12.8z%22%2F%3E%3C%2Fsvg%3E");
105125
background-repeat: no-repeat;
106-
background-position: right 12px top 50%;
126+
background-position: right 12px center !important;
107127
background-size: 10px auto;
108128
cursor: pointer;
109129
transition: all 0.2s ease;
110130
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
111131
}
112132

113-
#license-diff-dropdown:focus {
114-
border-color: #4CAF50;
115-
outline: none;
116-
box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.15);
133+
/* Option text visibility (some sites/theme overrides) */
134+
#license-diff-dropdown option {
135+
font-size: 14px !important;
136+
line-height: 1.4 !important;
137+
color: #333 !important;
138+
-webkit-text-fill-color: #333 !important;
139+
background-color: #fff !important;
117140
}
118141

119142
#license-diff-status {
@@ -130,7 +153,7 @@
130153
}
131154

132155
#license-diff-url a {
133-
color: #3d8b3d;
156+
color: #439843;
134157
text-decoration: none;
135158
font-weight: 500;
136159
transition: all 0.2s ease;
@@ -178,7 +201,7 @@
178201

179202
/* Notification container - move to the top of the viewport */
180203
#license-diff-notifications {
181-
width: 100%;
204+
width: 100% !important;
182205
margin-bottom: 16px;
183206
overflow: visible; /* Changed from hidden to allow notifications to be visible */
184207
position: sticky; /* Make notifications stick to the top when scrolling */
@@ -188,7 +211,9 @@
188211

189212
/* Individual notification - improved visibility */
190213
.license-diff-notification {
191-
width: calc(100% - 24px);
214+
width: calc(100% - 24px) !important;
215+
margin: auto !important;
216+
padding-inline: inherit !important;
192217
padding: 12px;
193218
margin-bottom: 12px;
194219
border-radius: 8px;
@@ -218,7 +243,7 @@
218243
to {
219244
opacity: 0;
220245
transform: translateY(-10px);
221-
}
246+
}
222247
}
223248

224249
/* Styling for diff results */
@@ -323,7 +348,7 @@
323348
color: #155724;
324349
border-left: 4px solid #28a745;
325350
}
326-
351+
327352
#license-diff-display {
328353
background-color: #fafafa;
329354
border: 1px solid #eee;
@@ -353,119 +378,101 @@
353378
}
354379
}
355380

381+
/* High-contrast dark mode overrides (place after your existing dark-mode block) */
356382
@media (prefers-color-scheme: dark) {
383+
/* Surfaces and text */
357384
#license-diff-ui {
358-
background-color: #2d2d2d;
359-
color: #e0e0e0;
360-
border: 1px solid rgba(255, 255, 255, 0.1);
361-
}
362-
363-
#license-diff-ui button {
364-
color: #ccc;
365-
}
366-
367-
#license-diff-ui button:hover {
368-
background-color: rgba(255, 255, 255, 0.1);
369-
}
370-
371-
#license-diff-ui h3 {
372-
border-bottom-color: #444;
385+
background-color: #1f1f23; /* darker surface */
386+
color: #f1f5f9; /* near-white text */
387+
border-color: #3b3e46;
373388
}
374-
375389
#license-diff-status {
376-
color: #aaa;
390+
color: #cbd5e1; /* muted but readable on #1f1f23 */
377391
}
378-
392+
393+
/* Progress */
379394
#license-diff-progress-container {
380-
background-color: rgba(255, 255, 255, 0.1);
395+
background-color: #2b2d31;
381396
}
382-
383397
#license-diff-progress {
384-
background-color: #6abf69;
398+
background-color: #22c55e; /* brighter green for visibility */
385399
}
386-
400+
401+
/* Dropdown */
387402
#license-diff-dropdown {
388-
background-color: #3d3d3d;
389-
color: #e0e0e0;
390-
border-color: rgba(255, 255, 255, 0.2);
391-
background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23cccccc%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.4-12.8z%22%2F%3E%3C%2Fsvg%3E");
392-
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
403+
background-color: #2b2d31;
404+
color: #f1f5f9 !important;
405+
-webkit-text-fill-color: #f1f5f9 !important;
406+
border-color: #475569;
407+
background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg xmlns='http://www.w3.org/2000/svg' width='292.4' height='292.4'%3E%3Cpath fill='%23cbd5e1' d='M287 69.4a17.6 17.6 0 0 0-13-5.4H18.4c-5 0-9.3 1.8-12.9 5.4A17.6 17.6 0 0 0 0 82.2c0 5 1.8 9.3 5.4 12.9l128 127.9c3.6 3.6 7.8 5.4 12.8 5.4s9.2-1.8 12.8-5.4L287 95c3.5-3.5 5.4-7.8 5.4-12.8 0-5-1.9-9.2-5.4-12.8z'/%3E%3C/svg%3E");
393408
}
394-
395409
#license-diff-dropdown:focus {
396-
border-color: #6abf69;
397-
box-shadow: 0 0 0 3px rgba(106, 191, 105, 0.25);
410+
border-color: #22c55e;
411+
box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.35);
398412
}
399-
400-
#license-diff-url a {
401-
color: #8dd28d;
402-
}
403-
404-
#license-diff-url a:hover {
405-
color: #a8e2a8;
406-
border-bottom: 1px dotted #a8e2a8;
407-
}
408-
409-
#license-diff-display {
410-
background-color: #333;
411-
border: 1px solid rgba(255, 255, 255, 0.1);
413+
414+
/* Buttons */
415+
.copy-spdx-button {
416+
color: #cbd5e1;
412417
}
413-
414-
#license-diff-display::-webkit-scrollbar-thumb {
415-
background-color: rgba(255, 255, 255, 0.2);
418+
.copy-spdx-button:hover {
419+
color: #f8fafc;
420+
background-color: rgba(255, 255, 255, 0.08);
416421
}
417-
418-
#license-diff-display::-webkit-scrollbar-thumb:hover {
419-
background-color: rgba(255, 255, 255, 0.3);
422+
.copy-spdx-button.copied {
423+
background-color: rgba(34, 197, 94, 0.2);
424+
color: #22c55e;
420425
}
421-
426+
427+
/* Notifications (aim for strong text/background contrast) */
422428
.license-diff-notification.info {
423-
background-color: #204251;
424-
color: #9bdaf1;
425-
border-left: 4px solid #17a2b8;
429+
background-color: #0b2a3a; /* deep cyan */
430+
color: #cfeaf5;
431+
border-left: 4px solid #38bdf8;
426432
}
427-
428433
.license-diff-notification.warning {
429-
background-color: #3e3219;
430-
color: #ffd970;
431-
border-left: 4px solid #ffc107;
434+
background-color: #2a1f00; /* deep amber */
435+
color: #ffe08a;
436+
border-left: 4px solid #fbbf24;
432437
}
433-
434438
.license-diff-notification.error {
435-
background-color: #442126;
436-
color: #f1adb5;
437-
border-left: 4px solid #dc3545;
439+
background-color: #3a0d12; /* deep red */
440+
color: #fecdd3;
441+
border-left: 4px solid #f87171;
438442
}
439-
440443
.license-diff-notification.success {
441-
background-color: #1d3a26;
442-
color: #8eda99;
443-
border-left: 4px solid #28a745;
444+
background-color: #0f2a1a; /* deep green */
445+
color: #d1f7da;
446+
border-left: 4px solid #34d399;
447+
}
448+
449+
/* Diff highlights */
450+
#license-diff-display {
451+
background-color: #1e2127;
452+
border: 1px solid #3b3e46;
444453
}
445-
446454
#license-diff-display ins {
447-
background-color: #1b401b;
448-
color: #8eda99;
449-
box-shadow: 0 0 0 1px rgba(142, 218, 153, 0.3);
455+
background-color: #0f2a1a !important;
456+
color: #d1f7da !important;
457+
box-shadow: 0 0 0 1px rgba(52, 211, 153, 0.35) !important;;
450458
}
451-
452459
#license-diff-display del {
453-
background-color: #471818;
454-
color: #f1adb5;
455-
box-shadow: 0 0 0 1px rgba(241, 173, 181, 0.3);
460+
background-color: #3a0d12 !important;
461+
color: #fecdd3 !important;
462+
box-shadow: 0 0 0 1px rgba(248, 113, 113, 0.35) !important;;
456463
}
457-
458-
.copy-spdx-button {
459-
color: #aaa;
464+
#license-diff-display::-webkit-scrollbar-thumb {
465+
background-color: #4b5563;
460466
}
461-
462-
.copy-spdx-button:hover {
463-
color: #eee;
464-
background-color: rgba(255, 255, 255, 0.1);
467+
#license-diff-display::-webkit-scrollbar-thumb:hover {
468+
background-color: #64748b;
465469
}
466-
467-
.copy-spdx-button.copied {
468-
background-color: rgba(106, 191, 105, 0.2);
469-
color: #6abf69;
470+
471+
/* Focus visibility (keyboard a11y) */
472+
#license-diff-ui button:focus-visible,
473+
#license-diff-dropdown:focus-visible {
474+
outline: 3px solid #22c55e;
475+
outline-offset: 2px;
476+
border-radius: 6px;
470477
}
471478
}

0 commit comments

Comments
 (0)