+export const WordFilterContainer = (props) => (
+
+);
-export const ActionButtonContainer = (props) => {
- return (
-
- );
-};
-
-export const WordFilterContainer = (props) => {
- return (
-
- );
-};
-
-export const DownloadModelsContainer = (props) => {
- return (
-
-
-
-
- );
-};
\ No newline at end of file
+export const DownloadModelsContainer = (props) => (
+
+);
\ No newline at end of file
diff --git a/src-ui/app/config_page/setting_section/setting_box/_templates/Templates.module.scss b/src-ui/app/config_page/setting_section/setting_box/_templates/Templates.module.scss
index 3f06df1b..3de7a81d 100644
--- a/src-ui/app/config_page/setting_section/setting_box/_templates/Templates.module.scss
+++ b/src-ui/app/config_page/setting_section/setting_box/_templates/Templates.module.scss
@@ -9,6 +9,12 @@
flex-direction: column;
}
border-bottom: solid 0.1rem var(--dark_800_color);
+
+ &.is_break_point {
+ flex-direction: column;
+ gap: 2rem;
+ align-items: start;
+ }
}
.label_only_section {
diff --git a/src-ui/app/config_page/setting_section/setting_box/appearance/Appearance.jsx b/src-ui/app/config_page/setting_section/setting_box/appearance/Appearance.jsx
index 2755cce9..26622941 100644
--- a/src-ui/app/config_page/setting_section/setting_box/appearance/Appearance.jsx
+++ b/src-ui/app/config_page/setting_section/setting_box/appearance/Appearance.jsx
@@ -4,6 +4,11 @@ import { useTranslation } from "react-i18next";
import styles from "./Appearance.module.scss";
import { ui_configs } from "@ui_configs";
import { useStore_SelectableFontFamilyList } from "@store";
+
+import {
+ useWindow,
+} from "@logics_common";
+
import {
useUiLanguage,
useUiScaling,
@@ -52,6 +57,8 @@ const UiLanguageContainer = () => {
const UiScalingContainer = () => {
const { t } = useTranslation();
const { currentUiScaling, setUiScaling } = useUiScaling();
+ const { asyncUpdateBreakPoint } = useWindow();
+
const [ui_ui_scaling, setUiUiScaling] = useState(currentUiScaling.data);
const onchangeFunction = (value) => {
@@ -62,6 +69,7 @@ const UiScalingContainer = () => {
};
useEffect(() => {
setUiUiScaling(currentUiScaling.data);
+ asyncUpdateBreakPoint();
}, [currentUiScaling.data]);
const createMarks = (min, max) => {
diff --git a/src-ui/logics/common/useWindow.js b/src-ui/logics/common/useWindow.js
index 1ca764eb..7d04fd74 100644
--- a/src-ui/logics/common/useWindow.js
+++ b/src-ui/logics/common/useWindow.js
@@ -1,8 +1,14 @@
-import { useStdoutToPython } from "@logics/useStdoutToPython";
import { useEffect } from "react";
import { appWindow, currentMonitor, availableMonitors, LogicalPosition, LogicalSize } from "@tauri-apps/api/window";
+import { useStdoutToPython } from "@logics/useStdoutToPython";
+import { useStore_IsBreakPoint } from "@store";
+import { useUiScaling } from "@logics_configs";
+
export const useWindow = () => {
const { asyncStdoutToPython } = useStdoutToPython();
+ const { currentUiScaling } = useUiScaling();
+ const { updateIsBreakPoint } = useStore_IsBreakPoint();
+
const asyncGetWindowGeometry = async () => {
try {
const position = await appWindow.outerPosition();
@@ -82,13 +88,23 @@ export const useWindow = () => {
}
};
+ const asyncUpdateBreakPoint = async () => {
+ const size = await appWindow.innerSize();
+ const dynamicBreakPoint = 800 * (currentUiScaling.data / 100);
+ updateIsBreakPoint(size.width <= dynamicBreakPoint);
+ };
const WindowGeometryController = () => {
useEffect(() => {
let resizeTimeout;
+ const asyncFunction = () => {
+ asyncSaveWindowGeometry();
+ asyncUpdateBreakPoint();
+ };
+
const unlistenResize = appWindow.onResized(() => {
clearTimeout(resizeTimeout);
- resizeTimeout = setTimeout(asyncSaveWindowGeometry, 200);
+ resizeTimeout = setTimeout(asyncFunction, 200);
});
return () => {
@@ -115,5 +131,6 @@ export const useWindow = () => {
WindowGeometryController,
asyncSaveWindowGeometry,
restoreWindowGeometry,
+ asyncUpdateBreakPoint,
};
};
diff --git a/src-ui/store.js b/src-ui/store.js
index 68f8ee78..404f6a13 100644
--- a/src-ui/store.js
+++ b/src-ui/store.js
@@ -113,6 +113,7 @@ export const { atomInstance: Atom_MainFunctionsStateMemory, useHook: useStore_Ma
export const { atomInstance: Atom_OpenedQuickSetting, useHook: useStore_OpenedQuickSetting } = createAtomWithHook("", "OpenedQuickSetting");
export const { atomInstance: Atom_IsSoftwareUpdateAvailable, useHook: useStore_IsSoftwareUpdateAvailable } = createAtomWithHook(false, "IsSoftwareUpdateAvailable");
export const { atomInstance: Atom_InitProgress, useHook: useStore_InitProgress } = createAtomWithHook(0, "InitProgress");
+export const { atomInstance: Atom_IsBreakPoint, useHook: useStore_IsBreakPoint } = createAtomWithHook(false, "IsBreakPoint");
// Main Page
// Functions