Merge branch 'word_filter_system_message' into for_webui
This commit is contained in:
@@ -203,7 +203,7 @@ class Controller:
|
|||||||
self.run(
|
self.run(
|
||||||
200,
|
200,
|
||||||
self.run_mapping["word_filter"],
|
self.run_mapping["word_filter"],
|
||||||
{"message":f"Detected by word filter:{message}"},
|
{"message":f"Detected by word filter: {message}"},
|
||||||
)
|
)
|
||||||
return
|
return
|
||||||
elif model.detectRepeatSendMessage(message):
|
elif model.detectRepeatSendMessage(message):
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import styles from "./MessageContainer.module.scss";
|
|||||||
import { MessageSubMenuContainer } from "./message_sub_menu_container/MessageSubMenuContainer";
|
import { MessageSubMenuContainer } from "./message_sub_menu_container/MessageSubMenuContainer";
|
||||||
import { useMessage } from "@logics_common";
|
import { useMessage } from "@logics_common";
|
||||||
import { useIsVisibleResendButton } from "@logics_main";
|
import { useIsVisibleResendButton } from "@logics_main";
|
||||||
|
|
||||||
export const MessageContainer = ({ messages, status, category, created_at }) => {
|
export const MessageContainer = ({ messages, status, category, created_at }) => {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const {
|
const {
|
||||||
@@ -22,7 +23,6 @@ export const MessageContainer = ({ messages, status, category, created_at }) =>
|
|||||||
updateMessageInputValue(messages.original);
|
updateMessageInputValue(messages.original);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
const handleMouseEnter = () => {
|
const handleMouseEnter = () => {
|
||||||
if (!is_locked) {
|
if (!is_locked) {
|
||||||
setIsHovered(true);
|
setIsHovered(true);
|
||||||
@@ -39,15 +39,20 @@ export const MessageContainer = ({ messages, status, category, created_at }) =>
|
|||||||
setIsLocked(true);
|
setIsLocked(true);
|
||||||
};
|
};
|
||||||
|
|
||||||
const is_translated_exist = messages.translated.length >= 1;
|
const is_translated_exist = messages.translated?.length >= 1;
|
||||||
const is_pending = status === "pending";
|
const is_pending = status === "pending";
|
||||||
const is_sent_message = category === "sent";
|
const is_sent_message = category === "sent";
|
||||||
const category_text = is_sent_message ? t("main_page.message_log.sent") : t("main_page.message_log.received");
|
const is_system_message = category === "system";
|
||||||
|
const category_text = is_sent_message
|
||||||
|
? t("main_page.message_log.sent")
|
||||||
|
: is_system_message
|
||||||
|
? t("main_page.message_log.system")
|
||||||
|
: t("main_page.message_log.received");
|
||||||
|
|
||||||
const message_type_class_name = clsx({
|
const message_type_class_name = clsx({
|
||||||
[styles.sent_message]: is_sent_message,
|
[styles.sent_message]: is_sent_message,
|
||||||
[styles.is_shown_resend_button]: currentIsVisibleResendButton.data,
|
[styles.received_message]: !is_sent_message && !is_system_message,
|
||||||
[styles.received_message]: !is_sent_message,
|
[styles.system_message]: is_system_message,
|
||||||
});
|
});
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@@ -63,10 +68,13 @@ export const MessageContainer = ({ messages, status, category, created_at }) =>
|
|||||||
{is_sent_message && is_pending && <span className={styles.loader}></span>}
|
{is_sent_message && is_pending && <span className={styles.loader}></span>}
|
||||||
</div>
|
</div>
|
||||||
<div className={clsx(styles.message_box, message_type_class_name)}>
|
<div className={clsx(styles.message_box, message_type_class_name)}>
|
||||||
{is_translated_exist
|
{is_system_message ? (
|
||||||
? <WithTranslatedMessages messages={messages} />
|
<p className={styles.message_main_system}>{messages.message}</p>
|
||||||
: <p className={styles.message_main}>{messages.original}</p>
|
) : is_translated_exist ? (
|
||||||
}
|
<WithTranslatedMessages messages={messages} />
|
||||||
|
) : (
|
||||||
|
<p className={styles.message_main}>{messages.original}</p>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{currentIsVisibleResendButton.data && is_sent_message && is_hovered ? (
|
{currentIsVisibleResendButton.data && is_sent_message && is_hovered ? (
|
||||||
|
|||||||
@@ -27,6 +27,11 @@
|
|||||||
&.received_message {
|
&.received_message {
|
||||||
align-items: start;
|
align-items: start;
|
||||||
}
|
}
|
||||||
|
&.system_message {
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
gap: 0.6rem;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.info_box {
|
.info_box {
|
||||||
@@ -84,4 +89,23 @@
|
|||||||
color: var(--dark_450_color);
|
color: var(--dark_450_color);
|
||||||
user-select: text;
|
user-select: text;
|
||||||
font-size: 1em;
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.system_message {
|
||||||
|
justify-content: center;
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
.category {
|
||||||
|
color: var(--primary_300_color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.message_box {
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.message_main_system {
|
||||||
|
font-size: 1.2rem;
|
||||||
|
color: var(--dark_500_color);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -30,6 +30,19 @@ export const useMessage = () => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const addSystemMessageLog = (message) => {
|
||||||
|
const uuid = crypto.randomUUID();
|
||||||
|
const date = generateTimeData();
|
||||||
|
|
||||||
|
addMessageLogs({
|
||||||
|
id: uuid,
|
||||||
|
category: "system",
|
||||||
|
status: "system",
|
||||||
|
created_at: date,
|
||||||
|
messages: {message: message},
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
const updateSentMessageLogById = (payload) => {
|
const updateSentMessageLogById = (payload) => {
|
||||||
updateMessageLogs(updateItemById(payload.id, payload.translation));
|
updateMessageLogs(updateItemById(payload.id, payload.translation));
|
||||||
};
|
};
|
||||||
@@ -52,6 +65,7 @@ export const useMessage = () => {
|
|||||||
return {
|
return {
|
||||||
currentMessageLogs,
|
currentMessageLogs,
|
||||||
sendMessage,
|
sendMessage,
|
||||||
|
addSystemMessageLog,
|
||||||
updateSentMessageLogById,
|
updateSentMessageLogById,
|
||||||
addSentMessageLog,
|
addSentMessageLog,
|
||||||
addReceivedMessageLog,
|
addReceivedMessageLog,
|
||||||
@@ -67,7 +81,7 @@ export const useMessage = () => {
|
|||||||
const generateTimeData = () => {
|
const generateTimeData = () => {
|
||||||
const data = new Date().toLocaleTimeString(
|
const data = new Date().toLocaleTimeString(
|
||||||
"ja-JP",
|
"ja-JP",
|
||||||
{hour12: false, hour: "2-digit", minute: "2-digit"},
|
{ hour12: false, hour: "2-digit", minute: "2-digit" },
|
||||||
);
|
);
|
||||||
return data;
|
return data;
|
||||||
};
|
};
|
||||||
@@ -85,7 +99,6 @@ const generateMessageObject = (data, category) => {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
const updateItemById = (id, translated_data) => (current_items) => {
|
const updateItemById = (id, translated_data) => (current_items) => {
|
||||||
return current_items.data.map(item => {
|
return current_items.data.map(item => {
|
||||||
if (item.id === id) {
|
if (item.id === id) {
|
||||||
|
|||||||
@@ -93,6 +93,7 @@ export const useReceiveRoutes = () => {
|
|||||||
} = useLanguageSettings();
|
} = useLanguageSettings();
|
||||||
const { updateSelectableLanguageList } = useSelectableLanguageList();
|
const { updateSelectableLanguageList } = useSelectableLanguageList();
|
||||||
const {
|
const {
|
||||||
|
addSystemMessageLog,
|
||||||
updateSentMessageLogById,
|
updateSentMessageLogById,
|
||||||
addSentMessageLog,
|
addSentMessageLog,
|
||||||
addReceivedMessageLog,
|
addReceivedMessageLog,
|
||||||
@@ -382,6 +383,8 @@ export const useReceiveRoutes = () => {
|
|||||||
return updated_list;
|
return updated_list;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
"/run/word_filter": (payload) => addSystemMessageLog(payload.message),
|
||||||
|
|
||||||
|
|
||||||
"/get/data/speaker_record_timeout": updateSpeakerRecordTimeout,
|
"/get/data/speaker_record_timeout": updateSpeakerRecordTimeout,
|
||||||
"/set/data/speaker_record_timeout": updateSpeakerRecordTimeout,
|
"/set/data/speaker_record_timeout": updateSpeakerRecordTimeout,
|
||||||
|
|||||||
Reference in New Issue
Block a user