@cccarv82/freya 1.0.39 → 1.0.41

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/cli/web-ui.css CHANGED
@@ -42,6 +42,23 @@
42
42
 
43
43
  * { box-sizing: border-box; }
44
44
 
45
+ /* Subtle themed scrollbars (best-effort) */
46
+ * { scrollbar-color: rgba(17,24,39,.32) transparent; scrollbar-width: thin; }
47
+ [data-theme="dark"] * { scrollbar-color: rgba(229,231,235,.28) transparent; }
48
+
49
+ *::-webkit-scrollbar { width: 10px; height: 10px; }
50
+ *::-webkit-scrollbar-track { background: transparent; }
51
+ *::-webkit-scrollbar-thumb {
52
+ background: rgba(17,24,39,.18);
53
+ border: 3px solid transparent;
54
+ background-clip: content-box;
55
+ border-radius: 999px;
56
+ }
57
+ [data-theme="dark"] *::-webkit-scrollbar-thumb { background: rgba(229,231,235,.16); }
58
+ *::-webkit-scrollbar-thumb:hover { background: rgba(17,24,39,.28); }
59
+ [data-theme="dark"] *::-webkit-scrollbar-thumb:hover { background: rgba(229,231,235,.26); }
60
+
61
+
45
62
  body {
46
63
  margin: 0;
47
64
  font-family: var(--sans);
@@ -193,7 +210,11 @@ body {
193
210
  [data-theme="dark"] .chip { background: rgba(0,0,0,.20); }
194
211
  .toggle { border: 1px solid var(--line); border-radius: 999px; background: var(--paper2); padding: 7px 10px; cursor: pointer; color: var(--muted); font-weight: 800; font-size: 12px; }
195
212
 
196
- .centerBody { padding: 16px; overflow: auto; min-height: 0; }
213
+ .centerBody {
214
+ padding: 16px;
215
+ overflow: auto;
216
+ min-height: 0;
217
+ }
197
218
  .centerHead { display: flex; justify-content: space-between; align-items: flex-end; gap: 18px; margin-bottom: 14px; }
198
219
  .statusLine { display:flex; align-items:center; justify-content:flex-end; gap: 12px; }
199
220
 
@@ -212,6 +233,13 @@ h1 { margin: 0; font-size: 22px; letter-spacing: -.02em; }
212
233
  .panelHead b { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
213
234
  .panelBody { padding: 12px; }
214
235
 
236
+ /* Fixed-height panel bodies (Today/Reports) to keep layout stable + show vertical scroll */
237
+ .panelBody.panelScroll {
238
+ max-height: clamp(280px, 42vh, 520px);
239
+ overflow: auto;
240
+ overscroll-behavior: contain;
241
+ }
242
+
215
243
  /* DEV DRAWER */
216
244
  .devDrawer { margin-top: 14px; border: 1px dashed var(--line2); border-radius: var(--radius); background: rgba(255,250,242,.42); }
217
245
  [data-theme="dark"] .devDrawer { background: rgba(0,0,0,.18); }
@@ -322,6 +350,7 @@ textarea:focus { box-shadow: var(--ring); border-color: rgba(37,99,235,.35); }
322
350
  display: flex;
323
351
  flex-direction: column;
324
352
  gap: 10px;
353
+ overscroll-behavior: contain;
325
354
  }
326
355
 
327
356
  .bubble {
@@ -333,7 +362,20 @@ textarea:focus { box-shadow: var(--ring); border-color: rgba(37,99,235,.35); }
333
362
  }
334
363
 
335
364
  .bubble .bubbleMeta { font-size: 11px; font-weight: 900; color: var(--faint); margin-bottom: 6px; }
336
- .bubble .bubbleBody { font-size: 13px; line-height: 1.45; color: var(--text); }
365
+ .bubble .bubbleBody {
366
+ font-size: 13px;
367
+ line-height: 1.45;
368
+ color: var(--text);
369
+ overflow-wrap: anywhere;
370
+ word-break: break-word;
371
+ }
372
+
373
+ /* Prevent horizontal scroll in chat bubbles when showing JSON/markdown/code */
374
+ .bubble pre, .bubble code {
375
+ white-space: pre-wrap;
376
+ word-break: break-word;
377
+ overflow-x: hidden;
378
+ }
337
379
 
338
380
  .bubble.user {
339
381
  align-self: flex-end;
package/cli/web.js CHANGED
@@ -750,7 +750,7 @@ function buildHtml(safeDefault) {
750
750
  <button class="btn small" onclick="refreshToday()">Atualizar</button>
751
751
  </div>
752
752
  </div>
753
- <div class="panelBody">
753
+ <div class="panelBody panelScroll">
754
754
  <div class="small" style="margin-bottom:8px; opacity:.8">Fazer agora</div>
755
755
  <div id="tasksList" style="display:grid; gap:8px"></div>
756
756
  <div style="height:12px"></div>
@@ -766,7 +766,7 @@ function buildHtml(safeDefault) {
766
766
  <button class="btn small" onclick="refreshReports()">Atualizar</button>
767
767
  </div>
768
768
  </div>
769
- <div class="panelBody">
769
+ <div class="panelBody panelScroll">
770
770
  <input id="reportsFilter" placeholder="filter (ex: daily, executive, 2026-01-29)" style="width:100%; margin-bottom:10px" oninput="renderReportsList()" />
771
771
  <div id="reportsList" style="display:grid; gap:8px"></div>
772
772
  <div class="help">Últimos relatórios em <code>docs/reports</code>. Clique para abrir o preview.</div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cccarv82/freya",
3
- "version": "1.0.39",
3
+ "version": "1.0.41",
4
4
  "description": "Personal AI Assistant with local-first persistence",
5
5
  "scripts": {
6
6
  "health": "node scripts/validate-data.js",