From 4179cf56f91404b4c19e47a6e38a5f3ad688b97a Mon Sep 17 00:00:00 2001 From: Der_Googler <54764558+DerGoogler@users.noreply.github.com> Date: Tue, 21 May 2024 12:07:51 +0200 Subject: [PATCH] add changeable font size in terminal --- Website/src/activitys/TerminalActivity.tsx | 14 ++++++++- .../src/activitys/TestTerminalActivity.tsx | 31 +++++++++++++------ www/index.html | 2 +- 3 files changed, 36 insertions(+), 11 deletions(-) diff --git a/Website/src/activitys/TerminalActivity.tsx b/Website/src/activitys/TerminalActivity.tsx index 88c49fbb..7a01fc20 100644 --- a/Website/src/activitys/TerminalActivity.tsx +++ b/Website/src/activitys/TerminalActivity.tsx @@ -1,8 +1,10 @@ import { Ansi } from "@Components/Ansi"; +import { GestureDetector } from "@Components/onsenui/GestureDetector"; import { Page } from "@Components/onsenui/Page"; import { Toolbar } from "@Components/onsenui/Toolbar"; import { useActivity } from "@Hooks/useActivity"; import { useModFS } from "@Hooks/useModFS"; +import { useNativeStorage } from "@Hooks/useNativeStorage"; import { useSettings } from "@Hooks/useSettings"; import { useStrings } from "@Hooks/useStrings"; import { BuildConfig } from "@Native/BuildConfig"; @@ -29,8 +31,9 @@ const TerminalActivity = () => { const { settings } = useSettings(); const { strings } = useStrings(); const { modFS, __modFS } = useModFS(); - const [active, setActive] = React.useState(true); + const [fontSize, setFontSize] = useNativeStorage("term_font_size", 12); + const [active, setActive] = React.useState(true); const [lines, setLines] = React.useState([]); const confirm = useConfirm(); @@ -316,9 +319,17 @@ const TerminalActivity = () => { renderToolbar={renderToolbar} > { + setFontSize((init) => { + const newFontSize = init * (1 + (e.gesture.scale - 1) * 0.5); + return Math.min(Math.max(newFontSize, 12), 100); + }); + }} sx={{ display: "flex", flexWrap: "wrap", + height: "100%", }} > { flex: "0 0 100%", color: "white", height: "100%", + fontSize: fontSize, }} direction="column" justifyContent="flex-start" diff --git a/Website/src/activitys/TestTerminalActivity.tsx b/Website/src/activitys/TestTerminalActivity.tsx index 86bde4ce..f773e77f 100644 --- a/Website/src/activitys/TestTerminalActivity.tsx +++ b/Website/src/activitys/TestTerminalActivity.tsx @@ -5,7 +5,9 @@ import { Toolbar } from "@Components/onsenui/Toolbar"; import { Page } from "@Components/onsenui/Page"; import { Ansi } from "@Components/Ansi"; import { useConfirm } from "material-ui-confirm"; -import RestartAltIcon from '@mui/icons-material/RestartAlt'; +import RestartAltIcon from "@mui/icons-material/RestartAlt"; +import { GestureDetector } from "@Components/onsenui/GestureDetector"; +import { useNativeStorage } from "@Hooks/useNativeStorage"; function TestTerminalActivity() { const { context } = useActivity(); @@ -75,7 +77,7 @@ function TestTerminalActivity() { }); addButton({ children: "Reboot", - startIcon: , + startIcon: , onClick: () => { confirm({ title: "Reboot device?", @@ -88,9 +90,9 @@ function TestTerminalActivity() { }); addText({ - children: - "\x1b[2mModules that causes issues after installing belog not to \x1b[35;4mMMRL\x1b[0;2m!\nPlease report these issues to thier support page\x1b[2m", - }); + children: + "\x1b[2mModules that causes issues after installing belog not to \x1b[35;4mMMRL\x1b[0;2m!\nPlease report these issues to thier support page\x1b[2m", + }); addText({ children: "Support for this module:", }); @@ -102,16 +104,27 @@ function TestTerminalActivity() { }); }, []); + const [fontSize, setFontSize] = useNativeStorage("term_fodnt_size", 12); + return ( -
{ + setFontSize((init) => { + const newFontSize = init * (1 + (e.gesture.scale - 1) * 0.5); + return Math.min(Math.max(newFontSize, 12), 100); + }); + }} + sx={{ display: "flex", flexWrap: "wrap", + height: "100%", }} > ))} -
+
); } diff --git a/www/index.html b/www/index.html index 654f2621..bc5730f1 100644 --- a/www/index.html +++ b/www/index.html @@ -23,7 +23,7 @@ - +