feat(pokemon): add image selection and display from pokesprite

Add image metadata fields to Pokemon schema and API
Implement image candidate fetching from pokesprite static tree
Add Pokédex-style image picker to edit form and display in details
This commit is contained in:
2026-05-02 20:59:33 +08:00
parent 475e3577dd
commit cf0ae566c0
13 changed files with 749 additions and 20 deletions

View File

@@ -114,6 +114,17 @@ export const systemWordingMessages = {
fetchSearching: 'Searching data',
fetchNoMatches: 'No matching Pokemon data',
fetchSearchFailed: 'Pokemon data search failed',
image: 'Image',
fetchImages: 'Fetch images',
fetchingImages: 'Fetching',
imageFetchFailed: 'Pokemon image fetch failed',
imageNoMatches: 'No available Pokemon images',
loadingImages: 'Loading Pokemon images',
selectedImage: 'Selected Pokemon image',
imageOptions: 'Pokemon image options',
clearImage: 'Clear image',
imageEmpty: 'No Pokemon image selected',
imageAlt: '{name} {variant} image',
loadingList: 'Loading Pokemon list',
loadingDetail: 'Loading Pokemon detail',
loadingEdit: 'Loading Pokemon editor',
@@ -530,6 +541,7 @@ export const systemWordingMessages = {
pokemonIdentifierRequired: 'Pokemon identifier is required',
pokemonTypeDataUnavailable: 'Pokemon type data is unavailable',
pokemonDataNotFound: 'Pokemon data was not found',
pokemonImagePathInvalid: 'Pokemon image path is invalid',
taskRequired: 'Please enter a task',
selectTask: 'Please select a task',
taskDoesNotExist: 'Task does not exist',
@@ -691,6 +703,17 @@ export const systemWordingMessages = {
fetchSearching: '正在搜索数据',
fetchNoMatches: '没有匹配的 Pokemon 数据',
fetchSearchFailed: 'Pokemon 数据搜索失败',
image: '图片',
fetchImages: '获取图片',
fetchingImages: '正在获取',
imageFetchFailed: 'Pokemon 图片获取失败',
imageNoMatches: '没有可用的 Pokemon 图片',
loadingImages: '正在加载 Pokemon 图片',
selectedImage: '已选择的 Pokemon 图片',
imageOptions: 'Pokemon 图片选项',
clearImage: '清除图片',
imageEmpty: '尚未选择 Pokemon 图片',
imageAlt: '{name} {variant} 图片',
loadingList: '正在加载 Pokemon 列表',
loadingDetail: '正在加载 Pokemon 详情',
loadingEdit: '正在加载 Pokemon 编辑内容',
@@ -1107,6 +1130,7 @@ export const systemWordingMessages = {
pokemonIdentifierRequired: '请输入 Pokemon 标识',
pokemonTypeDataUnavailable: 'Pokemon 属性数据不可用',
pokemonDataNotFound: '未找到 Pokemon 数据',
pokemonImagePathInvalid: 'Pokemon 图片路径不合法',
taskRequired: '请输入任务',
selectTask: '请选择任务',
taskDoesNotExist: '任务不存在',