From 13f6f2a451feede8037d18cfbac64843e108ccbd Mon Sep 17 00:00:00 2001 From: crupest Date: Sat, 29 Jul 2023 18:26:24 +0800 Subject: ... --- FrontEnd/src/views/common/button/Button.css | 2 +- FrontEnd/src/views/common/button/LoadingButton.css | 14 ++++++++++++++ FrontEnd/src/views/common/button/LoadingButton.tsx | 20 +++++++++----------- 3 files changed, 24 insertions(+), 12 deletions(-) create mode 100644 FrontEnd/src/views/common/button/LoadingButton.css (limited to 'FrontEnd/src/views/common/button') diff --git a/FrontEnd/src/views/common/button/Button.css b/FrontEnd/src/views/common/button/Button.css index fe619f9d..14b019b9 100644 --- a/FrontEnd/src/views/common/button/Button.css +++ b/FrontEnd/src/views/common/button/Button.css @@ -56,7 +56,7 @@ border-color: var(--cru-key-2-color); } -.cru-button.outline:disabled { +.cru-button.outline:not(.cru-loading-button):disabled { color: var(--cru-surface-on-color); border-color: var(--cru-surface-on-color); background-color: white; diff --git a/FrontEnd/src/views/common/button/LoadingButton.css b/FrontEnd/src/views/common/button/LoadingButton.css new file mode 100644 index 00000000..8d929383 --- /dev/null +++ b/FrontEnd/src/views/common/button/LoadingButton.css @@ -0,0 +1,14 @@ +.cru-loading-button { + display: flex; + align-items: center; +} + +.cru-loading-button:disabled { + color: var(--cru-key-2-color); + border-color: var(--cru-key-2-color); + cursor: auto; +} + +.cru-loading-button-spinner { + margin-left: 0.5em; +} diff --git a/FrontEnd/src/views/common/button/LoadingButton.tsx b/FrontEnd/src/views/common/button/LoadingButton.tsx index 249f3e1d..f23369de 100644 --- a/FrontEnd/src/views/common/button/LoadingButton.tsx +++ b/FrontEnd/src/views/common/button/LoadingButton.tsx @@ -1,19 +1,19 @@ -import * as React from "react"; import classNames from "classnames"; -import { useTranslation } from "react-i18next"; -import { I18nText, ThemeColor, convertI18nText } from "../common"; +import { I18nText, ThemeColor, useC } from "../common"; import Spinner from "../Spinner"; +import "./LoadingButton.css"; + interface LoadingButtonProps extends React.ComponentPropsWithoutRef<"button"> { color?: ThemeColor; text?: I18nText; loading?: boolean; } -function LoadingButton(props: LoadingButtonProps): JSX.Element { - const { t } = useTranslation(); +export default function LoadingButton(props: LoadingButtonProps) { + const c = useC(); const { color, text, loading, className, children, ...otherProps } = props; @@ -23,17 +23,15 @@ function LoadingButton(props: LoadingButtonProps): JSX.Element { return ( ); } - -export default LoadingButton; -- cgit v1.2.3