From 5a095290db9abf5f8e9528ef4f56c0b974231ad1 Mon Sep 17 00:00:00 2001 From: crupest Date: Sat, 30 Apr 2022 23:02:44 +0800 Subject: ... --- FrontEnd/src/views/common/alert/AlertHost.tsx | 7 ++++-- FrontEnd/src/views/common/button/IconButton.css | 9 ++++++++ FrontEnd/src/views/common/button/IconButton.tsx | 25 ++++++++++++++++++++++ .../src/views/common/dailog/FullPageDialog.tsx | 6 ++++-- FrontEnd/src/views/common/index.css | 13 ----------- 5 files changed, 43 insertions(+), 17 deletions(-) create mode 100644 FrontEnd/src/views/common/button/IconButton.css create mode 100644 FrontEnd/src/views/common/button/IconButton.tsx (limited to 'FrontEnd/src/views/common') diff --git a/FrontEnd/src/views/common/alert/AlertHost.tsx b/FrontEnd/src/views/common/alert/AlertHost.tsx index ba6d6a0f..92db78fa 100644 --- a/FrontEnd/src/views/common/alert/AlertHost.tsx +++ b/FrontEnd/src/views/common/alert/AlertHost.tsx @@ -6,6 +6,8 @@ import classNames from "classnames"; import { alertService, AlertInfoEx, AlertInfo } from "@/services/alert"; import { convertI18nText } from "@/common"; +import IconButton from "../button/IconButton"; + import "./alert.css"; interface AutoCloseAlertProps { @@ -67,8 +69,9 @@ export const AutoCloseAlert: React.FC = (props) => { })()}
-
diff --git a/FrontEnd/src/views/common/button/IconButton.css b/FrontEnd/src/views/common/button/IconButton.css new file mode 100644 index 00000000..ef4dca00 --- /dev/null +++ b/FrontEnd/src/views/common/button/IconButton.css @@ -0,0 +1,9 @@ +.cru-icon-button { + color: var(--cru-theme-color); + font-size: 1.4rem; + cursor: pointer; +} + +.cru-icon-button.large { + font-size: 1.6rem; +} diff --git a/FrontEnd/src/views/common/button/IconButton.tsx b/FrontEnd/src/views/common/button/IconButton.tsx new file mode 100644 index 00000000..56c62588 --- /dev/null +++ b/FrontEnd/src/views/common/button/IconButton.tsx @@ -0,0 +1,25 @@ +import classNames from "classnames"; +import React from "react"; + +export type IconButtonProps = { + icon: string; + color?: string; + large?: boolean; +} & React.ComponentPropsWithRef<"i">; + +export default function IconButton(props: IconButtonProps): JSX.Element { + const { icon, color, className, large, ...otherProps } = props; + + return ( + + ); +} diff --git a/FrontEnd/src/views/common/dailog/FullPageDialog.tsx b/FrontEnd/src/views/common/dailog/FullPageDialog.tsx index 3c7f9d0b..ef76f2f2 100644 --- a/FrontEnd/src/views/common/dailog/FullPageDialog.tsx +++ b/FrontEnd/src/views/common/dailog/FullPageDialog.tsx @@ -4,6 +4,7 @@ import classnames from "classnames"; import { CSSTransition } from "react-transition-group"; import "./FullPageDialog.css"; +import IconButton from "../button/IconButton"; export interface FullPageDialogProps { show: boolean; @@ -28,8 +29,9 @@ const FullPageDialog: React.FC = ({ >
-
diff --git a/FrontEnd/src/views/common/index.css b/FrontEnd/src/views/common/index.css index 05fdce04..f6f14d2d 100644 --- a/FrontEnd/src/views/common/index.css +++ b/FrontEnd/src/views/common/index.css @@ -243,19 +243,6 @@ height: 100%; } -.icon-button { - font-size: 1.4rem; - cursor: pointer; -} - -.icon-button.large { - font-size: 1.6rem; -} - -.icon-button.primary-enhance { - color: var(--cru-primary-enhance-color); -} - .cru-avatar { width: 60px; height: 60px; -- cgit v1.2.3