diff --git a/packages/client/public/locales/en/OAuth.json b/packages/client/public/locales/en/OAuth.json index 1f61b2eb25..86df2099b8 100644 --- a/packages/client/public/locales/en/OAuth.json +++ b/packages/client/public/locales/en/OAuth.json @@ -7,6 +7,7 @@ "AppName": "App name", "Apps": "Applications", "AuthButton": "Auth button", + "AuthorizedApps": "Authorized apps", "AuthorizeLink": "Authorize link", "Client": "Client", "Creator": "Creator", @@ -21,6 +22,7 @@ "ID": "ID", "LastModified": "Last modified", "NewApp": "New application", + "NoAuthorizedApps": "No authorized apps", "NoOAuthAppHeader": "No OAuth applications", "OAuth": "OAuth", "OAuthAppDescription": "OAuth applications are used to access the ONLYOFFICE DocSpace API for authorization and further actions such as accessing files, etc.", diff --git a/packages/client/src/pages/Profile/Section/Body/index.js b/packages/client/src/pages/Profile/Section/Body/index.js index 00a30fe424..5813c4fcce 100644 --- a/packages/client/src/pages/Profile/Section/Body/index.js +++ b/packages/client/src/pages/Profile/Section/Body/index.js @@ -51,7 +51,7 @@ const SectionBodyContent = (props) => { }, { id: "authorized-apps", - name: "Authorized apps", + name: t("OAuth:AuthorizedApps"), content: , }, ]; @@ -119,6 +119,7 @@ export default inject(({ auth, peopleStore, clientLoadingStore }) => { "DeleteSelfProfileDialog", "Notifications", "ConnectDialog", + "OAuth", ])(SectionBodyContent) ) ); diff --git a/packages/client/src/pages/Profile/Section/Body/sub-components/authorized-apps/index.tsx b/packages/client/src/pages/Profile/Section/Body/sub-components/authorized-apps/index.tsx index a6f2d4fe64..b3d6fcc8f0 100644 --- a/packages/client/src/pages/Profile/Section/Body/sub-components/authorized-apps/index.tsx +++ b/packages/client/src/pages/Profile/Section/Body/sub-components/authorized-apps/index.tsx @@ -22,6 +22,7 @@ import { StyledContainer } from "./styled-authorized-apps"; import TableView from "./sub-components/TableView"; import RowView from "./sub-components/RowView"; import RevokeDialog from "./sub-components/RevokeDialog"; +import EmptyScreen from "./sub-components/EmptyScreen"; interface AuthorizedAppsProps { consents?: IClientProps[]; @@ -77,28 +78,33 @@ const AuthorizedApps = ({ return ( - {/* @ts-ignore */} - - {t("ProfileDescription")} - - {consents && consents?.length > 0 && ( - - {(context: { sectionWidth: number; sectionHeight: number }) => ( - <> - {viewAs === "table" ? ( - - ) : ( - - )} - - )} - + {consents && consents?.length > 0 ? ( + <> + {/* @ts-ignore */} + + {t("ProfileDescription")} + + + + {(context: { sectionWidth: number; sectionHeight: number }) => ( + <> + {viewAs === "table" ? ( + + ) : ( + + )} + + )} + + + ) : ( + )} {infoDialogVisible && ( diff --git a/packages/client/src/pages/Profile/Section/Body/sub-components/authorized-apps/sub-components/EmptyScreen.tsx b/packages/client/src/pages/Profile/Section/Body/sub-components/authorized-apps/sub-components/EmptyScreen.tsx new file mode 100644 index 0000000000..56920716ef --- /dev/null +++ b/packages/client/src/pages/Profile/Section/Body/sub-components/authorized-apps/sub-components/EmptyScreen.tsx @@ -0,0 +1,17 @@ +// @ts-ignore +import EmptyScreenContainer from "@docspace/components/empty-screen-container"; + +import EmptyScreenPersonsSvgUrl from "PUBLIC_DIR/images/empty_screen_userfields.svg?url"; + +const EmptyScreen = ({ t }: { t: any }) => { + return ( + + ); +}; + +export default EmptyScreen; diff --git a/public/images/empty_screen_userfields.svg b/public/images/empty_screen_userfields.svg new file mode 100644 index 0000000000..2f385f3220 --- /dev/null +++ b/public/images/empty_screen_userfields.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +