diff --git a/packages/client/public/locales/en/InfoPanel.json b/packages/client/public/locales/en/InfoPanel.json index 317f899658..bf1e0519d0 100644 --- a/packages/client/public/locales/en/InfoPanel.json +++ b/packages/client/public/locales/en/InfoPanel.json @@ -19,14 +19,15 @@ "FolderMoved": "Folders moved.", "FolderCopied": "Folders copied.", "FolderDeleted": "Folders removed.", - "RoomCreated": "«{{roomName}}» room created", - "RoomRenamed": "Room «{{oldRoomName}}» renamed to «{newRoomName}»", + "RoomCreated": "«{{roomTitle}}» room created", + "RoomRenamed": "Room «{{oldRoomTitle}}» renamed to «{{roomTitle}}»", "AddedRoomTags": "Tags added.", "DeletedRoomTags": "Tags removed.", "RoomLogoCreated": "Icon changed", "RoomLogoDeleted": "Icon changed", - "RoomExternalLinkCreated": "External link created.", - "RoomExternalLinkDeleted": "External link deleted.", + "RoomExternalLinkCreated": "Link created.", + "RoomExternalLinkRenamed": "Link «{{oldLinkTitle}}» renamed to «{{linkTitle}}»", + "RoomExternalLinkDeleted": "Link «{{linkTitle}}» deleted.", "RoomCreateUser": "Users added.", "RoomUpdateAccessForUser": "has been assigned role", "RoomRemoveUser": "User removed.", diff --git a/packages/client/src/pages/Home/InfoPanel/Body/views/History/FeedInfo.ts b/packages/client/src/pages/Home/InfoPanel/Body/views/History/FeedInfo.ts index d321f75c94..e5613d83e4 100644 --- a/packages/client/src/pages/Home/InfoPanel/Body/views/History/FeedInfo.ts +++ b/packages/client/src/pages/Home/InfoPanel/Body/views/History/FeedInfo.ts @@ -131,6 +131,11 @@ export const feedInfo = [ targetType: `${FeedTarget.RoomExternalLink}`, actionType: `${FeedAction.Create}`, }, + { + key: "RoomExternalLinkRenamed", + targetType: `${FeedTarget.RoomExternalLink}`, + actionType: `${FeedAction.Rename}`, + }, { key: "RoomExternalLinkDeleted", targetType: `${FeedTarget.RoomExternalLink}`, diff --git a/packages/client/src/pages/Home/InfoPanel/Body/views/History/HistoryBlockContent/MainText.tsx b/packages/client/src/pages/Home/InfoPanel/Body/views/History/HistoryBlockContent/MainText.tsx index f8bdfe89b3..151fb4fd16 100644 --- a/packages/client/src/pages/Home/InfoPanel/Body/views/History/HistoryBlockContent/MainText.tsx +++ b/packages/client/src/pages/Home/InfoPanel/Body/views/History/HistoryBlockContent/MainText.tsx @@ -42,7 +42,12 @@ const HistoryMainText = ({ t, feed }: HistoryMainTextProps) => { t={t} ns="InfoPanel" i18nKey={feed.action.key} - values={{ roomName: feed.data?.title }} + values={{ + roomTitle: feed.data?.title || feed.data?.newTitle, + oldRoomTitle: feed.data?.oldTitle, + linkTitle: feed.data?.title, + oldLinkTitle: feed.data?.oldTitle, + }} components={{ bold: }} /> {" "} diff --git a/packages/client/src/pages/Home/InfoPanel/Body/views/History/HistoryBlockContent/RoomExternalLink.tsx b/packages/client/src/pages/Home/InfoPanel/Body/views/History/HistoryBlockContent/RoomExternalLink.tsx new file mode 100644 index 0000000000..3172e0b5bc --- /dev/null +++ b/packages/client/src/pages/Home/InfoPanel/Body/views/History/HistoryBlockContent/RoomExternalLink.tsx @@ -0,0 +1,75 @@ +// (c) Copyright Ascensio System SIA 2009-2024 +// +// This program is a free software product. +// You can redistribute it and/or modify it under the terms +// of the GNU Affero General Public License (AGPL) version 3 as published by the Free Software +// Foundation. In accordance with Section 7(a) of the GNU AGPL its Section 15 shall be amended +// to the effect that Ascensio System SIA expressly excludes the warranty of non-infringement of +// any third-party rights. +// +// This program is distributed WITHOUT ANY WARRANTY, without even the implied warranty +// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For details, see +// the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html +// +// You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia, EU, LV-1021. +// +// The interactive user interfaces in modified source and object code versions of the Program must +// display Appropriate Legal Notices, as required under Section 5 of the GNU AGPL version 3. +// +// Pursuant to Section 7(b) of the License you must retain the original Product logo when +// distributing the program. Pursuant to Section 7(e) we decline to grant you any rights under +// trademark law for use of our trademarks. +// +// All the Product's GUI elements, including illustrations and icon sets, as well as technical writing +// content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0 +// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + +import { inject, observer } from "mobx-react"; +import { + StyledHistoryBlockTagList, + StyledHistoryLink, +} from "../../../styles/history"; +import { ActionByTarget, AnyFeedInfo, getFeedInfo } from "../FeedInfo"; +import { Tag } from "@docspace/shared/components/tag"; + +import { decode } from "he"; +import { Link } from "@docspace/shared/components/link"; +import { Text } from "@docspace/shared/components/text"; + +interface HistoryRoomExternalLinkProps { + feed: any; + actionType: ActionByTarget<"roomTag">; +} + +const HistoryRoomExternalLink = ({ + feed, + actionType, + additionalLinks, + setEditLinkPanelIsVisible, + setLinkParams, +}: HistoryRoomExternalLinkProps) => { + console.log(additionalLinks); + + const onEditLink = () => { + setEditLinkPanelIsVisible(true); + setLinkParams({ + isEdit: true, + link: { ...feed.data }, + }); + }; + + if (actionType === "create") + return ( + + + {decode(feed.data.title)} + + + ); +}; + +export default inject(({ publicRoomStore, dialogsStore }) => ({ + additionalLinks: publicRoomStore.additionalLinks, + setEditLinkPanelIsVisible: dialogsStore.setEditLinkPanelIsVisible, + setLinkParams: dialogsStore.setLinkParams, +}))(observer(HistoryRoomExternalLink)); diff --git a/packages/client/src/pages/Home/InfoPanel/Body/views/History/HistoryBlockContent/UserGroupRoleChange.tsx b/packages/client/src/pages/Home/InfoPanel/Body/views/History/HistoryBlockContent/UserGroupRoleChange.tsx index 6decc1e191..15e26f3e8c 100644 --- a/packages/client/src/pages/Home/InfoPanel/Body/views/History/HistoryBlockContent/UserGroupRoleChange.tsx +++ b/packages/client/src/pages/Home/InfoPanel/Body/views/History/HistoryBlockContent/UserGroupRoleChange.tsx @@ -37,6 +37,16 @@ const HistoryUserRoleChange = ({ feed }: HistoryUserRoleChangeProps) => { «{feed.data.access}» + {" "} + + «{feed.data.oldAccess}» ); diff --git a/packages/client/src/pages/Home/InfoPanel/Body/views/History/HistoryBlockContent/index.tsx b/packages/client/src/pages/Home/InfoPanel/Body/views/History/HistoryBlockContent/index.tsx index a2eecf315e..eb8320735e 100644 --- a/packages/client/src/pages/Home/InfoPanel/Body/views/History/HistoryBlockContent/index.tsx +++ b/packages/client/src/pages/Home/InfoPanel/Body/views/History/HistoryBlockContent/index.tsx @@ -31,7 +31,7 @@ import HistoryUserList from "./UserList"; import HistoryMainText from "./MainText"; import HistoryItemList from "./ItemList"; import HistoryMainTextFolderInfo from "./MainTextFolderInfo"; - +import HistoryRoomExternalLink from "./RoomExternalLink"; import HistoryGroupList from "./GroupList"; import HistoryUserGroupRoleChange from "./UserGroupRoleChange"; import HistoryRoomTagList from "./RoomTagList"; @@ -76,6 +76,10 @@ const HistoryBlockContent = ({ )} + {targetType === "roomExternalLink" && actionType === "create" && ( + + )} + {targetType === "user" && actionType !== "update" && ( )} diff --git a/packages/client/src/pages/Home/InfoPanel/Body/views/Members/index.js b/packages/client/src/pages/Home/InfoPanel/Body/views/Members/index.js index e1b397b483..1498b465e8 100644 --- a/packages/client/src/pages/Home/InfoPanel/Body/views/Members/index.js +++ b/packages/client/src/pages/Home/InfoPanel/Body/views/Members/index.js @@ -79,6 +79,7 @@ const Members = ({ membersIsLoading, searchValue, isMembersPanelUpdating, + getExternalLinks, }) => { const withoutTitlesAndLinks = !!searchValue; const membersHelper = new MembersHelper({ t }); @@ -87,6 +88,7 @@ const Members = ({ useEffect(() => { updateInfoPanelMembers(t); + getExternalLinks(); }, [infoPanelSelection, searchValue]); useEffect(() => { @@ -316,6 +318,7 @@ export default inject( infoPanelSelection?.length > 1 ? null : infoPanelSelection; return { + getExternalLinks: publicRoomStore.getExternalLinks, infoPanelSelection: infoSelection, setIsScrollLocked, selfId,