Refactor dashboard and upload flows

Remove dead admin UI code, redesign dashboard followers/following and upload experiences, and add schema audit tooling with repair migrations for forum and upload drift.
This commit is contained in:
2026-03-21 11:02:22 +01:00
parent 29c3ff8572
commit 979e011257
55 changed files with 2576 additions and 1923 deletions

View File

@@ -134,6 +134,9 @@ export default function useFileValidation(primaryFile, screenshots, isArchive) {
const primaryRunRef = useRef(0)
const screenshotRunRef = useRef(0)
const effectiveIsArchive = typeof isArchive === 'boolean'
? isArchive
: detectFileType(primaryFile) === 'archive'
// Primary file validation
useEffect(() => {
@@ -168,7 +171,7 @@ export default function useFileValidation(primaryFile, screenshots, isArchive) {
let cancelled = false
;(async () => {
const result = await validateScreenshots(screenshots, isArchive)
const result = await validateScreenshots(screenshots, effectiveIsArchive)
if (cancelled || runId !== screenshotRunRef.current) return
setScreenshotErrors(result.errors)
setScreenshotPerFileErrors(result.perFileErrors)
@@ -177,15 +180,15 @@ export default function useFileValidation(primaryFile, screenshots, isArchive) {
return () => {
cancelled = true
}
}, [screenshots, isArchive])
}, [screenshots, effectiveIsArchive])
// Clear screenshots when file changes to a non-archive
useEffect(() => {
if (!isArchive) {
if (!effectiveIsArchive) {
setScreenshotErrors([])
setScreenshotPerFileErrors([])
}
}, [isArchive])
}, [effectiveIsArchive])
// Revoke preview URL on unmount
useEffect(() => {