-
+
All projects
{ALL_ASSETS.length}
@@ -239,12 +251,12 @@ function Library({ navigate, onOpenAsset, openProject }) {
) : BINS.map(function(b) {
const isActive = selectedBinId === b.id;
- const isDragTarget = draggingAssetId !== null;
+ const isDragTarget = draggingAssetId !== null && dragOverBinId === b.id;
return (
Smart filters
{errorCount > 0 &&
Errors{errorCount}
}
-
Last 24h{recentCount}
+
Last 24h{recentCount}
Ready{ALL_ASSETS.filter(function(a) { return a.status === 'ready'; }).length}
@@ -365,7 +377,25 @@ function Library({ navigate, onOpenAsset, openProject }) {
)}
diff --git a/services/web-ui/public/screens-projects.jsx b/services/web-ui/public/screens-projects.jsx
index 5673ee4..99d6e30 100644
--- a/services/web-ui/public/screens-projects.jsx
+++ b/services/web-ui/public/screens-projects.jsx
@@ -56,7 +56,7 @@ function Projects({ onOpenProject, navigate }) {
const updated = (list || []).map((p, i) => ({
...p,
color: (window.ZAMPP_DATA.PROJECTS.find(x => x.id === p.id) || {}).color
- || window.PROJECT_COLORS?.[i % (window.PROJECT_COLORS?.length || 1)]
+ || (window.PROJECT_COLORS ? window.PROJECT_COLORS[p.id.charCodeAt(p.id.length - 1) % window.PROJECT_COLORS.length] : null)
|| 'var(--accent)',
assets: (ASSETS || []).filter(a => a.project_id === p.id).length,
updated: window.ZAMPP_API.fmtRelative(p.updated_at),