@cccarv82/freya 1.0.35 → 1.0.37

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
@@ -174,6 +174,46 @@ body {
174
174
  padding: 14px 16px;
175
175
  border-bottom: 1px solid var(--line);
176
176
  background: linear-gradient(90deg, rgba(255,250,242,.75), rgba(255,250,242,.45));
177
+ /* Align vertical dividers with the 3-column shell */
178
+ position: relative;
179
+ }
180
+
181
+ /* Draw column dividers through the topbar to avoid misalignment “TOC” */
182
+ .topbar::before {
183
+ content: '';
184
+ position: absolute;
185
+ inset: 0;
186
+ pointer-events: none;
187
+ background:
188
+ linear-gradient(to right,
189
+ transparent 0,
190
+ transparent 290px,
191
+ var(--line) 290px,
192
+ var(--line) 291px,
193
+ transparent 291px,
194
+ transparent calc(100% - 380px),
195
+ var(--line) calc(100% - 380px),
196
+ var(--line) calc(100% - 379px),
197
+ transparent calc(100% - 379px)
198
+ );
199
+ opacity: .9;
200
+ }
201
+
202
+ @media (max-width: 1200px) {
203
+ .topbar::before {
204
+ background:
205
+ linear-gradient(to right,
206
+ transparent 0,
207
+ transparent 290px,
208
+ var(--line) 290px,
209
+ var(--line) 291px,
210
+ transparent 291px
211
+ );
212
+ }
213
+ }
214
+
215
+ @media (max-width: 860px) {
216
+ .topbar::before { display: none; }
177
217
  }
178
218
 
179
219
  [data-theme="dark"] .topbar { background: linear-gradient(90deg, rgba(17,24,39,.88), rgba(17,24,39,.55)); }
package/cli/web-ui.js CHANGED
@@ -20,7 +20,7 @@
20
20
  document.documentElement.setAttribute('data-theme', theme);
21
21
  localStorage.setItem('freya.theme', theme);
22
22
  const t = $('themeToggle');
23
- if (t) t.textContent = theme === 'dark' ? 'Light' : 'Dark';
23
+ if (t) t.textContent = theme === 'dark' ? 'Claro' : 'Escuro';
24
24
  }
25
25
 
26
26
  function toggleTheme() {
@@ -162,7 +162,7 @@
162
162
  state.lastText = '';
163
163
  const el = $('reportPreview');
164
164
  if (el) el.innerHTML = '';
165
- setPill('ok', 'idle');
165
+ setPill('ok', 'pronto');
166
166
  }
167
167
 
168
168
  async function copyOut() {
@@ -899,9 +899,11 @@
899
899
  }
900
900
 
901
901
  refreshReports();
902
+ refreshToday();
903
+ reloadSlugRules();
902
904
  })();
903
905
 
904
- setPill('ok', 'idle');
906
+ setPill('ok', 'pronto');
905
907
 
906
908
  // Expose handlers for inline onclick
907
909
  window.doInit = doInit;
package/cli/web.js CHANGED
@@ -688,13 +688,14 @@ function buildHtml(safeDefault) {
688
688
 
689
689
  <div class="sideGroup">
690
690
  <div class="sideTitle">Workspaces</div>
691
+ <div class="help" style="margin-top:-4px">Selecione sua pasta <code>freya/</code> e sincronize quando precisar.</div>
691
692
  <div class="row" style="grid-template-columns: 1fr auto">
692
693
  <input id="dir" placeholder="./freya" />
693
694
  <button class="btn small" onclick="pickDir()">Browse</button>
694
695
  </div>
695
696
  <div class="stack" style="margin-top:10px">
696
- <button class="btn sideBtn" onclick="doUpdate()">Sync workspace</button>
697
- <button class="btn sideBtn" onclick="doMigrate()">Migrate data</button>
697
+ <button class="btn sideBtn" onclick="doUpdate()">Sincronizar workspace</button>
698
+ <button class="btn sideBtn" onclick="doMigrate()">Migrar dados</button>
698
699
  </div>
699
700
  <div style="height:10px"></div>
700
701
  <div class="help"><b>Sync workspace</b>: atualiza scripts/templates/agents na pasta <code>freya</code> sem sobrescrever <code>data/</code> e <code>logs/</code>.</div>
@@ -702,18 +703,18 @@ function buildHtml(safeDefault) {
702
703
  </div>
703
704
 
704
705
  <div class="sideGroup">
705
- <div class="sideTitle">Quick reports</div>
706
+ <div class="sideTitle">Relatórios rápidos</div>
706
707
  <div class="cardsMini">
707
- <button class="miniCard" type="button" onclick="runReport('status')"><span class="miniIcon">E</span><span>Executive</span></button>
708
- <button class="miniCard" type="button" onclick="runReport('sm-weekly')"><span class="miniIcon">S</span><span>SM weekly</span></button>
709
- <button class="miniCard" type="button" onclick="runReport('blockers')"><span class="miniIcon warn">B</span><span>Blockers</span></button>
708
+ <button class="miniCard" type="button" onclick="runReport('status')"><span class="miniIcon">E</span><span>Executivo</span></button>
709
+ <button class="miniCard" type="button" onclick="runReport('sm-weekly')"><span class="miniIcon">S</span><span>SM semanal</span></button>
710
+ <button class="miniCard" type="button" onclick="runReport('blockers')"><span class="miniIcon warn">B</span><span>Bloqueios</span></button>
710
711
  <button class="miniCard" type="button" onclick="runReport('daily')"><span class="miniIcon">D</span><span>Daily</span></button>
711
712
  </div>
712
713
  <div class="help" style="margin-top:8px">Clique para gerar e atualizar o preview/publicação.</div>
713
714
  </div>
714
715
 
715
716
  <div class="sideGroup">
716
- <div class="sideTitle">Tips</div>
717
+ <div class="sideTitle">Atalhos</div>
717
718
  <div class="help"><span class="k">--dev</span> cria dados de exemplo para testar rápido.</div>
718
719
  <div style="height:8px"></div>
719
720
  <div class="help"><span class="k">--port</span> muda a porta (default 3872).</div>
@@ -723,18 +724,18 @@ function buildHtml(safeDefault) {
723
724
  <!-- MIDDLE: Reports / Today -->
724
725
  <main class="center">
725
726
  <div class="topbar">
726
- <div class="brand"><span class="spark"></span> Local-first status assistant</div>
727
+ <div class="brand"><span class="spark"></span> Assistente de status local-first</div>
727
728
  <div class="actions">
728
729
  <span class="chip" id="chipPort">127.0.0.1:3872</span>
729
- <button class="toggle" id="themeToggle" onclick="toggleTheme()">Theme</button>
730
+ <button class="toggle" id="themeToggle" onclick="toggleTheme()">Escuro</button>
730
731
  </div>
731
732
  </div>
732
733
 
733
734
  <div class="centerBody">
734
735
  <div class="centerHead">
735
736
  <div>
736
- <h1 style="margin:0">Your day at a glance</h1>
737
- <div class="subtitle">Workspaces, Today (tasks/blockers), reports & preview. Use the right panel as a chat-style capture.</div>
737
+ <h1 style="margin:0">Seu dia em um painel</h1>
738
+ <div class="subtitle">Workspaces, Hoje (tarefas/bloqueios), relatórios e preview. Use o painel da direita como um “chat para capturar updates.</div>
738
739
  </div>
739
740
  <div class="statusLine">
740
741
  <span class="small" id="last"></span>
@@ -744,31 +745,31 @@ function buildHtml(safeDefault) {
744
745
  <div class="midGrid">
745
746
  <section class="panel">
746
747
  <div class="panelHead">
747
- <b>Today</b>
748
+ <b>Hoje</b>
748
749
  <div class="stack">
749
- <button class="btn small" onclick="refreshToday()">Refresh</button>
750
+ <button class="btn small" onclick="refreshToday()">Atualizar</button>
750
751
  </div>
751
752
  </div>
752
753
  <div class="panelBody">
753
- <div class="small" style="margin-bottom:8px; opacity:.8">Do Now</div>
754
+ <div class="small" style="margin-bottom:8px; opacity:.8">Fazer agora</div>
754
755
  <div id="tasksList" style="display:grid; gap:8px"></div>
755
756
  <div style="height:12px"></div>
756
- <div class="small" style="margin-bottom:8px; opacity:.8">Open blockers</div>
757
+ <div class="small" style="margin-bottom:8px; opacity:.8">Bloqueios abertos</div>
757
758
  <div id="blockersList" style="display:grid; gap:8px"></div>
758
759
  </div>
759
760
  </section>
760
761
 
761
762
  <section class="panel">
762
763
  <div class="panelHead">
763
- <b>Reports</b>
764
+ <b>Relatórios</b>
764
765
  <div class="stack">
765
- <button class="btn small" onclick="refreshReports()">Refresh</button>
766
+ <button class="btn small" onclick="refreshReports()">Atualizar</button>
766
767
  </div>
767
768
  </div>
768
769
  <div class="panelBody">
769
770
  <input id="reportsFilter" placeholder="filter (ex: daily, executive, 2026-01-29)" style="width:100%; margin-bottom:10px" oninput="renderReportsList()" />
770
771
  <div id="reportsList" style="display:grid; gap:8px"></div>
771
- <div class="help">Últimos relatórios em <code>docs/reports</code>. Clique para abrir preview.</div>
772
+ <div class="help">Últimos relatórios em <code>docs/reports</code>. Clique para abrir o preview.</div>
772
773
  </div>
773
774
  </section>
774
775
 
@@ -792,11 +793,11 @@ function buildHtml(safeDefault) {
792
793
  </div>
793
794
 
794
795
  <details class="devDrawer" id="devDrawer">
795
- <summary>Developer</summary>
796
+ <summary>Developer (modo avançado)</summary>
796
797
  <div class="devBody">
797
798
  <div class="devGrid">
798
799
  <div class="panel">
799
- <div class="panelHead"><b>Publish settings</b></div>
800
+ <div class="panelHead"><b>Configurações de publicação</b></div>
800
801
  <div class="panelBody">
801
802
  <label>Discord webhook URL</label>
802
803
  <input id="discord" placeholder="https://discord.com/api/webhooks/..." />
@@ -821,7 +822,7 @@ function buildHtml(safeDefault) {
821
822
  </div>
822
823
 
823
824
  <div class="panel">
824
- <div class="panelHead"><b>Slug rules & export</b></div>
825
+ <div class="panelHead"><b>Slugs & Export</b></div>
825
826
  <div class="panelBody">
826
827
  <label>Project slug rules</label>
827
828
  <textarea id="slugRules" rows="8" placeholder="{ \"rules\": [ { \"contains\": \"fideliza\", \"slug\": \"vivo/fidelizacao\" } ] }" style="width:100%; padding:10px 12px; border-radius:12px; border:1px solid var(--line); background: rgba(255,255,255,.72); color: var(--text); outline:none; resize: vertical; font-family: var(--mono);"></textarea>
@@ -852,7 +853,7 @@ function buildHtml(safeDefault) {
852
853
  <div class="chatHead">
853
854
  <div>
854
855
  <div class="chatTitle">Chat</div>
855
- <div class="chatSub">Capture updates, then let Agents plan/apply.</div>
856
+ <div class="chatSub">Cole seus updates e deixe os Agents planejar/aplicar.</div>
856
857
  </div>
857
858
  </div>
858
859
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cccarv82/freya",
3
- "version": "1.0.35",
3
+ "version": "1.0.37",
4
4
  "description": "Personal AI Assistant with local-first persistence",
5
5
  "scripts": {
6
6
  "health": "node scripts/validate-data.js",