This commit is contained in:
@@ -151,9 +151,10 @@ const BookDetailEdit: React.FC<BookDetailEditProps> = ({
|
||||
const selectedFile = result.files[0]!;
|
||||
if (selectedFile.path && appService) {
|
||||
const filePath = selectedFile.path;
|
||||
const imageUrl = await appService.getCachedImageUrl(filePath);
|
||||
onFieldChange('coverImageFile', filePath);
|
||||
onFieldChange('coverImageUrl', await appService.getCachedImageUrl(filePath));
|
||||
setNewCoverImageUrl(filePath);
|
||||
onFieldChange('coverImageUrl', imageUrl);
|
||||
setNewCoverImageUrl(imageUrl);
|
||||
} else if (selectedFile.file) {
|
||||
const coverImageBlobUrl = URL.createObjectURL(selectedFile.file);
|
||||
onFieldChange('coverImageBlobUrl', coverImageBlobUrl);
|
||||
|
||||
@@ -57,24 +57,28 @@ export const useMetadataEdit = (metadata: BookMetadata | null) => {
|
||||
return;
|
||||
}
|
||||
|
||||
const newMeta = { ...editedMeta } as { [key: string]: unknown };
|
||||
switch (field) {
|
||||
case 'subject':
|
||||
newMeta['subject'] = value ? value.split(/,|;|,|、/).map((s) => s.trim()) : [];
|
||||
break;
|
||||
default:
|
||||
newMeta[field] = value;
|
||||
}
|
||||
setEditedMeta((prevMeta) => {
|
||||
const newMeta = { ...prevMeta } as { [key: string]: unknown };
|
||||
switch (field) {
|
||||
case 'subject':
|
||||
newMeta['subject'] = value ? value.split(/,|;|,|、/).map((s) => s.trim()) : [];
|
||||
break;
|
||||
default:
|
||||
newMeta[field] = value;
|
||||
}
|
||||
return newMeta as BookMetadata;
|
||||
});
|
||||
|
||||
setEditedMeta(newMeta as BookMetadata);
|
||||
if (value !== undefined) {
|
||||
handleFieldValidation(field, value);
|
||||
}
|
||||
|
||||
if (fieldSources[field]) {
|
||||
const newSources = { ...fieldSources };
|
||||
delete newSources[field];
|
||||
setFieldSources(newSources);
|
||||
setFieldSources((prevSources) => {
|
||||
const newSources = { ...prevSources };
|
||||
delete newSources[field];
|
||||
return newSources;
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user