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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "snapexcel",
3
- "version": "1.2.1",
3
+ "version": "1.2.2",
4
4
  "description": "Desktop Screenshot Logger for UI Testing - Capture any window including Android emulators",
5
5
  "main": "src/main.js",
6
6
  "bin": {
package/src/index.html CHANGED
@@ -23,10 +23,7 @@
23
23
  </div>
24
24
  <h1>Screenshot Logger</h1>
25
25
  </div>
26
- <div class="header-actions">
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: 12px;
543
+ font-size: 11px;
529
544
  font-weight: 600;
530
- color: var(--text-secondary);
531
- margin-bottom: 10px;
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 8px;
538
- border-radius: 10px;
539
- font-size: 11px;
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: 10px;
563
+ gap: 8px;
547
564
  overflow-y: auto;
548
- padding: 10px;
549
- background: var(--background-secondary);
550
- border-radius: var(--border-radius-sm);
551
- min-height: 80px;
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;