recipe-manager/frontend/public/assets/photos/manifest.json

77 lines
2.5 KiB
JSON

{
"version": 1,
"updatedAt": "2026-03-27",
"notes": "Photo-first manifest for Wave 2.5 UI integration. Do not assume listed external photos are vendored until localPath exists.",
"usage": {
"homepageHero": "assets.photos.hero.homepage.primary",
"listCardFallback": "assets.photos.list.default4x3",
"detailHeroFallback": "assets.photos.detail.default16x9",
"emptyStates": "assets.photos.emptyState"
},
"assets": {
"photos": {
"hero": {
"homepage": {
"primary": {
"id": "hero-market-produce-01",
"localPath": null,
"remoteCandidate": "https://images.pexels.com/photos/1640774/pexels-photo-1640774.jpeg",
"license": "Pexels License",
"attributionRequired": false,
"status": "candidate-not-vendored"
},
"fallback": [
"/assets/food/placeholder-recipe.svg"
]
}
},
"list": {
"default4x3": "/assets/food/placeholder-recipe-4x3.svg",
"default1x1": "/assets/food/placeholder-recipe-1x1.svg"
},
"detail": {
"default16x9": "/assets/food/placeholder-recipe.svg"
},
"category": {
"breakfast": {
"localPath": null,
"remoteCandidate": "https://images.pexels.com/photos/70497/pexels-photo-70497.jpeg",
"license": "Pexels License",
"attributionRequired": false,
"status": "candidate-not-vendored"
},
"dinner": {
"localPath": null,
"remoteCandidate": "https://images.pexels.com/photos/1279330/pexels-photo-1279330.jpeg",
"license": "Pexels License",
"attributionRequired": false,
"status": "candidate-not-vendored"
},
"dessert": {
"localPath": null,
"remoteCandidate": "https://images.pexels.com/photos/291528/pexels-photo-291528.jpeg",
"license": "Pexels License",
"attributionRequired": false,
"status": "candidate-not-vendored"
}
},
"emptyState": {
"noRecipes": "/assets/empty-state/no-recipes.svg",
"noResults": "/assets/empty-state/no-results-search.svg",
"noFavorites": "/assets/empty-state/no-favorites.svg"
}
},
"icons": {
"recommendedLibrary": "lucide-react",
"size": {
"control": 18,
"section": 24
},
"strokeWidth": {
"default": 1.75
},
"policy": "Use icons for navigation/actions only. Do not use illustrated iconography for food storytelling."
}
}
}