From c3e2987e823a20d997c8de3ee5b6a5aa8ec433cb Mon Sep 17 00:00:00 2001 From: 0forks <114709761+0forks@users.noreply.github.com> Date: Sun, 27 Nov 2022 18:51:54 +0300 Subject: [PATCH] Improve GUI consistency/UX (#313) --- gui/src/App.tsx | 6 +- gui/src/components/commons/Checkbox.tsx | 9 ++- gui/src/components/commons/Radio.tsx | 7 ++- gui/src/components/home/Home.tsx | 10 +--- gui/src/components/home/ResetButton.tsx | 60 +++++++------------ .../settings/pages/GeneralSettings.tsx | 2 +- gui/src/components/tracker/TrackerCard.tsx | 2 +- .../components/tracker/TrackerSettings.tsx | 11 ++-- gui/src/components/utils/formatting.ts | 4 ++ gui/src/hooks/config.ts | 23 +++++-- gui/src/hooks/tracker.ts | 3 +- gui/src/hooks/websocket-api.ts | 6 +- 12 files changed, 76 insertions(+), 67 deletions(-) create mode 100644 gui/src/components/utils/formatting.ts diff --git a/gui/src/App.tsx b/gui/src/App.tsx index 6ee312daf..dded39f68 100644 --- a/gui/src/App.tsx +++ b/gui/src/App.tsx @@ -34,8 +34,12 @@ import { ManualProportionsPage } from './components/onboarding/pages/body-propor import { TrackerSettingsPage } from './components/tracker/TrackerSettings'; import { DonePage } from './components/onboarding/pages/Done'; import { OSCSettings } from './components/settings/pages/OSCSettings'; +import { useConfig } from './hooks/config'; function Layout() { + const { loading } = useConfig(); + if (loading) return (<>); + return ( <> @@ -154,7 +158,7 @@ function App() { <>
- {websocketAPI.isFistConnection + {websocketAPI.isFirstConnection ? 'Connecting to the server' : 'Connection lost to the server. Trying to reconnect...'}
diff --git a/gui/src/components/commons/Checkbox.tsx b/gui/src/components/commons/Checkbox.tsx index cea1df958..004b4703d 100644 --- a/gui/src/components/commons/Checkbox.tsx +++ b/gui/src/components/commons/Checkbox.tsx @@ -8,6 +8,8 @@ export function CheckBox({ control, outlined, name, + // input props + disabled, ...props }: { label: string | ReactChild; @@ -15,7 +17,7 @@ export function CheckBox({ name: string; variant?: 'checkbox' | 'toggle'; outlined?: boolean; -}) { +} & React.HTMLProps) { const classes = useMemo(() => { const vriantsMap = { checkbox: { @@ -51,7 +53,10 @@ export function CheckBox({