snapexcel 1.2.1 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/index.html +1 -11
- package/src/renderer.js +4 -33
- package/src/styles.css +51 -11
package/package.json
CHANGED
package/src/index.html
CHANGED
|
@@ -23,10 +23,7 @@
|
|
|
23
23
|
</div>
|
|
24
24
|
<h1>Screenshot Logger</h1>
|
|
25
25
|
</div>
|
|
26
|
-
|
|
27
|
-
<button id="btn-minimize-header" class="btn-icon btn-minimize-header hidden" title="Minimize">➖</button>
|
|
28
|
-
</div>
|
|
29
|
-
</header>
|
|
26
|
+
</header>
|
|
30
27
|
|
|
31
28
|
<!-- Setup View -->
|
|
32
29
|
<div id="setup-view" class="view">
|
|
@@ -115,13 +112,6 @@
|
|
|
115
112
|
</div>
|
|
116
113
|
</div>
|
|
117
114
|
|
|
118
|
-
<!-- Secondary Actions -->
|
|
119
|
-
<div class="secondary-actions">
|
|
120
|
-
<button id="btn-note" class="btn btn-secondary btn-full" title="Add Note">
|
|
121
|
-
📝 Add Note
|
|
122
|
-
</button>
|
|
123
|
-
</div>
|
|
124
|
-
|
|
125
115
|
<!-- Screenshots Grid -->
|
|
126
116
|
<div class="screenshots-section">
|
|
127
117
|
<div class="section-header">
|
package/src/renderer.js
CHANGED
|
@@ -33,17 +33,11 @@ const elements = {
|
|
|
33
33
|
btnStartSession: document.getElementById('btn-start-session'),
|
|
34
34
|
btnImportExcel: document.getElementById('btn-import-excel'),
|
|
35
35
|
|
|
36
|
-
// Header
|
|
37
|
-
btnMinimizeHeader: document.getElementById('btn-minimize-header'),
|
|
38
|
-
|
|
39
36
|
// Session Info
|
|
40
37
|
currentFileName: document.getElementById('current-file-name'),
|
|
41
38
|
sheetSelect: document.getElementById('sheet-select'),
|
|
42
39
|
btnAddSheet: document.getElementById('btn-add-sheet'),
|
|
43
40
|
|
|
44
|
-
// Actions
|
|
45
|
-
btnNote: document.getElementById('btn-note'),
|
|
46
|
-
|
|
47
41
|
// Screenshots
|
|
48
42
|
screenshotsGrid: document.getElementById('screenshots-grid'),
|
|
49
43
|
screenshotCount: document.getElementById('screenshot-count'),
|
|
@@ -276,15 +270,6 @@ function setupEventListeners() {
|
|
|
276
270
|
if (e.key === 'Enter') startSession();
|
|
277
271
|
});
|
|
278
272
|
|
|
279
|
-
// Header
|
|
280
|
-
elements.btnMinimizeHeader.addEventListener('click', showMinimalView);
|
|
281
|
-
|
|
282
|
-
// Minimal view capture
|
|
283
|
-
elements.btnCaptureMinimal.addEventListener('click', captureScreenshot);
|
|
284
|
-
|
|
285
|
-
// Secondary Actions
|
|
286
|
-
elements.btnNote.addEventListener('click', openNoteModal);
|
|
287
|
-
|
|
288
273
|
// Sheet Management
|
|
289
274
|
elements.sheetSelect.addEventListener('change', switchSheet);
|
|
290
275
|
elements.btnAddSheet.addEventListener('click', openSheetModal);
|
|
@@ -341,30 +326,15 @@ function setupEventListeners() {
|
|
|
341
326
|
function showSetupView() {
|
|
342
327
|
elements.setupView.classList.remove('hidden');
|
|
343
328
|
elements.captureView.classList.add('hidden');
|
|
344
|
-
elements.minimalView.classList.add('hidden');
|
|
345
|
-
elements.btnMinimizeHeader.classList.add('hidden');
|
|
346
329
|
elements.fileNameInput.focus();
|
|
347
330
|
}
|
|
348
331
|
|
|
349
332
|
function showCaptureView() {
|
|
350
333
|
elements.setupView.classList.add('hidden');
|
|
351
334
|
elements.captureView.classList.remove('hidden');
|
|
352
|
-
elements.minimalView.classList.add('hidden');
|
|
353
|
-
elements.btnMinimizeHeader.classList.remove('hidden');
|
|
354
|
-
state.isMinimalView = false;
|
|
355
335
|
updateUI();
|
|
356
336
|
}
|
|
357
337
|
|
|
358
|
-
function showMinimalView() {
|
|
359
|
-
elements.setupView.classList.add('hidden');
|
|
360
|
-
elements.captureView.classList.add('hidden');
|
|
361
|
-
elements.minimalView.classList.remove('hidden');
|
|
362
|
-
elements.btnMinimizeHeader.classList.add('hidden');
|
|
363
|
-
state.isMinimalView = true;
|
|
364
|
-
ipcRenderer.invoke('set-window-size', { width: 300, height: 180 });
|
|
365
|
-
updateMinimalUI();
|
|
366
|
-
}
|
|
367
|
-
|
|
368
338
|
// ==================== Session Management ====================
|
|
369
339
|
function startSession() {
|
|
370
340
|
const fileName = elements.fileNameInput.value.trim();
|
|
@@ -1311,7 +1281,7 @@ function generatePDFHTML() {
|
|
|
1311
1281
|
.screenshot-row:hover { background: #E6F2FC; }
|
|
1312
1282
|
.col-num { width: 50px; text-align: center; display: flex; align-items: center; justify-content: center; }
|
|
1313
1283
|
.col-screenshot { width: 420px; }
|
|
1314
|
-
.col-notes { flex: 1; font-size: 12px; padding-left: 15px; }
|
|
1284
|
+
.col-notes { flex: 1; font-size: 12px; padding-left: 15px; word-wrap: break-word; overflow-wrap: break-word; word-break: break-word; max-width: 400px; }
|
|
1315
1285
|
.timestamp {
|
|
1316
1286
|
font-size: 11px;
|
|
1317
1287
|
color: #666;
|
|
@@ -1467,11 +1437,12 @@ function generateHTML() {
|
|
|
1467
1437
|
.content { padding: 30px 40px; }
|
|
1468
1438
|
.sheet { margin-bottom: 40px; }
|
|
1469
1439
|
.sheet h2 { color: #041E42; font-size: 20px; margin-bottom: 16px; padding-bottom: 8px; border-bottom: 3px solid #0071DC; }
|
|
1470
|
-
table { width: 100%; border-collapse: collapse; margin-bottom: 20px; }
|
|
1440
|
+
table { width: 100%; border-collapse: collapse; margin-bottom: 20px; table-layout: fixed; }
|
|
1471
1441
|
th { background: #041E42; color: white; padding: 12px 16px; text-align: left; font-weight: 600; }
|
|
1472
|
-
td { padding: 12px 16px; border-bottom: 1px solid #e0e0e0; vertical-align: top; }
|
|
1442
|
+
td { padding: 12px 16px; border-bottom: 1px solid #e0e0e0; vertical-align: top; word-wrap: break-word; overflow-wrap: break-word; }
|
|
1473
1443
|
tr:hover { background: #E6F2FC; }
|
|
1474
1444
|
.timestamp { font-size: 12px; color: #666; margin-bottom: 8px; }
|
|
1445
|
+
td:nth-child(3) { max-width: 400px; word-break: break-word; }
|
|
1475
1446
|
.screenshot-img:hover { transform: scale(1.02); box-shadow: 0 4px 12px rgba(0,0,0,0.15); }
|
|
1476
1447
|
.footer { background: #041E42; color: white; padding: 20px 40px; text-align: center; font-size: 13px; }
|
|
1477
1448
|
|
package/src/styles.css
CHANGED
|
@@ -143,6 +143,17 @@ body {
|
|
|
143
143
|
color: white;
|
|
144
144
|
}
|
|
145
145
|
|
|
146
|
+
.btn-floating-mode {
|
|
147
|
+
background: rgba(255, 255, 255, 0.2);
|
|
148
|
+
border: none;
|
|
149
|
+
color: white;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
.btn-floating-mode:hover {
|
|
153
|
+
background: rgba(255, 255, 255, 0.35);
|
|
154
|
+
transform: scale(1.05);
|
|
155
|
+
}
|
|
156
|
+
|
|
146
157
|
/* Views */
|
|
147
158
|
.view {
|
|
148
159
|
display: flex;
|
|
@@ -519,39 +530,68 @@ body {
|
|
|
519
530
|
display: flex;
|
|
520
531
|
flex-direction: column;
|
|
521
532
|
margin-bottom: 12px;
|
|
533
|
+
background: linear-gradient(145deg, #f4f6f9 0%, #eaeff4 100%);
|
|
534
|
+
border-radius: 5px;
|
|
535
|
+
border: 0.5px solid rgba(4, 30, 66, 0.04);
|
|
536
|
+
padding: 5px;
|
|
522
537
|
}
|
|
523
538
|
|
|
524
539
|
.section-header {
|
|
525
540
|
display: flex;
|
|
526
541
|
align-items: center;
|
|
527
542
|
justify-content: space-between;
|
|
528
|
-
font-size:
|
|
543
|
+
font-size: 11px;
|
|
529
544
|
font-weight: 600;
|
|
530
|
-
color: var(--
|
|
531
|
-
margin-bottom:
|
|
545
|
+
color: var(--primary-color);
|
|
546
|
+
margin-bottom: 5px;
|
|
547
|
+
padding: 0 3px 3px 3px;
|
|
548
|
+
border-bottom: 0.5px solid rgba(4, 30, 66, 0.04);
|
|
532
549
|
}
|
|
533
550
|
|
|
534
551
|
.badge {
|
|
535
552
|
background: var(--primary-color);
|
|
536
553
|
color: white;
|
|
537
|
-
padding: 2px
|
|
538
|
-
border-radius:
|
|
539
|
-
font-size:
|
|
554
|
+
padding: 2px 7px;
|
|
555
|
+
border-radius: 8px;
|
|
556
|
+
font-size: 10px;
|
|
540
557
|
font-weight: 600;
|
|
541
558
|
}
|
|
542
559
|
|
|
543
560
|
.screenshots-grid {
|
|
544
561
|
display: grid;
|
|
545
562
|
grid-template-columns: repeat(4, 1fr);
|
|
546
|
-
gap:
|
|
563
|
+
gap: 8px;
|
|
547
564
|
overflow-y: auto;
|
|
548
|
-
padding:
|
|
549
|
-
background:
|
|
550
|
-
border-radius:
|
|
551
|
-
min-height:
|
|
565
|
+
padding: 5px;
|
|
566
|
+
background: rgba(255, 255, 255, 0.5);
|
|
567
|
+
border-radius: 3px;
|
|
568
|
+
min-height: 70px;
|
|
552
569
|
max-height: 200px;
|
|
553
570
|
}
|
|
554
571
|
|
|
572
|
+
/* Ultra thin scrollbar - both vertical and horizontal */
|
|
573
|
+
.screenshots-grid::-webkit-scrollbar {
|
|
574
|
+
width: 3px;
|
|
575
|
+
height: 3px;
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
.screenshots-grid::-webkit-scrollbar-track {
|
|
579
|
+
background: transparent;
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
.screenshots-grid::-webkit-scrollbar-thumb {
|
|
583
|
+
background: rgba(4, 30, 66, 0.15);
|
|
584
|
+
border-radius: 2px;
|
|
585
|
+
}
|
|
586
|
+
|
|
587
|
+
.screenshots-grid::-webkit-scrollbar-thumb:hover {
|
|
588
|
+
background: rgba(4, 30, 66, 0.3);
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
.screenshots-grid::-webkit-scrollbar-corner {
|
|
592
|
+
background: transparent;
|
|
593
|
+
}
|
|
594
|
+
|
|
555
595
|
.empty-state {
|
|
556
596
|
grid-column: 1 / -1;
|
|
557
597
|
display: flex;
|