feat: metadata diff hopefully implemented now

This commit is contained in:
2026-04-27 08:18:02 +02:00
parent adb49ceb6e
commit e7ccf02d40
19 changed files with 2006 additions and 17 deletions

View File

@@ -173,9 +173,16 @@
"Metadata": "Metadaten",
"Metadata Diff": "Metadaten-Diff",
"Metadata diff complete": "Metadaten-Diff abgeschlossen",
"Metadata diff import complete": "Import verwaister Metadaten-Dateien abgeschlossen",
"Metadata diff repair complete": "Metadaten-Diff-Reparatur abgeschlossen",
"Metadata flush, diffing, and rebuild hooks still need editor wiring.": "Metadaten-Schreiben, Diffing und Rebuild-Hooks brauchen noch die Editor-Anbindung.",
"Comparing database and filesystem metadata": "Vergleicht Datenbank- und Dateisystem-Metadaten",
"Database state compared against filesystem metadata": "Datenbankstatus mit Dateisystem-Metadaten verglichen",
"DB to File": "DB nach Datei",
"File to DB": "Datei nach DB",
"Import Metadata Diff Orphans": "Verwaiste Metadaten-Dateien importieren",
"Import Metadata Diff Orphans queued": "Import verwaister Metadaten-Dateien eingereiht",
"Importing orphan files": "Importiert verwaiste Dateien",
"Maintenance": "Wartung",
"Missing": "Fehlend",
"Missing Pages": "Fehlende Seiten",
@@ -187,7 +194,10 @@
"No active background tasks": "Keine aktiven Hintergrundaufgaben",
"No background tasks running": "Keine Hintergrundaufgaben aktiv",
"No items": "Keine Einträge",
"No metadata diff items selected": "Keine Metadaten-Diff-Einträge ausgewählt",
"No missing pages": "Keine fehlenden Seiten",
"No orphan files selected": "Keine verwaisten Dateien ausgewählt",
"No repair action available": "Keine Reparaturaktion verfügbar",
"No orphan translation files": "Keine verwaisten Übersetzungsdateien",
"No shell output yet": "Noch keine Shell-Ausgabe",
"Offline": "Offline",
@@ -198,6 +208,10 @@
"Open in Browser": "Im Browser öffnen",
"Opened URL": "URL geöffnet",
"Orphan Files": "Verwaiste Dateien",
"Refreshing metadata diff": "Metadaten-Diff wird aktualisiert",
"Repair Metadata Diff": "Metadaten-Diff reparieren",
"Repair Metadata Diff queued": "Metadaten-Diff-Reparatur eingereiht",
"Repairing metadata differences": "Metadaten-Unterschiede werden repariert",
"Orphan Reports": "Berichte zu verwaisten Dateien",
"Orphans": "Verwaiste",
"Output": "Ausgabe",

View File

@@ -173,9 +173,16 @@
"Metadata": "Metadata",
"Metadata Diff": "Metadata Diff",
"Metadata diff complete": "Metadata diff complete",
"Metadata diff import complete": "Metadata diff import complete",
"Metadata diff repair complete": "Metadata diff repair complete",
"Metadata flush, diffing, and rebuild hooks still need editor wiring.": "Metadata flush, diffing, and rebuild hooks still need editor wiring.",
"Comparing database and filesystem metadata": "Comparing database and filesystem metadata",
"Database state compared against filesystem metadata": "Database state compared against filesystem metadata",
"DB to File": "DB to File",
"File to DB": "File to DB",
"Import Metadata Diff Orphans": "Import Metadata Diff Orphans",
"Import Metadata Diff Orphans queued": "Import Metadata Diff Orphans queued",
"Importing orphan files": "Importing orphan files",
"Maintenance": "Maintenance",
"Missing": "Missing",
"Missing Pages": "Missing Pages",
@@ -187,7 +194,14 @@
"No active background tasks": "No active background tasks",
"No background tasks running": "No background tasks running",
"No items": "No items",
"No metadata diff items selected": "No metadata diff items selected",
"No missing pages": "No missing pages",
"No orphan files selected": "No orphan files selected",
"No repair action available": "No repair action available",
"Refreshing metadata diff": "Refreshing metadata diff",
"Repair Metadata Diff": "Repair Metadata Diff",
"Repair Metadata Diff queued": "Repair Metadata Diff queued",
"Repairing metadata differences": "Repairing metadata differences",
"No orphan translation files": "No orphan translation files",
"No shell output yet": "No shell output yet",
"Offline": "Offline",

View File

@@ -173,9 +173,16 @@
"Metadata": "Metadatos",
"Metadata Diff": "Diff de metadatos",
"Metadata diff complete": "Diff de metadatos completado",
"Metadata diff import complete": "Importación de huérfanos del diff de metadatos completada",
"Metadata diff repair complete": "Reparación del diff de metadatos completada",
"Metadata flush, diffing, and rebuild hooks still need editor wiring.": "El guardado de metadatos, el diff y los hooks de reconstrucción todavía necesitan la conexión del editor.",
"Comparing database and filesystem metadata": "Comparando metadatos de la base de datos y del sistema de archivos",
"Database state compared against filesystem metadata": "Estado de la base de datos comparado con los metadatos del sistema de archivos",
"DB to File": "BD a archivo",
"File to DB": "Archivo a BD",
"Import Metadata Diff Orphans": "Importar huérfanos del diff de metadatos",
"Import Metadata Diff Orphans queued": "Importación de huérfanos del diff de metadatos en cola",
"Importing orphan files": "Importando archivos huérfanos",
"Maintenance": "Mantenimiento",
"Missing": "Faltante",
"Missing Pages": "Páginas faltantes",
@@ -187,7 +194,14 @@
"No active background tasks": "No hay tareas activas en segundo plano",
"No background tasks running": "No hay tareas en segundo plano en ejecución",
"No items": "No hay elementos",
"No metadata diff items selected": "No hay elementos del diff de metadatos seleccionados",
"No missing pages": "No faltan páginas",
"No orphan files selected": "No hay archivos huérfanos seleccionados",
"No repair action available": "No hay ninguna acción de reparación disponible",
"Refreshing metadata diff": "Actualizando el diff de metadatos",
"Repair Metadata Diff": "Reparar diff de metadatos",
"Repair Metadata Diff queued": "Reparación del diff de metadatos en cola",
"Repairing metadata differences": "Reparando diferencias de metadatos",
"No orphan translation files": "No hay archivos de traducción huérfanos",
"No shell output yet": "Aún no hay salida del shell",
"Offline": "Sin conexión",

View File

@@ -173,9 +173,16 @@
"Metadata": "Métadonnées",
"Metadata Diff": "Diff des métadonnées",
"Metadata diff complete": "Diff des métadonnées terminé",
"Metadata diff import complete": "Import des fichiers orphelins du diff des métadonnées terminé",
"Metadata diff repair complete": "Réparation du diff des métadonnées terminée",
"Metadata flush, diffing, and rebuild hooks still need editor wiring.": "Lécriture des métadonnées, le diff et les hooks de reconstruction ont encore besoin du câblage de léditeur.",
"Comparing database and filesystem metadata": "Comparaison des métadonnées entre la base et le système de fichiers",
"Database state compared against filesystem metadata": "État de la base comparé aux métadonnées du système de fichiers",
"DB to File": "BD vers fichier",
"File to DB": "Fichier vers BD",
"Import Metadata Diff Orphans": "Importer les fichiers orphelins du diff des métadonnées",
"Import Metadata Diff Orphans queued": "Import des fichiers orphelins du diff des métadonnées mis en file",
"Importing orphan files": "Import des fichiers orphelins",
"Maintenance": "Maintenance",
"Missing": "Manquant",
"Missing Pages": "Pages manquantes",
@@ -187,7 +194,14 @@
"No active background tasks": "Aucune tâche darrière-plan active",
"No background tasks running": "Aucune tâche darrière-plan en cours",
"No items": "Aucun élément",
"No metadata diff items selected": "Aucun élément du diff des métadonnées sélectionné",
"No missing pages": "Aucune page manquante",
"No orphan files selected": "Aucun fichier orphelin sélectionné",
"No repair action available": "Aucune action de réparation disponible",
"Refreshing metadata diff": "Actualisation du diff des métadonnées",
"Repair Metadata Diff": "Réparer le diff des métadonnées",
"Repair Metadata Diff queued": "Réparation du diff des métadonnées mise en file",
"Repairing metadata differences": "Réparation des différences de métadonnées",
"No orphan translation files": "Aucun fichier de traduction orphelin",
"No shell output yet": "Aucune sortie du shell pour linstant",
"Offline": "Hors ligne",

View File

@@ -173,9 +173,16 @@
"Metadata": "Metadati",
"Metadata Diff": "Diff metadati",
"Metadata diff complete": "Diff metadati completato",
"Metadata diff import complete": "Importazione degli orfani del diff dei metadati completata",
"Metadata diff repair complete": "Riparazione del diff dei metadati completata",
"Metadata flush, diffing, and rebuild hooks still need editor wiring.": "Il salvataggio dei metadati, il diff e gli hook di ricostruzione hanno ancora bisogno del collegamento nelleditor.",
"Comparing database and filesystem metadata": "Confronto tra i metadati del database e del filesystem",
"Database state compared against filesystem metadata": "Stato del database confrontato con i metadati del filesystem",
"DB to File": "DB su file",
"File to DB": "File su DB",
"Import Metadata Diff Orphans": "Importa orfani del diff dei metadati",
"Import Metadata Diff Orphans queued": "Importazione degli orfani del diff dei metadati accodata",
"Importing orphan files": "Importazione dei file orfani",
"Maintenance": "Manutenzione",
"Missing": "Mancante",
"Missing Pages": "Pagine mancanti",
@@ -187,7 +194,14 @@
"No active background tasks": "Nessuna attività in background attiva",
"No background tasks running": "Nessuna attività in background in esecuzione",
"No items": "Nessun elemento",
"No metadata diff items selected": "Nessun elemento del diff dei metadati selezionato",
"No missing pages": "Nessuna pagina mancante",
"No orphan files selected": "Nessun file orfano selezionato",
"No repair action available": "Nessuna azione di riparazione disponibile",
"Refreshing metadata diff": "Aggiornamento del diff dei metadati",
"Repair Metadata Diff": "Ripara diff metadati",
"Repair Metadata Diff queued": "Riparazione del diff dei metadati accodata",
"Repairing metadata differences": "Riparazione delle differenze dei metadati",
"No orphan translation files": "Nessun file di traduzione orfano",
"No shell output yet": "Nessun output della shell per ora",
"Offline": "Offline",

View File

@@ -3501,6 +3501,171 @@ button svg * {
text-align: left;
}
.metadata-diff-tool {
display: flex;
flex-direction: column;
gap: 16px;
}
.metadata-diff-tabs {
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.metadata-diff-tab,
.metadata-diff-field-pill {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 12px;
border-radius: 999px;
border: 1px solid var(--line, #3c3c3c);
background: var(--panel-2, #252526);
color: inherit;
}
.metadata-diff-tab.active,
.metadata-diff-field-pill.active {
border-color: var(--accent-color);
background: color-mix(in srgb, var(--accent-color) 18%, var(--panel-2, #252526));
}
.metadata-diff-field-pill {
padding: 4px;
gap: 4px;
}
.metadata-diff-field-pill-toggle {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 4px 8px;
border: 0;
background: transparent;
color: inherit;
border-radius: 999px;
}
.metadata-diff-field-pill-actions,
.orphan-files-actions {
display: inline-flex;
align-items: center;
gap: 6px;
}
.metadata-diff-action-button {
padding: 4px 8px;
border-radius: 999px;
}
.tab-badge,
.field-pill-count {
min-width: 20px;
height: 20px;
padding: 0 6px;
border-radius: 999px;
display: inline-flex;
align-items: center;
justify-content: center;
background: var(--panel-1, #1e1e1e);
border: 1px solid var(--line, #3c3c3c);
font-size: 11px;
}
.metadata-diff-field-pills,
.metadata-diff-results,
.diff-item-list,
.diff-item-fields {
display: flex;
flex-direction: column;
gap: 12px;
}
.metadata-diff-field-pills {
flex-direction: row;
flex-wrap: wrap;
}
.diff-item-card {
border: 1px solid var(--line, #3c3c3c);
border-radius: 12px;
background: var(--panel-2, #252526);
padding: 16px;
}
.diff-item-header {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 12px;
}
.diff-item-meta {
margin-top: 4px;
color: var(--vscode-descriptionForeground);
font-size: 12px;
}
.diff-field-row {
display: grid;
grid-template-columns: minmax(110px, 160px) minmax(0, 1fr);
gap: 12px;
align-items: start;
}
.diff-field-name {
font-weight: 600;
}
.diff-field-values {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
}
.diff-field-value {
display: flex;
flex-direction: column;
gap: 6px;
padding: 10px 12px;
border-radius: 10px;
border: 1px solid var(--line, #3c3c3c);
background: var(--panel-1, #1e1e1e);
min-width: 0;
}
.diff-source-label {
font-size: 11px;
text-transform: uppercase;
letter-spacing: 0.06em;
color: var(--vscode-descriptionForeground);
}
.orphan-files-section {
display: flex;
flex-direction: column;
gap: 12px;
}
.orphan-files-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
}
.orphan-path {
word-break: break-all;
}
.metadata-diff-empty {
min-height: 120px;
display: flex;
align-items: center;
justify-content: center;
}
@media (max-width: 1100px) {
[data-testid="media-editor"] > .editor-content.media-editor,
.setting-row,
@@ -3517,6 +3682,11 @@ button svg * {
flex-direction: column;
}
.diff-field-row,
.diff-field-values {
grid-template-columns: 1fr;
}
[data-testid="media-editor"] .media-details {
width: 100%;
}