From 9473bdef13d79d813a1f94a4e28b7aecf27889f3 Mon Sep 17 00:00:00 2001 From: Sakamoto Shiina <68018796+ShiinaSakamoto@users.noreply.github.com> Date: Wed, 22 Oct 2025 13:41:08 +0900 Subject: [PATCH] [Update/Refactor/TMP3] Refactor UI components and connect to backend APIs. (WordFilter) Remove message format redo function. --- .../_components/word_filter/WordFilter.jsx | 77 ++++--------------- .../word_filter/WordFilter.module.scss | 6 -- 2 files changed, 16 insertions(+), 67 deletions(-) diff --git a/src-ui/app/config_page/setting_section/setting_box/_components/word_filter/WordFilter.jsx b/src-ui/app/config_page/setting_section/setting_box/_components/word_filter/WordFilter.jsx index fbc0bd05..9369488b 100644 --- a/src-ui/app/config_page/setting_section/setting_box/_components/word_filter/WordFilter.jsx +++ b/src-ui/app/config_page/setting_section/setting_box/_components/word_filter/WordFilter.jsx @@ -12,12 +12,6 @@ export const WordFilter = () => { const { currentMicWordFilterList, updateMicWordFilterList, setMicWordFilterList } = useTranscription(); const { currentIsOpenedMicWordFilterList, updateIsOpenedMicWordFilterList } = useStore_IsOpenedMicWordFilterList(); - const extractRedoableFalseItem = (updated_list) => { - return updated_list.filter(item => { - if (item.is_redoable === false) return true; - }); - }; - const onChangeEntry = (e) => { setInputValue(e.target.value); }; @@ -30,20 +24,13 @@ export const WordFilter = () => { for (let each_input_value of input_value_array) { each_input_value = each_input_value.trim(); if (each_input_value) { - const target_item = updated_list.find((item) => item.value === each_input_value); - if (target_item === undefined) { - // Add - updated_list = [...updated_list, { value: each_input_value, is_redoable: false }]; - } else { - // Update - updated_list = updated_list.map(item => - item.value === each_input_value ? { ...item, is_redoable: false } : item - ); + const exists = updated_list.find((item) => item === each_input_value); + if (!exists) { + updated_list = [...updated_list, each_input_value]; } } } - const updated_list_for_restoring = extractRedoableFalseItem(updated_list).map((d) => d.value); - setMicWordFilterList(updated_list_for_restoring); + setMicWordFilterList(updated_list); return updated_list; }); @@ -52,25 +39,14 @@ export const WordFilter = () => { }; - const updateRedoable = (target_item_value, is_redoable) => { + const deleteAction = (target_item_value) => { updateMicWordFilterList((prev_list) => { - const updated_list = prev_list.data.map(item => - item.value === target_item_value ? { ...item, is_redoable: is_redoable } : item - ); - const updated_list_for_restoring = extractRedoableFalseItem(updated_list).map((d) => d.value); - setMicWordFilterList(updated_list_for_restoring); + const updated_list = prev_list.data.filter((item) => item !== target_item_value); + setMicWordFilterList(updated_list); return updated_list; }); }; - const deleteAction = (target_item_value) => { - updateRedoable(target_item_value, true); - }; - - const redoAction = (target_item_value) => { - updateRedoable(target_item_value, false); - }; - return (
{target_item_value}
- {props.is_redoable - ? - - : - - } +{props.value}
+{t("config_page.transcription.mic_word_filter.count_desc", {count: word_filter_list_length} )}
+{t("config_page.transcription.mic_word_filter.count_desc", {count: currentMicWordFilterList.data.length} )}
diff --git a/src-ui/app/config_page/setting_section/setting_box/_components/word_filter/WordFilter.module.scss b/src-ui/app/config_page/setting_section/setting_box/_components/word_filter/WordFilter.module.scss index b32edc26..2fe9600d 100644 --- a/src-ui/app/config_page/setting_section/setting_box/_components/word_filter/WordFilter.module.scss +++ b/src-ui/app/config_page/setting_section/setting_box/_components/word_filter/WordFilter.module.scss @@ -25,16 +25,10 @@ background-color: var(--dark_800_color); padding: 0.2rem 0.2rem 0.2rem 1rem; border-radius: 0.4rem; - &.is_redoable { - background-color: var(--dark_850_color); - } } .item_text { font-size: 1.4rem; font-weight: 300; - &.is_redoable { - text-decoration: line-through; - } } .action_button {