import { useStore_UiLanguage, useStore_UiScaling, useStore_MessageLogUiScaling, useStore_SendMessageButtonType, useStore_ShowResendButton, useStore_SelectedFontFamily, useStore_Transparency, } from "@store"; import { useStdoutToPython } from "@useStdoutToPython"; import { useI18n } from "@useI18n"; import { useNotificationStatus } from "@logics_common"; export const useAppearance = () => { const { t } = useI18n(); const { asyncStdoutToPython } = useStdoutToPython(); const { showNotification_SaveSuccess } = useNotificationStatus(); // UI Language const { currentUiLanguage, updateUiLanguage, pendingUiLanguage } = useStore_UiLanguage(); // UI Scaling const { currentUiScaling, updateUiScaling, pendingUiScaling } = useStore_UiScaling(); // Message Log Ui Scaling const { currentMessageLogUiScaling, updateMessageLogUiScaling, pendingMessageLogUiScaling } = useStore_MessageLogUiScaling(); // Send Message Button Type const { currentSendMessageButtonType, updateSendMessageButtonType, pendingSendMessageButtonType } = useStore_SendMessageButtonType(); // Show Resend Button const { currentShowResendButton, updateShowResendButton, pendingShowResendButton } = useStore_ShowResendButton(); // Selected Font Family const { currentSelectedFontFamily, updateSelectedFontFamily, pendingSelectedFontFamily } = useStore_SelectedFontFamily(); // Transparency const { currentTransparency, updateTransparency, pendingTransparency } = useStore_Transparency(); // UI Language const getUiLanguage = () => { pendingUiLanguage(); asyncStdoutToPython("/get/data/ui_language"); }; const setUiLanguage = (selected_ui_language) => { pendingUiLanguage(); asyncStdoutToPython("/set/data/ui_language", selected_ui_language); }; const setSuccessUiLanguage = (selected_ui_language) => { updateUiLanguage(selected_ui_language); showNotification_SaveSuccess(); }; // UI Scaling const getUiScaling = () => { pendingUiScaling(); asyncStdoutToPython("/get/data/ui_scaling"); }; const setUiScaling = (selected_ui_scaling) => { pendingUiScaling(); asyncStdoutToPython("/set/data/ui_scaling", selected_ui_scaling); }; const setSuccessUiScaling = (selected_ui_scaling) => { updateUiScaling(selected_ui_scaling); showNotification_SaveSuccess(); }; // Message Log Ui Scaling const getMessageLogUiScaling = () => { pendingMessageLogUiScaling(); asyncStdoutToPython("/get/data/textbox_ui_scaling"); }; const setMessageLogUiScaling = (selected_ui_scaling) => { pendingMessageLogUiScaling(); asyncStdoutToPython("/set/data/textbox_ui_scaling", selected_ui_scaling); }; const setSuccessMessageLogUiScaling = (selected_ui_scaling) => { updateMessageLogUiScaling(selected_ui_scaling); showNotification_SaveSuccess(); }; // Send Message Button Type const getSendMessageButtonType = () => { pendingSendMessageButtonType(); asyncStdoutToPython("/get/data/send_message_button_type"); }; const setSendMessageButtonType = (send_message_button_type) => { pendingSendMessageButtonType(); asyncStdoutToPython("/set/data/send_message_button_type", send_message_button_type); }; const setSuccessSendMessageButtonType = (send_message_button_type) => { updateSendMessageButtonType(send_message_button_type); showNotification_SaveSuccess(); }; // Show Resend Button const getShowResendButton = () => { pendingShowResendButton(); asyncStdoutToPython("/get/data/show_resend_button"); }; const toggleShowResendButton = () => { pendingShowResendButton(); if (currentShowResendButton.data) { asyncStdoutToPython("/set/disable/show_resend_button"); } else { asyncStdoutToPython("/set/enable/show_resend_button"); } }; const setSuccessShowResendButton = (to_show) => { updateShowResendButton(to_show); showNotification_SaveSuccess(); }; // Selected Font Family const getSelectedFontFamily = () => { pendingSelectedFontFamily(); asyncStdoutToPython("/get/data/font_family"); }; const setSelectedFontFamily = (selected_font_family) => { pendingSelectedFontFamily(); asyncStdoutToPython("/set/data/font_family", selected_font_family); }; const setSuccessSelectedFontFamily = (selected_font_family) => { updateSelectedFontFamily(selected_font_family); showNotification_SaveSuccess(); }; // Transparency const getTransparency = () => { pendingTransparency(); asyncStdoutToPython("/get/data/transparency"); }; const setTransparency = (selected_transparency) => { pendingTransparency(); asyncStdoutToPython("/set/data/transparency", selected_transparency); }; const setSuccessTransparency = (selected_transparency) => { updateTransparency(selected_transparency); showNotification_SaveSuccess(); }; return { // UI Language currentUiLanguage, getUiLanguage, updateUiLanguage, setUiLanguage, setSuccessUiLanguage, // UI Scaling currentUiScaling, getUiScaling, updateUiScaling, setUiScaling, setSuccessUiScaling, // Message Log Ui Scaling currentMessageLogUiScaling, getMessageLogUiScaling, updateMessageLogUiScaling, setMessageLogUiScaling, setSuccessMessageLogUiScaling, // Send Message Button Type currentSendMessageButtonType, getSendMessageButtonType, setSendMessageButtonType, setSuccessSendMessageButtonType, updateSendMessageButtonType, // Show Resend Button currentShowResendButton, getShowResendButton, updateShowResendButton, toggleShowResendButton, setSuccessShowResendButton, // Selected Font Family currentSelectedFontFamily, getSelectedFontFamily, updateSelectedFontFamily, setSelectedFontFamily, setSuccessSelectedFontFamily, // Transparency currentTransparency, getTransparency, updateTransparency, setTransparency, setSuccessTransparency, }; };