From 6897006e1534bbeda60ed666f9c281220026ed54 Mon Sep 17 00:00:00 2001 From: crupest Date: Wed, 4 Nov 2020 16:53:09 +0800 Subject: feat: Redesign settings ui. --- FrontEnd/src/app/index.sass | 1 + FrontEnd/src/app/views/settings/index.tsx | 109 +++++++++++++------------- FrontEnd/src/app/views/settings/settings.sass | 14 ++++ 3 files changed, 69 insertions(+), 55 deletions(-) create mode 100644 FrontEnd/src/app/views/settings/settings.sass (limited to 'FrontEnd') diff --git a/FrontEnd/src/app/index.sass b/FrontEnd/src/app/index.sass index 482404b5..b8cc464e 100644 --- a/FrontEnd/src/app/index.sass +++ b/FrontEnd/src/app/index.sass @@ -5,6 +5,7 @@ @import './views/home/home' @import './views/about/about' @import './views/login/login' +@import './views/settings/settings' @import './views/timeline-common/timeline-common' @import './views/timeline/timeline' @import './views/user/user' diff --git a/FrontEnd/src/app/views/settings/index.tsx b/FrontEnd/src/app/views/settings/index.tsx index 4d4f18b5..513885e8 100644 --- a/FrontEnd/src/app/views/settings/index.tsx +++ b/FrontEnd/src/app/views/settings/index.tsx @@ -1,7 +1,7 @@ import React, { useState } from "react"; import { useHistory } from "react-router"; import { useTranslation } from "react-i18next"; -import { Form, Container, Row, Col, Button, Modal } from "react-bootstrap"; +import { Form, Row, Col, Button, Modal } from "react-bootstrap"; import { useUser, userService } from "@/services/user"; import OperationDialog from "../common/OperationDialog"; @@ -105,62 +105,61 @@ const SettingsPage: React.FC = (_) => { const language = i18n.language.slice(0, 2); return ( - + <> {user ? ( - <> - - -
{ - history.push(`/users/${user.username}`); - }} - > - {t("settings.gotoSelf")} -
- -
- - -
setDialog("changepassword")} - > - {t("settings.changePassword")} -
- -
- - -
{ - setDialog("logout"); - }} - > - {t("settings.logout")} -
- -
- - ) : null} - - -
{t("settings.languagePrimary")}
-

{t("settings.languageSecondary")}

- - - { - void i18n.changeLanguage(e.target.value); +
+

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

+
{ + history.push(`/users/${user.username}`); }} > - - - - - + {t("settings.gotoSelf")} +
+
setDialog("changepassword")} + > + {t("settings.changePassword")} +
+
{ + setDialog("logout"); + }} + > + {t("settings.logout")} +
+
+ ) : null} +
+

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

+ + +
{t("settings.languagePrimary")}
+ + {t("settings.languageSecondary")} + + + + { + void i18n.changeLanguage(e.target.value); + }} + > + + + + +
+
{(() => { switch (dialog) { case "changepassword": @@ -187,7 +186,7 @@ const SettingsPage: React.FC = (_) => { return null; } })()} -
+ ); }; diff --git a/FrontEnd/src/app/views/settings/settings.sass b/FrontEnd/src/app/views/settings/settings.sass new file mode 100644 index 00000000..8c6d24b8 --- /dev/null +++ b/FrontEnd/src/app/views/settings/settings.sass @@ -0,0 +1,14 @@ +.settings-item + padding: 0.5em 1em + transition: background 0.3s + border-bottom: 1px solid $gray-200 + + &.first + border-top: 1px solid $gray-200 + + &.clickable + cursor: pointer + + &:hover + background: $gray-300 + -- cgit v1.2.3