From c29aef03f061cedf5faabedc21eac7d707773fb7 Mon Sep 17 00:00:00 2001 From: Elio Struyf Date: Thu, 30 Sep 2021 10:05:06 +0200 Subject: [PATCH] Changed img description to caption --- CHANGELOG.md | 2 +- src/commands/Dashboard.ts | 8 ++++-- .../components/Media/Item.tsx | 28 +++++++++---------- src/helpers/MediaLibrary.ts | 4 +-- src/models/MediaPaths.ts | 2 +- 5 files changed, 23 insertions(+), 21 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b53b441..dd705e91 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ ### ✨ New features -- [#113](https://github.com/estruyf/vscode-front-matter/issues/113): Integrating a local DB for media metadata (description, alt) +- [#113](https://github.com/estruyf/vscode-front-matter/issues/113): Integrating a local DB for media metadata (caption, alt) ### 🎨 Enhancements diff --git a/src/commands/Dashboard.ts b/src/commands/Dashboard.ts index 4f738ec2..3c68d20d 100644 --- a/src/commands/Dashboard.ts +++ b/src/commands/Dashboard.ts @@ -208,7 +208,7 @@ export class Dashboard { const line = data.position.line; const character = data.position.character; if (line) { - await editor?.edit(builder => builder.insert(new Position(line, character), data.snippet || `![${data.alt || data.description || ""}](${data.image})`)); + await editor?.edit(builder => builder.insert(new Position(line, character), data.snippet || `![${data.alt || data.caption || ""}](${data.image})`)); } panel.getMediaSelection(); } else { @@ -308,6 +308,8 @@ export class Dashboard { try { const metadata = Dashboard.mediaLib.get(file.fsPath); + console.log(metadata); + return { ...file, stats: statSync(file.fsPath), @@ -493,8 +495,8 @@ export class Dashboard { /** * Update the metadata of the selected file */ - private static async updateMediaMetadata({ file, page, folder, description = null, alt = null }: { file:string; page: number; folder: string | null; description: string | null; alt: string | null; }) { - Dashboard.mediaLib.set(file, description, alt); + private static async updateMediaMetadata({ file, page, folder, ...metadata }: { file:string; page: number; folder: string | null; metadata: any; }) { + Dashboard.mediaLib.set(file, metadata); Dashboard.getMedia(page || 0, folder || ""); } diff --git a/src/dashboardWebView/components/Media/Item.tsx b/src/dashboardWebView/components/Media/Item.tsx index c9a010eb..aca7a5c2 100644 --- a/src/dashboardWebView/components/Media/Item.tsx +++ b/src/dashboardWebView/components/Media/Item.tsx @@ -21,7 +21,7 @@ export const Item: React.FunctionComponent = ({media}: React.PropsWi const [ showAlert, setShowAlert ] = React.useState(false); const [ showForm, setShowForm ] = React.useState(false); const viewData = useRecoilValue(ViewDataSelector); - const [ description, setDescription ] = React.useState(media.description); + const [ caption, setCaption ] = React.useState(media.caption); const [ alt, setAlt ] = React.useState(media.alt); const page = useRecoilValue(PageSelector); @@ -67,7 +67,7 @@ export const Item: React.FunctionComponent = ({media}: React.PropsWi fieldName: viewData?.data?.fieldName, position: viewData?.data?.position || null, alt: alt || "", - description: description || "" + caption: caption || "" }); }; @@ -76,7 +76,7 @@ export const Item: React.FunctionComponent = ({media}: React.PropsWi let snippet = settings?.mediaSnippet.join("\n"); snippet = snippet?.replace("{mediaUrl}", parseWinPath(relPath) || ""); snippet = snippet?.replace("{alt}", alt || ""); - snippet = snippet?.replace("{description}", description || ""); + snippet = snippet?.replace("{caption}", caption || ""); Messenger.send(DashboardMessage.insertPreviewImage, { image: parseWinPath(relPath) || "", @@ -120,7 +120,7 @@ export const Item: React.FunctionComponent = ({media}: React.PropsWi const submitMetadata = () => { Messenger.send(DashboardMessage.updateMediaMetadata, { file: media.fsPath, - description, + caption, alt, folder: selectedFolder, page @@ -129,16 +129,16 @@ export const Item: React.FunctionComponent = ({media}: React.PropsWi }; useEffect(() => { - if (media.alt !== description) { + if (media.alt !== alt) { setAlt(media.alt); } }, [media.alt]); useEffect(() => { - if (media.description !== description) { - setDescription(media.description); + if (media.caption !== caption) { + setCaption(media.caption); } - }, [media.description]); + }, [media.caption]); return ( <> @@ -203,10 +203,10 @@ export const Item: React.FunctionComponent = ({media}: React.PropsWi {basename(parseWinPath(media.fsPath) || "")}

{ - media.description && ( + media.caption && (

- Description: - {media.description} + Caption: + {media.caption}

) } @@ -245,14 +245,14 @@ export const Item: React.FunctionComponent = ({media}: React.PropsWi