From 03bce1b7244c5c6f8627ada900146b24f3119272 Mon Sep 17 00:00:00 2001 From: zerosoul Date: Wed, 18 May 2022 22:14:11 +0800 Subject: [PATCH] refactor: login methods page --- src/assets/icons/minus.circle.svg | 3 + src/assets/icons/plus.circle.svg | 3 + src/routes/setting/config/IssuerList.js | 68 ++++++++++++ src/routes/setting/config/Logins.js | 108 ++++++++++++------- src/routes/setting/config/StyledContainer.js | 28 ++++- src/routes/setting/config/Tooltip.js | 38 +++++++ 6 files changed, 204 insertions(+), 44 deletions(-) create mode 100644 src/assets/icons/minus.circle.svg create mode 100644 src/assets/icons/plus.circle.svg create mode 100644 src/routes/setting/config/IssuerList.js create mode 100644 src/routes/setting/config/Tooltip.js diff --git a/src/assets/icons/minus.circle.svg b/src/assets/icons/minus.circle.svg new file mode 100644 index 00000000..bebed57b --- /dev/null +++ b/src/assets/icons/minus.circle.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/plus.circle.svg b/src/assets/icons/plus.circle.svg new file mode 100644 index 00000000..e1e0a15e --- /dev/null +++ b/src/assets/icons/plus.circle.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/routes/setting/config/IssuerList.js b/src/routes/setting/config/IssuerList.js new file mode 100644 index 00000000..c241d169 --- /dev/null +++ b/src/routes/setting/config/IssuerList.js @@ -0,0 +1,68 @@ +// import React from 'react' +import styled from "styled-components"; +import Input from "../../../common/component/styled/Input"; +import Toggle from "../../../common/component/styled/Toggle"; +import IconPlus from "../../../assets/icons/plus.circle.svg"; +import IconMinus from "../../../assets/icons/minus.circle.svg"; +const Styled = styled.div` + width: 100%; + display: flex; + flex-direction: column; + gap: 16px; + .issuers { + display: flex; + flex-direction: column; + gap: 16px; + .issuer { + display: flex; + align-items: center; + justify-content: space-between; + .left { + display: flex; + align-items: center; + gap: 16px; + justify-content: space-between; + .remove { + cursor: pointer; + } + .icon { + width: 32px; + height: 32px; + } + .url { + width: 342px; + } + } + } + } + .add { + cursor: pointer; + } +`; +export default function IssuerList() { + return ( + + + + + ); +} diff --git a/src/routes/setting/config/Logins.js b/src/routes/setting/config/Logins.js index 84e89313..85cb245f 100644 --- a/src/routes/setting/config/Logins.js +++ b/src/routes/setting/config/Logins.js @@ -1,13 +1,14 @@ // import { useState } from "react"; +import toast from "react-hot-toast"; import StyledContainer from "./StyledContainer"; -import Textarea from "../../../common/component/styled/Textarea"; import Toggle from "../../../common/component/styled/Toggle"; import Label from "../../../common/component/styled/Label"; import Input from "../../../common/component/styled/Input"; import SaveTip from "../../../common/component/SaveTip"; import useConfig from "./useConfig"; +import Tooltip from "./Tooltip"; +import IssuerList from "./IssuerList"; import useGoogleAuthConfig from "../../../common/hook/useGoogleAuthConfig"; -import toast from "react-hot-toast"; export default function Logins() { const { changed: clientIdChanged, @@ -34,14 +35,14 @@ export default function Logins() { const handleGoogleClientIdChange = (evt) => { updateClientId(evt.target.value); }; - const handleChange = (evt) => { - const newValue = evt.target.value; - const { type } = evt.target.dataset; - const items = newValue ? newValue.split("\n") : []; - setValues((prev) => { - return { ...prev, [type]: items }; - }); - }; + // const handleChange = (evt) => { + // const newValue = evt.target.value; + // const { type } = evt.target.dataset; + // const items = newValue ? newValue.split("\n") : []; + // setValues((prev) => { + // return { ...prev, [type]: items }; + // }); + // }; const handleToggle = (val) => { setValues((prev) => { return { ...prev, ...val }; @@ -53,46 +54,71 @@ export default function Logins() { return (
-
- - +
+
+
+
+ +
+ Allows members login with password. +
+ +
-
- - -
- {google && ( -
+
+
+
+
+ + +
+ Allows members login with Google. +
+ +
+
- )} -
- -
- -