aboutsummaryrefslogtreecommitdiff
path: root/FrontEnd/src/views/common/button/TextButton.tsx
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2021-06-15 18:25:17 +0800
committerGitHub <noreply@github.com>2021-06-15 18:25:17 +0800
commit4645761c2090aeaf8c26789155b342c048f44535 (patch)
tree1aab5ce94549f3f8b3fd1a31c84fb2dd8b6b2511 /FrontEnd/src/views/common/button/TextButton.tsx
parent485ef185153890b7c6ac4ed9798a3f2db80c8845 (diff)
parentb6afd5e8161126522bdfff876f5483fa97e94797 (diff)
downloadtimeline-4645761c2090aeaf8c26789155b342c048f44535.tar.gz
timeline-4645761c2090aeaf8c26789155b342c048f44535.tar.bz2
timeline-4645761c2090aeaf8c26789155b342c048f44535.zip
Merge pull request #620 from crupest/vite
Migrate to vite!
Diffstat (limited to 'FrontEnd/src/views/common/button/TextButton.tsx')
-rw-r--r--FrontEnd/src/views/common/button/TextButton.tsx41
1 files changed, 41 insertions, 0 deletions
diff --git a/FrontEnd/src/views/common/button/TextButton.tsx b/FrontEnd/src/views/common/button/TextButton.tsx
new file mode 100644
index 00000000..1a2bac94
--- /dev/null
+++ b/FrontEnd/src/views/common/button/TextButton.tsx
@@ -0,0 +1,41 @@
+import React from "react";
+import { useTranslation } from "react-i18next";
+import classNames from "classnames";
+
+import { convertI18nText, I18nText } from "@/common";
+import { PaletteColorType } from "@/palette";
+
+import "./TextButton.css";
+
+function _TextButton(
+ {
+ text,
+ color,
+ onClick,
+ className,
+ style,
+ }: {
+ text: I18nText;
+ color?: PaletteColorType;
+ onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
+ className?: string;
+ style?: React.CSSProperties;
+ },
+ ref: React.ForwardedRef<HTMLButtonElement>
+): React.ReactElement | null {
+ const { t } = useTranslation();
+
+ return (
+ <button
+ ref={ref}
+ className={classNames("cru-text-button", color ?? "primary", className)}
+ onClick={onClick}
+ style={style}
+ >
+ {convertI18nText(text, t)}
+ </button>
+ );
+}
+
+const TextButton = React.forwardRef(_TextButton);
+export default TextButton;