aboutsummaryrefslogtreecommitdiff
path: root/FrontEnd/src/views/settings/index.tsx
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2021-07-01 20:38:28 +0800
committerGitHub <noreply@github.com>2021-07-01 20:38:28 +0800
commiteb306e98fb94fdfbced7b7e91ffb3d85ecb28c2c (patch)
tree5afe2d654a51c8712aa30a419f6edfa19fe1a234 /FrontEnd/src/views/settings/index.tsx
parent825aac426d87180e62530321320fbb012efbd897 (diff)
parentb456334cedad566bf2c4c66481ec928dc59eda7d (diff)
downloadtimeline-eb306e98fb94fdfbced7b7e91ffb3d85ecb28c2c.tar.gz
timeline-eb306e98fb94fdfbced7b7e91ffb3d85ecb28c2c.tar.bz2
timeline-eb306e98fb94fdfbced7b7e91ffb3d85ecb28c2c.zip
Merge pull request #649 from crupest/drop-bootstrap
Drop bootstrap!!!
Diffstat (limited to 'FrontEnd/src/views/settings/index.tsx')
-rw-r--r--FrontEnd/src/views/settings/index.tsx64
1 files changed, 20 insertions, 44 deletions
diff --git a/FrontEnd/src/views/settings/index.tsx b/FrontEnd/src/views/settings/index.tsx
index 840bb7e8..69a74327 100644
--- a/FrontEnd/src/views/settings/index.tsx
+++ b/FrontEnd/src/views/settings/index.tsx
@@ -1,43 +1,17 @@
import React, { useState } from "react";
import { useHistory } from "react-router";
import { useTranslation } from "react-i18next";
-import { Container, Form, Row, Col, Button, Modal } from "react-bootstrap";
import { useUser, userService } from "@/services/user";
import ChangePasswordDialog from "./ChangePasswordDialog";
import ChangeAvatarDialog from "./ChangeAvatarDialog";
import ChangeNicknameDialog from "./ChangeNicknameDialog";
+import ConfirmDialog from "../common/dailog/ConfirmDialog";
import Card from "../common/Card";
import "./index.css";
-const ConfirmLogoutDialog: React.FC<{
- onClose: () => void;
- onConfirm: () => void;
-}> = ({ onClose, onConfirm }) => {
- const { t } = useTranslation();
-
- return (
- <Modal show centered onHide={onClose}>
- <Modal.Header>
- <Modal.Title className="text-danger">
- {t("settings.dialogConfirmLogout.title")}
- </Modal.Title>
- </Modal.Header>
- <Modal.Body>{t("settings.dialogConfirmLogout.prompt")}</Modal.Body>
- <Modal.Footer>
- <Button variant="secondary" onClick={onClose}>
- {t("operationDialog.cancel")}
- </Button>
- <Button variant="danger" onClick={onConfirm}>
- {t("operationDialog.confirm")}
- </Button>
- </Modal.Footer>
- </Modal>
- );
-};
-
const SettingsPage: React.FC = (_) => {
const { i18n, t } = useTranslation();
const user = useUser();
@@ -51,10 +25,10 @@ const SettingsPage: React.FC = (_) => {
return (
<>
- <Container>
+ <div className="container">
{user ? (
<Card className="my-3 py-3">
- <h3 className="px-3 mb-3 text-primary">
+ <h3 className="px-3 mb-3 cru-color-primary">
{t("settings.subheaders.account")}
</h3>
<div
@@ -70,13 +44,13 @@ const SettingsPage: React.FC = (_) => {
{t("settings.changeNickname")}
</div>
<div
- className="settings-item clickable text-danger"
+ className="settings-item clickable cru-color-danger"
onClick={() => setDialog("changepassword")}
>
{t("settings.changePassword")}
</div>
<div
- className="settings-item clickable text-danger"
+ className="settings-item clickable cru-color-danger"
onClick={() => {
setDialog("logout");
}}
@@ -86,19 +60,18 @@ const SettingsPage: React.FC = (_) => {
</Card>
) : null}
<Card className="my-3 py-3">
- <h3 className="px-3 mb-3 text-primary">
+ <h3 className="px-3 mb-3 cru-color-primary">
{t("settings.subheaders.customization")}
</h3>
- <Row className="settings-item first mx-0">
- <Col xs="12" sm="auto">
+ <div className="row settings-item first mx-0">
+ <div className="col col-12 col-sm-auto">
<div>{t("settings.languagePrimary")}</div>
- <small className="d-block text-secondary">
+ <small className="d-block cru-color-secondary">
{t("settings.languageSecondary")}
</small>
- </Col>
- <Col xs="auto" className="ms-auto">
- <Form.Control
- as="select"
+ </div>
+ <div className="col col-12 col-sm-auto">
+ <select
value={language}
onChange={(e) => {
void i18n.changeLanguage(e.target.value);
@@ -106,19 +79,22 @@ const SettingsPage: React.FC = (_) => {
>
<option value="zh">中文</option>
<option value="en">English</option>
- </Form.Control>
- </Col>
- </Row>
+ </select>
+ </div>
+ </div>
</Card>
- </Container>
+ </div>
{(() => {
switch (dialog) {
case "changepassword":
return <ChangePasswordDialog open close={() => setDialog(null)} />;
case "logout":
return (
- <ConfirmLogoutDialog
+ <ConfirmDialog
+ title="settings.dialogConfirmLogout.title"
+ body="settings.dialogConfirmLogout.prompt"
onClose={() => setDialog(null)}
+ open
onConfirm={() => {
void userService.logout().then(() => {
history.push("/");