feat(v1.3.0): Step 2 — DB tables collections, collection_pages, collection_views
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped

- Ajout des 3 nouvelles tables pour le Database Concept
- collections: base de données abstraite, indépendante de Gitea
- collection_pages: pages génériques avec parent_id et property_values_json
- collection_views: vues configurables par collection
- Mise à jour test_db_tables_exist pour inclure les nouvelles tables
- 28/28 tests passent
This commit is contained in:
2026-07-09 22:26:45 -04:00
parent 66ae1289a9
commit 3967c7df85
8 changed files with 285 additions and 69 deletions
+45
View File
@@ -1517,6 +1517,51 @@ input, select, textarea { font-family: inherit; color: inherit; }
.text-xs { font-size: 12px; }
.text-sm { font-size: 13px; }
.font-semibold { font-weight: 600; }
/* Library table */
.library-table-header {
display: flex; padding: 8px 12px; border-bottom: 1px solid var(--border);
font-size: 12px; font-weight: 600; color: var(--text-dim);
}
.library-table-row {
display: flex; align-items: center; padding: 8px 12px; text-decoration: none;
color: var(--text-primary); border-radius: 6px; transition: background 0.15s;
}
.library-table-row:hover { background: var(--bg-hover); }
.lib-col { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lib-col-name { flex: 1.5; display: flex; align-items: center; gap: 10px; }
.lib-col-author { width: 140px; font-size: 13px; color: var(--text-dim); }
.lib-col-source { width: 120px; font-size: 13px; color: var(--text-dim); }
.lib-col-edited { width: 140px; font-size: 13px; color: var(--text-dim); }
.lib-col-visited { width: 140px; font-size: 13px; color: var(--text-dim); }
.lib-empty { text-align: center; padding: 48px; color: var(--text-dim); }
.lib-empty h3 { font-size: 16px; margin-bottom: 8px; color: var(--text-primary); }
.lib-empty p { font-size: 13px; }
/* Trash */
.trash-filter {
display: flex; align-items: center; gap: 6px;
padding: 6px 12px; border-radius: 6px;
font-size: 13px; color: var(--text-primary);
background: var(--bg-tertiary); transition: background 0.15s;
}
.trash-filter:hover { background: var(--bg-hover); }
.trash-filter.active { color: #5b9bd5; background: rgba(91,155,213,0.1); }
.trash-item {
display: flex; align-items: center; gap: 12px;
padding: 10px 12px; border-radius: 6px; transition: background 0.15s;
}
.trash-item:hover { background: var(--bg-hover); }
.trash-item-icon { font-size: 18px; flex-shrink: 0; }
.trash-item-info { flex: 1; min-width: 0; }
.trash-item-name { display: block; font-size: 14px; color: var(--text-primary); font-weight: 500; }
.trash-item-path { display: block; font-size: 12px; color: var(--text-dim); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.trash-item-btn {
width: 32px; height: 32px; border-radius: 6px;
display: flex; align-items: center; justify-content: center;
font-size: 14px; color: var(--text-secondary); transition: background 0.15s;
}
.trash-item-btn:hover { background: var(--bg-tertiary); }
.ml-auto { margin-left: auto; }
.truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }