@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 +40 -0
- package/cli/web-ui.js +5 -3
- package/cli/web.js +23 -22
- package/package.json +1 -1
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' ? '
|
|
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', '
|
|
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', '
|
|
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()">
|
|
697
|
-
<button class="btn sideBtn" onclick="doMigrate()">
|
|
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">
|
|
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>
|
|
708
|
-
<button class="miniCard" type="button" onclick="runReport('sm-weekly')"><span class="miniIcon">S</span><span>SM
|
|
709
|
-
<button class="miniCard" type="button" onclick="runReport('blockers')"><span class="miniIcon warn">B</span><span>
|
|
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">
|
|
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>
|
|
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()">
|
|
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">
|
|
737
|
-
<div class="subtitle">Workspaces,
|
|
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>
|
|
748
|
+
<b>Hoje</b>
|
|
748
749
|
<div class="stack">
|
|
749
|
-
<button class="btn small" onclick="refreshToday()">
|
|
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">
|
|
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">
|
|
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>
|
|
764
|
+
<b>Relatórios</b>
|
|
764
765
|
<div class="stack">
|
|
765
|
-
<button class="btn small" onclick="refreshReports()">
|
|
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>
|
|
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>
|
|
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">
|
|
856
|
+
<div class="chatSub">Cole seus updates e deixe os Agents planejar/aplicar.</div>
|
|
856
857
|
</div>
|
|
857
858
|
</div>
|
|
858
859
|
|