Fix FurnitureData.json spriteId conflict auto-repair
CI / check (push) Successful in 1m21s
CI / release (push) Skipped
CI / deploy (push) Successful in 2m17s

- Added spriteId conflict resolution to repairFurniData(): keeps first classname per id, removes conflicting entries
- Returns new removedIdConflicts count in repair result
- Updated audit event type and client UI to display removedIdConflicts
- Updated catalog-audit.ts event type and client state type
- When 'Repair FurnitureData.json' is checked, it now fixes id conflicts automatically
This commit is contained in:
openhands committed 2026-08-14 18:23:00 +02:00
1 parent 3b6ebe7bdc
commit f89b8a6adf
3 files changed
+56 -8

No files matched your search

+15 -1
View File
@@ -86,7 +86,11 @@ interface AuditEvent {
sqlCount?: number;
applied?: number;
sqlFailed?: number;
furniData?: { added: number; removedDuplicates: number };
furniData?: {
added: number;
removedDuplicates: number;
removedIdConflicts: number;
};
structure?: {
orphanedRemoved: number;
orphanedCleaned: number;
@@ -175,6 +179,7 @@ export function AuditClient() {
const [furniDataResult, setFurniDataResult] = useState<{
added: number;
removedDuplicates: number;
removedIdConflicts: number;
} | null>(null);
const [structureResult, setStructureResult] = useState<{
orphanedRemoved: number;
@@ -675,6 +680,15 @@ export function AuditClient() {
</span>
</>
)}
{furniDataResult.removedIdConflicts > 0 && (
<>
{" · "}
<span className="text-[var(--admin-warning)] font-medium">
{furniDataResult.removedIdConflicts} spriteId conflicts
fixed
</span>
</>
)}
</span>
</div>
)}