phaibel 4.0.38 → 4.0.39
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/dist/service/web-client.html +0 -129
- package/package.json +1 -1
|
@@ -289,58 +289,7 @@
|
|
|
289
289
|
flex-shrink: 0;
|
|
290
290
|
}
|
|
291
291
|
|
|
292
|
-
/* ── Content Types panel ────────────────────────────── */
|
|
293
292
|
|
|
294
|
-
.ctype-item {
|
|
295
|
-
padding: 6px 8px;
|
|
296
|
-
border-bottom: 1px solid rgba(255,255,255,0.04);
|
|
297
|
-
border-radius: 4px;
|
|
298
|
-
cursor: pointer;
|
|
299
|
-
transition: background 0.15s;
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
.ctype-item:last-child { border-bottom: none; }
|
|
303
|
-
.ctype-item:hover { background: rgba(255,255,255,0.06); }
|
|
304
|
-
|
|
305
|
-
.ctype-header {
|
|
306
|
-
display: flex;
|
|
307
|
-
align-items: center;
|
|
308
|
-
gap: 6px;
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
.ctype-name {
|
|
312
|
-
font-size: 12px;
|
|
313
|
-
font-weight: 600;
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
.ctype-count {
|
|
317
|
-
font-size: 10px;
|
|
318
|
-
color: var(--dim);
|
|
319
|
-
margin-left: auto;
|
|
320
|
-
flex-shrink: 0;
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
.ctype-desc {
|
|
324
|
-
font-size: 10px;
|
|
325
|
-
color: var(--dim);
|
|
326
|
-
line-height: 1.3;
|
|
327
|
-
margin-top: 2px;
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
.ctype-fields {
|
|
331
|
-
display: flex;
|
|
332
|
-
flex-wrap: wrap;
|
|
333
|
-
gap: 3px;
|
|
334
|
-
margin-top: 4px;
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
.ctype-field {
|
|
338
|
-
font-size: 9px;
|
|
339
|
-
padding: 1px 5px;
|
|
340
|
-
border-radius: 3px;
|
|
341
|
-
background: rgba(255,255,255,0.06);
|
|
342
|
-
color: var(--dim);
|
|
343
|
-
}
|
|
344
293
|
|
|
345
294
|
/* ── Insights panel ─────────────────────────────────── */
|
|
346
295
|
|
|
@@ -1189,10 +1138,6 @@
|
|
|
1189
1138
|
<div id="timeline-body">
|
|
1190
1139
|
<div class="empty-state">Loading…</div>
|
|
1191
1140
|
</div>
|
|
1192
|
-
<div class="panel-section-title" style="margin-top: 16px;">Content Types</div>
|
|
1193
|
-
<div id="content-types-body">
|
|
1194
|
-
<div class="empty-state">Loading…</div>
|
|
1195
|
-
</div>
|
|
1196
1141
|
<div class="panel-section-title" style="margin-top: 16px;">Insights</div>
|
|
1197
1142
|
<div id="insights-body">
|
|
1198
1143
|
<div class="empty-state">No insights yet</div>
|
|
@@ -1547,79 +1492,6 @@ async function markTaskDone(checkEl) {
|
|
|
1547
1492
|
return days + 'd ago';
|
|
1548
1493
|
}
|
|
1549
1494
|
|
|
1550
|
-
// ── Content Types ────────────────────────────────────────
|
|
1551
|
-
var contentTypesBody = document.getElementById('content-types-body');
|
|
1552
|
-
|
|
1553
|
-
async function fetchContentTypes() {
|
|
1554
|
-
try {
|
|
1555
|
-
const [typesRes, calRes] = await Promise.all([
|
|
1556
|
-
fetch('/api/types'),
|
|
1557
|
-
fetch('/api/calendar'),
|
|
1558
|
-
]);
|
|
1559
|
-
const types = await typesRes.json();
|
|
1560
|
-
const calItems = await calRes.json();
|
|
1561
|
-
|
|
1562
|
-
// Count entities per type from calendar data (which includes all dated entities)
|
|
1563
|
-
// Also fetch entity counts per type via listing
|
|
1564
|
-
const counts = {};
|
|
1565
|
-
for (const item of calItems) {
|
|
1566
|
-
var t = item.entityType || '';
|
|
1567
|
-
counts[t] = (counts[t] || 0) + 1;
|
|
1568
|
-
}
|
|
1569
|
-
|
|
1570
|
-
renderContentTypes(types, counts);
|
|
1571
|
-
} catch {
|
|
1572
|
-
contentTypesBody.innerHTML = '<div class="empty-state">Failed to load.</div>';
|
|
1573
|
-
}
|
|
1574
|
-
}
|
|
1575
|
-
|
|
1576
|
-
function renderContentTypes(types, counts) {
|
|
1577
|
-
if (!types || types.length === 0) {
|
|
1578
|
-
contentTypesBody.innerHTML = '<div class="empty-state">No content types.</div>';
|
|
1579
|
-
return;
|
|
1580
|
-
}
|
|
1581
|
-
|
|
1582
|
-
var html = '';
|
|
1583
|
-
for (var i = 0; i < types.length; i++) {
|
|
1584
|
-
var t = types[i];
|
|
1585
|
-
var count = counts[t.name] || '';
|
|
1586
|
-
var countLabel = count ? count + '' : '';
|
|
1587
|
-
var desc = t.description || '';
|
|
1588
|
-
var fields = (t.fields || []).slice(0, 6);
|
|
1589
|
-
|
|
1590
|
-
html += '<div class="ctype-item" onclick="chatContentType(\'' + esc(t.plural) + '\')">'
|
|
1591
|
-
+ '<div class="ctype-header">'
|
|
1592
|
-
+ '<span class="ctype-name">' + esc(t.plural) + '</span>'
|
|
1593
|
-
+ (countLabel ? '<span class="ctype-count">' + esc(countLabel) + '</span>' : '')
|
|
1594
|
-
+ '</div>';
|
|
1595
|
-
|
|
1596
|
-
if (desc) {
|
|
1597
|
-
html += '<div class="ctype-desc">' + esc(desc) + '</div>';
|
|
1598
|
-
}
|
|
1599
|
-
|
|
1600
|
-
if (fields.length > 0) {
|
|
1601
|
-
html += '<div class="ctype-fields">';
|
|
1602
|
-
for (var j = 0; j < fields.length; j++) {
|
|
1603
|
-
html += '<span class="ctype-field">' + esc(fields[j].key) + '</span>';
|
|
1604
|
-
}
|
|
1605
|
-
if (t.fields.length > 6) {
|
|
1606
|
-
html += '<span class="ctype-field">+' + (t.fields.length - 6) + '</span>';
|
|
1607
|
-
}
|
|
1608
|
-
html += '</div>';
|
|
1609
|
-
}
|
|
1610
|
-
|
|
1611
|
-
html += '</div>';
|
|
1612
|
-
}
|
|
1613
|
-
|
|
1614
|
-
contentTypesBody.innerHTML = html;
|
|
1615
|
-
}
|
|
1616
|
-
|
|
1617
|
-
window.chatContentType = function(plural) {
|
|
1618
|
-
var msg = 'show me the content for ' + plural;
|
|
1619
|
-
chatInput.value = msg;
|
|
1620
|
-
chatForm.dispatchEvent(new Event('submit'));
|
|
1621
|
-
};
|
|
1622
|
-
|
|
1623
1495
|
async function fetchStatus() {
|
|
1624
1496
|
try {
|
|
1625
1497
|
const res = await fetch('/api/status');
|
|
@@ -2355,7 +2227,6 @@ async function markTaskDone(checkEl) {
|
|
|
2355
2227
|
checkOnboarding().then(function(needsOnboarding) {
|
|
2356
2228
|
if (!needsOnboarding) {
|
|
2357
2229
|
fetchCalendarNames().then(function() { fetchTimeline(); });
|
|
2358
|
-
fetchContentTypes();
|
|
2359
2230
|
fetchScheduler();
|
|
2360
2231
|
fetchInsights();
|
|
2361
2232
|
connectWs();
|
package/package.json
CHANGED