From 0a53e3bd7dd3a32c8c41cfe06b30c5e7a1a52f27 Mon Sep 17 00:00:00 2001 From: gectokot Date: Mon, 13 Dec 2021 14:50:33 +0300 Subject: [PATCH] Web: Studio: Homepage: Refactoring --- .../public/locales/en/Home.json | 6 ++-- .../public/locales/ru/Home.json | 6 ++-- .../src/components/pages/Home/index.js | 36 +++++++++---------- .../pages/Home/sub-components/ModuleTile.js | 12 +++---- 4 files changed, 28 insertions(+), 32 deletions(-) diff --git a/web/ASC.Web.Client/public/locales/en/Home.json b/web/ASC.Web.Client/public/locales/en/Home.json index 02275d679c..70d60900ec 100644 --- a/web/ASC.Web.Client/public/locales/en/Home.json +++ b/web/ASC.Web.Client/public/locales/en/Home.json @@ -1,5 +1,5 @@ { - "GoodMorning": "Good morning", - "GoodAfternoon": "Good afternoon", - "GoodEvening": "Good evening" + "GoodMorning": "Good morning, {{name}}!", + "GoodAfternoon": "Good afternoon, {{name}}!", + "GoodEvening": "Good evening, {{name}}!" } diff --git a/web/ASC.Web.Client/public/locales/ru/Home.json b/web/ASC.Web.Client/public/locales/ru/Home.json index 4a1c0f9808..ecb6ca3176 100644 --- a/web/ASC.Web.Client/public/locales/ru/Home.json +++ b/web/ASC.Web.Client/public/locales/ru/Home.json @@ -1,5 +1,5 @@ { - "GoodMorning": "Доброе утро", - "GoodAfternoon": "Добрый день", - "GoodEvening": "Добрый вечер" + "GoodMorning": "Доброе утро, {{name}}!", + "GoodAfternoon": "Добрый день, {{name}}!", + "GoodEvening": "Добрый вечер, {{name}}!" } diff --git a/web/ASC.Web.Client/src/components/pages/Home/index.js b/web/ASC.Web.Client/src/components/pages/Home/index.js index 1cab0a5733..927657c4c5 100644 --- a/web/ASC.Web.Client/src/components/pages/Home/index.js +++ b/web/ASC.Web.Client/src/components/pages/Home/index.js @@ -11,20 +11,19 @@ import { inject, observer } from "mobx-react"; import { HomeIllustration, ModuleTile, HomeContainer } from "./sub-components"; import Heading from "@appserver/components/heading"; -const Tiles = ({ availableModules, username, t }) => { +const Tiles = ({ availableModules, displayName, t }) => { let index = 0; - const { firstName, lastName } = username; - const fullName = `${firstName} ${lastName}`.trim(); - const getGreeting = () => { + const getGreeting = (displayName) => { const time = new Date().getHours(); - if (time >= 5 && time <= 11) return t("GoodMorning"); - if (time >= 12 && time <= 16) return t("GoodAfternoon"); - return t("GoodEvening"); + if (time >= 5 && time <= 11) return t("GoodMorning", { name: displayName }); + if (time >= 12 && time <= 16) + return t("GoodAfternoon", { name: displayName }); + return t("GoodEvening", { name: displayName }); }; - const greetingMessage = `${getGreeting()}, ${fullName}!`; + const greetingMessage = getGreeting(displayName); const modules = availableModules.filter( (module) => module.separator !== true && module.id !== "settings" @@ -53,7 +52,7 @@ Tiles.propTypes = { t: PropTypes.func, }; -const Body = ({ match, isLoaded, availableModules, username }) => { +const Body = ({ match, isLoaded, availableModules, displayName }) => { const { t } = useTranslation(["Home", "translation"]); const { error } = match.params; setDocumentTitle(); @@ -64,7 +63,11 @@ const Body = ({ match, isLoaded, availableModules, username }) => { <> ) : ( - + @@ -81,7 +84,7 @@ Body.propTypes = { availableModules: PropTypes.array.isRequired, isLoaded: PropTypes.bool, match: PropTypes.object, - username: PropTypes.object, + displayName: PropTypes.string, }; const Home = ({ defaultPage, ...rest }) => { @@ -100,21 +103,18 @@ Home.propTypes = { availableModules: PropTypes.array.isRequired, isLoaded: PropTypes.bool, defaultPage: PropTypes.string, - username: PropTypes.object, + displayName: PropTypes.string, }; export default inject(({ auth }) => { const { isLoaded, settingsStore, availableModules, userStore } = auth; const { defaultPage } = settingsStore; - const { firstName, lastName } = userStore.user; - const username = { - firstName, - lastName, - }; + const { displayName } = userStore.user; + return { defaultPage, isLoaded, availableModules, - username, + displayName, }; })(withRouter(observer(Home))); diff --git a/web/ASC.Web.Client/src/components/pages/Home/sub-components/ModuleTile.js b/web/ASC.Web.Client/src/components/pages/Home/sub-components/ModuleTile.js index 5d7e406f0e..89c471d09b 100644 --- a/web/ASC.Web.Client/src/components/pages/Home/sub-components/ModuleTile.js +++ b/web/ASC.Web.Client/src/components/pages/Home/sub-components/ModuleTile.js @@ -23,14 +23,10 @@ const ModuleTile = (props) => {
-
-
- - {title} - {shouldRenderIcon && } - -
-
+ + {title} + {shouldRenderIcon && } + );