+
-
diff --git a/src-ui/windows/config_window/setting_section/setting_box/components/useSettingBox.module.scss b/src-ui/windows/config_window/setting_section/setting_box/components/useSettingBox.module.scss
index 657e71d3..b709292d 100644
--- a/src-ui/windows/config_window/setting_section/setting_box/components/useSettingBox.module.scss
+++ b/src-ui/windows/config_window/setting_section/setting_box/components/useSettingBox.module.scss
@@ -51,4 +51,27 @@
.message_format_section {
width: 100%;
+}
+
+
+.word_filter_container {
+ display: flex;
+ width: 100%;
+ flex-direction: column;
+ justify-content: space-between;
+ align-items: center;
+ gap: 2rem;
+ background-color: var(--dark_888_color);
+ padding: 2rem;
+}
+
+.word_filter_switch_section {
+ display: flex;
+ width: 100%;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.word_filter_label_wrapper {
+ max-width: 34rem;
}
\ No newline at end of file
diff --git a/src-ui/windows/config_window/setting_section/setting_box/components/word_filter/WordFilter.jsx b/src-ui/windows/config_window/setting_section/setting_box/components/word_filter/WordFilter.jsx
index 955df0e0..6cf67612 100644
--- a/src-ui/windows/config_window/setting_section/setting_box/components/word_filter/WordFilter.jsx
+++ b/src-ui/windows/config_window/setting_section/setting_box/components/word_filter/WordFilter.jsx
@@ -1,16 +1,18 @@
import styles from "./WordFilter.module.scss";
import { _Entry } from "../_atoms/_entry/_Entry";
import { useState } from "react";
-import { useWordFilterList } from "@store";
+import { useWordFilterList, useIsOpenedWordFilterList } from "@store";
export const WordFilter = () => {
const [input_value, setInputValue] = useState();
const { currentWordFilterList, updateWordFilterList } = useWordFilterList();
+ const { currentIsOpenedWordFilterList, updateIsOpenedWordFilterList } = useIsOpenedWordFilterList();
const onChangeEntry = (e) => {
setInputValue(e.target.value);
};
const addWords = () => {
+ if (input_value === undefined) return;
const input_value_array = input_value.split(",");
let updated_list = [...currentWordFilterList];
@@ -32,6 +34,7 @@ export const WordFilter = () => {
}
updateWordFilterList(updated_list);
+ updateIsOpenedWordFilterList(true);
};
@@ -54,6 +57,7 @@ export const WordFilter = () => {
return (
+ { currentIsOpenedWordFilterList &&
{
currentWordFilterList.map((item, index) => {
@@ -61,6 +65,7 @@ export const WordFilter = () => {
})
}
+ }
<_Entry width="30rem" onChange={onChangeEntry}/>
@@ -100,4 +105,35 @@ const WordFilterItem = (props) => {
}
);
+};
+
+import { useTranslation } from "react-i18next";
+
+import ArrowLeftSvg from "@images/arrow_left.svg?react";
+export const WordFilterListToggleComponent = (props) => {
+ const { t } = useTranslation();
+ const { currentIsOpenedWordFilterList, updateIsOpenedWordFilterList } = useIsOpenedWordFilterList();
+ const { currentWordFilterList } = useWordFilterList();
+
+
+ const svg_class_names = clsx(styles["arrow_left_svg"], {
+ [styles.to_down]: !currentIsOpenedWordFilterList,
+ [styles.to_up]: currentIsOpenedWordFilterList
+ });
+
+ const OnclickFunction = () => {
+ updateIsOpenedWordFilterList(!currentIsOpenedWordFilterList);
+ };
+
+ const word_filter_list_length = currentWordFilterList.filter(item => item.is_redoable === false).length;
+
+
+ return (
+
+
{t("config_window.mic_word_filter.count_desc", {count: word_filter_list_length} )}
+
+
+ );
};
\ No newline at end of file
diff --git a/src-ui/windows/config_window/setting_section/setting_box/components/word_filter/WordFilter.module.scss b/src-ui/windows/config_window/setting_section/setting_box/components/word_filter/WordFilter.module.scss
index dbb24320..74e42ef5 100644
--- a/src-ui/windows/config_window/setting_section/setting_box/components/word_filter/WordFilter.module.scss
+++ b/src-ui/windows/config_window/setting_section/setting_box/components/word_filter/WordFilter.module.scss
@@ -88,4 +88,38 @@
&:active {
background-color: var(--primary_700_color);
}
+}
+
+
+
+.toggle_button_container {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ gap: 2rem;
+}
+
+.words_count_text {
+ font-size: 1.6rem;
+}
+
+.toggle_button_wrapper {
+ padding: 1.6rem;
+ border-radius: 0.4rem;
+ &:hover {
+ background-color: var(--dark_825_color);
+ }
+ &:active {
+ background-color: var(--dark_900_color);
+ }
+}
+
+.arrow_left_svg {
+ width: 2.4rem;
+ &.to_down {
+ transform: rotate(-90deg);
+ }
+ &.to_up {
+ transform: rotate(90deg);
+ }
}
\ No newline at end of file