feat: scaffold mvp shell and content runtime

This commit is contained in:
manpengan
2026-03-29 00:36:28 +08:00
parent 25a38cbf05
commit c118e24bd1
25 changed files with 2903 additions and 7 deletions

View File

@@ -0,0 +1,24 @@
export function validateAssets(city, assetExists) {
const errors = []
const warnings = []
if (typeof assetExists !== 'function') {
return { errors, warnings }
}
const assetPaths = [
city.cover?.catImage,
city.cover?.catThumb,
...(city.elements ?? []).map((element) => element.image),
].filter(Boolean)
for (const assetPath of assetPaths) {
if (!assetExists(assetPath)) {
errors.push(`City "${city.id}" asset is missing: ${assetPath}`)
}
}
return { errors, warnings }
}
export default validateAssets