From ec1c0e7b8e16d64855ac302623e6aeab5294f40f Mon Sep 17 00:00:00 2001 From: Mateusz Pietryga Date: Mon, 15 Apr 2024 01:59:33 +0200 Subject: [PATCH] Feat: UI for OAuth2 Credentials independent of the Request Output pane - sort tokens first. Blur unfocused tokens for privacy. #1999 #1003 --- .../Auth/OAuth2/CredentialsPreview/index.js | 46 +++++++++++++++++-- 1 file changed, 42 insertions(+), 4 deletions(-) diff --git a/packages/bruno-app/src/components/RequestPane/Auth/OAuth2/CredentialsPreview/index.js b/packages/bruno-app/src/components/RequestPane/Auth/OAuth2/CredentialsPreview/index.js index 65072a2e5f..5c53772228 100644 --- a/packages/bruno-app/src/components/RequestPane/Auth/OAuth2/CredentialsPreview/index.js +++ b/packages/bruno-app/src/components/RequestPane/Auth/OAuth2/CredentialsPreview/index.js @@ -7,6 +7,8 @@ import { useDispatch } from 'react-redux'; const CredentialsPreview = ({ item, collection }) => { const oauth2CredentialsAreaRef = React.createRef(); const [oauth2Credentials, setOauth2Credentials] = useState({}); + const [focusedField, setFocusedField] = useState(null); + const dispatch = useDispatch(); useEffect(() => { @@ -31,6 +33,27 @@ const CredentialsPreview = ({ item, collection }) => { }); }; + const handleFocus = (field) => { + setFocusedField(field); + }; + + const handleBlur = () => { + setFocusedField(null); + }; + + const sortedFields = () => { + const tokens = {}; + const extras = {}; + Object.entries(oauth2Credentials).forEach(([key, value]) => { + if (key.endsWith('_token')) { + tokens[key] = value; + } else { + extras[key] = value; + } + }); + return { ...tokens, ...extras }; + }; + return (
@@ -43,10 +66,25 @@ const CredentialsPreview = ({ item, collection }) => {
- {Object.entries(oauth2Credentials).map(([key, value]) => ( -
- -