diff --git a/frontend/src/components/PostEditForm.tsx b/frontend/src/components/PostEditForm.tsx index 99039d9..f598bec 100644 --- a/frontend/src/components/PostEditForm.tsx +++ b/frontend/src/components/PostEditForm.tsx @@ -153,6 +153,21 @@ const PostEditForm: FC = ({ post, onSave }) => { setDisabled (true) try { + const titleMissing = !title?.trim () + const thumbnailMissing = + !titleMissing + && !(post.thumbnail?.trim () || post.thumbnailBase?.trim ()) + + if ((titleMissing || thumbnailMissing) + && !(await dialogue.confirm ({ + title: titleMissing + ? label ('edit.titleMissingConfirmation') + : label ('edit.thumbnailMissingConfirmation'), + confirmText: label ('shared:actions.update'), + cancelText: label ('shared:actions.cancel'), + closeLabel: label ('settings:actions.close') }))) + return + await update ({ id: post.id, title, tags, parentPostIds, duration: videoFlg ? duration : null, originalCreatedFrom, originalCreatedBefore }, diff --git a/frontend/src/locales/ain-Kana/posts.json b/frontend/src/locales/ain-Kana/posts.json index 0310a6b..6ad0578 100644 --- a/frontend/src/locales/ain-Kana/posts.json +++ b/frontend/src/locales/ain-Kana/posts.json @@ -1,4 +1,5 @@ { + "_untranslated": ["edit.titleMissingConfirmation", "edit.thumbnailMissingConfirmation"], "list": { "tagline": "{{brand}}", "empty": "ミンタㇻ タ ネン カ イサㇺ", @@ -31,6 +32,8 @@ "showExternal": "ソイタㇰ ソㇱ アヌカレ" }, "edit": { + "titleMissingConfirmation": "タイトルが設定されてゐません.更新しますか?", + "thumbnailMissingConfirmation": "サムネールが設定されてゐません.更新しますか?", "validationFailed": "アシㇼ カㇻ カ エアイカㇷ゚……", "conflictTitle": "モㇱマ クㇽ アシㇼ カㇻ ワ アン!", "conflictDescription": "モㇱマ イカㇻ クㇽ エエトコ アシㇼ カㇻ ワ アン。", diff --git a/frontend/src/locales/ja/posts.json b/frontend/src/locales/ja/posts.json index b6c1308..196289b 100644 --- a/frontend/src/locales/ja/posts.json +++ b/frontend/src/locales/ja/posts.json @@ -22,6 +22,8 @@ "question": "表示しますか?", "showExternal": "外部ページを表示" }, "edit": { + "titleMissingConfirmation": "タイトルが設定されてゐません.更新しますか?", + "thumbnailMissingConfirmation": "サムネールが設定されてゐません.更新しますか?", "validationFailed": "更新はできなかったよ……", "conflictTitle": "競合が発生しました.", "conflictDescription": "ほかの耕作員が先に更新してゐます.",