From 3f30a41c5aaebc23b4275c63f7496b58ed3fbc8b Mon Sep 17 00:00:00 2001 From: LynithDev <61880709+LynithDev@users.noreply.github.com> Date: Wed, 7 Aug 2024 10:52:07 +0200 Subject: [PATCH] fix(settings): Reset button not showing properly + unify game settings across Cluster and Global launcher pages --- .../src/ui/components/base/TextField.tsx | 53 +- .../src/ui/pages/cluster/ClusterSettings.tsx | 239 +-------- .../pages/settings/game/SettingsMinecraft.tsx | 462 ++++++++++-------- 3 files changed, 315 insertions(+), 439 deletions(-) diff --git a/apps/frontend/src/ui/components/base/TextField.tsx b/apps/frontend/src/ui/components/base/TextField.tsx index 0d1c657f..dfb72bd8 100644 --- a/apps/frontend/src/ui/components/base/TextField.tsx +++ b/apps/frontend/src/ui/components/base/TextField.tsx @@ -1,5 +1,5 @@ import type { JSX } from 'solid-js'; -import { createSignal, createUniqueId, splitProps } from 'solid-js'; +import { createSignal, createUniqueId, onMount, splitProps } from 'solid-js'; import styles from './TextField.module.scss'; type TextFieldProps = { @@ -16,11 +16,13 @@ function TextField(props: TextFieldProps) { const [isValid, setIsValid] = createSignal(true); const id = createUniqueId(); - function validate(e: Event & { currentTarget: HTMLInputElement }) { + let ref!: HTMLInputElement; + + function validate() { if (!split.inputFilter) return; - const value = e.currentTarget.value; + const value = ref.value; const valid = split.inputFilter(value); setIsValid(valid); @@ -28,17 +30,22 @@ function TextField(props: TextFieldProps) { split.onValidInput(value); } - function onSubmit(e: Event & { currentTarget: HTMLInputElement }) { + function onSubmit() { if (isValid() && split.onValidSubmit) - split.onValidSubmit(e.currentTarget.value); + split.onValidSubmit(ref.value); } + onMount(() => { + validate(); + }); + return (