From 1f242271a98900ca0a72a13ab05efbf65090df0d Mon Sep 17 00:00:00 2001 From: crupest Date: Tue, 15 Jun 2021 17:04:25 +0800 Subject: ... --- FrontEnd/src/index.css | 10 ---------- FrontEnd/src/views/about/index.tsx | 14 ++++++++------ FrontEnd/src/views/center/TimelineBoard.tsx | 5 +++-- FrontEnd/src/views/common/Card.css | 11 +++++++++++ FrontEnd/src/views/common/Card.tsx | 22 ++++++++++++++++++++++ FrontEnd/src/views/settings/index.tsx | 9 +++++---- .../timeline-common/TimelinePageCardTemplate.tsx | 7 ++++--- 7 files changed, 53 insertions(+), 25 deletions(-) create mode 100644 FrontEnd/src/views/common/Card.css create mode 100644 FrontEnd/src/views/common/Card.tsx (limited to 'FrontEnd/src') diff --git a/FrontEnd/src/index.css b/FrontEnd/src/index.css index ff8c1866..8d428774 100644 --- a/FrontEnd/src/index.css +++ b/FrontEnd/src/index.css @@ -53,16 +53,6 @@ textarea { white-space: nowrap; } -.cru-card { - border: 1px solid; - border-color: #e9ecef; - background: #f8f9fa; - transition: all 0.3s; -} - -.cru-card:hover { - border-color: var(--tl-primary-color); -} .full-viewport-center-child { position: fixed; diff --git a/FrontEnd/src/views/about/index.tsx b/FrontEnd/src/views/about/index.tsx index db4814c4..7b0e50b0 100644 --- a/FrontEnd/src/views/about/index.tsx +++ b/FrontEnd/src/views/about/index.tsx @@ -4,6 +4,8 @@ import { useTranslation, Trans } from "react-i18next"; import authorAvatarUrl from "./author-avatar.png"; import githubLogoUrl from "./github.png"; +import Card from "../common/Card"; + import "./index.css"; const frontendCredits: { @@ -68,7 +70,7 @@ const AboutPage: React.FC = () => { return (
-
+

{t("about.author.title")}

@@ -102,8 +104,8 @@ const AboutPage: React.FC = () => {

-
-
+ +

{t("about.site.title")}

@@ -120,8 +122,8 @@ const AboutPage: React.FC = () => { {t("about.site.repo")}

-
-
+ +

{t("about.credits.title")}

{t("about.credits.content")}

{t("about.credits.frontend")}

@@ -150,7 +152,7 @@ const AboutPage: React.FC = () => { })}
  • ...
  • -
    +
    ); }; diff --git a/FrontEnd/src/views/center/TimelineBoard.tsx b/FrontEnd/src/views/center/TimelineBoard.tsx index e0a2d80e..7b9981e5 100644 --- a/FrontEnd/src/views/center/TimelineBoard.tsx +++ b/FrontEnd/src/views/center/TimelineBoard.tsx @@ -9,6 +9,7 @@ import TimelineLogo from "../common/TimelineLogo"; import UserTimelineLogo from "../common/UserTimelineLogo"; import LoadFailReload from "../common/LoadFailReload"; import FlatButton from "../common/button/FlatButton"; +import Card from "../common/Card"; interface TimelineBoardItemProps { timeline: HttpTimelineInfo; @@ -224,7 +225,7 @@ const TimelineBoardUI: React.FC = (props) => { const [editing, setEditing] = React.useState(false); return ( -
    +
    {title != null &&

    {title}

    } {editable && @@ -280,7 +281,7 @@ const TimelineBoardUI: React.FC = (props) => { ); } })()} -
    +
    ); }; diff --git a/FrontEnd/src/views/common/Card.css b/FrontEnd/src/views/common/Card.css new file mode 100644 index 00000000..daf4e12b --- /dev/null +++ b/FrontEnd/src/views/common/Card.css @@ -0,0 +1,11 @@ +.cru-card { + border: 1px solid; + border-color: #e9ecef; + border-radius: 8px; + background: #f8f9fa; + transition: all 0.3s; +} + +.cru-card:hover { + border-color: var(--tl-primary-color); +} diff --git a/FrontEnd/src/views/common/Card.tsx b/FrontEnd/src/views/common/Card.tsx new file mode 100644 index 00000000..da2a1b68 --- /dev/null +++ b/FrontEnd/src/views/common/Card.tsx @@ -0,0 +1,22 @@ +import classNames from "classnames"; +import React from "react"; + +import "./Card.css"; + +function _Card( + { + className, + children, + }: React.PropsWithChildren>, + ref: React.ForwardedRef +): React.ReactElement | null { + return ( +
    + {children} +
    + ); +} + +const Card = React.forwardRef(_Card); + +export default Card; diff --git a/FrontEnd/src/views/settings/index.tsx b/FrontEnd/src/views/settings/index.tsx index f0bed222..840bb7e8 100644 --- a/FrontEnd/src/views/settings/index.tsx +++ b/FrontEnd/src/views/settings/index.tsx @@ -8,6 +8,7 @@ import { useUser, userService } from "@/services/user"; import ChangePasswordDialog from "./ChangePasswordDialog"; import ChangeAvatarDialog from "./ChangeAvatarDialog"; import ChangeNicknameDialog from "./ChangeNicknameDialog"; +import Card from "../common/Card"; import "./index.css"; @@ -52,7 +53,7 @@ const SettingsPage: React.FC = (_) => { <> {user ? ( -
    +

    {t("settings.subheaders.account")}

    @@ -82,9 +83,9 @@ const SettingsPage: React.FC = (_) => { > {t("settings.logout")}
    -
    + ) : null} -
    +

    {t("settings.subheaders.customization")}

    @@ -108,7 +109,7 @@ const SettingsPage: React.FC = (_) => { -
    + {(() => { switch (dialog) { diff --git a/FrontEnd/src/views/timeline-common/TimelinePageCardTemplate.tsx b/FrontEnd/src/views/timeline-common/TimelinePageCardTemplate.tsx index 623d643f..851dfa55 100644 --- a/FrontEnd/src/views/timeline-common/TimelinePageCardTemplate.tsx +++ b/FrontEnd/src/views/timeline-common/TimelinePageCardTemplate.tsx @@ -19,6 +19,7 @@ import TimelinePropertyChangeDialog from "./TimelinePropertyChangeDialog"; import ConnectionStatusBadge from "./ConnectionStatusBadge"; import { MenuItems, PopupMenu } from "../common/Menu"; import FullPage from "../common/FullPage"; +import Card from "../common/Card"; export interface TimelineCardTemplateProps extends TimelinePageCardProps { infoArea: React.ReactElement; @@ -110,8 +111,8 @@ const TimelinePageCardTemplate: React.FC = ({ return ( <> -
    @@ -129,7 +130,7 @@ const TimelinePageCardTemplate: React.FC = ({ ) : (
    {content}
    )} -
    + {(() => { if (dialog === "member") { return ( -- cgit v1.2.3