fixed history user link bug

This commit is contained in:
mushka 2022-11-01 13:31:49 +03:00
parent 6ed72264ef
commit ef8af2739a
6 changed files with 25 additions and 16 deletions

View File

@ -104,7 +104,6 @@ const InfoPanelBodyContent = ({
selectedFolder,
props.selectedFolder
);
if (selectedFolderChanged) setSelectedFolder(props.selectedFolder);
}, [props.selectedFolder]);

View File

@ -5,11 +5,11 @@ import Link from "@docspace/components/link";
import { StyledUserNameLink } from "../../styles/history";
const HistoryBlockUser = ({ user, withComma, openUser }) => {
const username = user.displayName || user.email;
const username = user.displayName;
const history = useHistory();
const onUserClick = () => {
openUser(user.id, history);
openUser(user, history);
};
return (

View File

@ -15,6 +15,7 @@ import HistoryBlockMessage from "./HistoryBlockMessage";
import HistoryBlockItemList from "./HistoryBlockItemList";
import Loaders from "@docspace/common/components/Loaders";
import HistoryBlockUser from "./HistoryBlockUser";
import { FeedItemTypes } from "@docspace/common/constants";
const History = ({
t,
@ -93,7 +94,7 @@ const History = ({
{history.feeds.map((feed) => (
<StyledHistoryBlock
key={feed.json.Id}
isUserAction={feed.json.Item === "sharedRoom" && feed.target}
isUserAction={feed.json.Item === FeedItemTypes.User && feed.target}
>
<Avatar
role="user"
@ -134,7 +135,8 @@ const History = ({
selectionParentRoom={selectionParentRoom}
/>
{(feed.json.Item === "file" || feed.json.Item === "folder") && (
{(feed.json.Item === FeedItemTypes.File ||
feed.json.Item === FeedItemTypes.Folder) && (
<HistoryBlockItemList
t={t}
items={[feed.json, ...feed.groupedFeeds]}
@ -143,7 +145,7 @@ const History = ({
/>
)}
{feed.json.Item === "sharedRoom" &&
{feed.json.Item === FeedItemTypes.User &&
feed.target &&
[feed.target, ...feed.groupedFeeds].map((user, i) => (
<HistoryBlockUser

View File

@ -68,8 +68,9 @@ const User = ({
{userRole && userRoleOptions && (
<div className="role-wrapper">
{currentMember?.access === ShareAccessRights.FullAccess ||
currentMember?.access === ShareAccessRights.RoomManager ? (
{(currentMember?.access === ShareAccessRights.FullAccess ||
currentMember?.access === ShareAccessRights.RoomManager) &&
currentMember.id !== user.id ? (
<ComboBox
className="role-combobox"
selectedOption={userRole}

View File

@ -106,7 +106,6 @@ const Members = ({
if (showLoader) return <Loaders.InfoPanelViewLoader view="members" />;
if (!selectionParentRoom || !members) return null;
console.log(members);
const [currentMember] = members.inRoom.filter(
(member) => member.id === selfId
);

View File

@ -40,7 +40,11 @@ class InfoPanelStore {
setIsVisible = (bool) => (this.isVisible = bool);
setSelection = (selection) => (this.selection = selection);
setSelection = (selection) => {
if (this.getIsAccounts() && (!selection.email || !selection.displayName))
return;
this.selection = selection;
};
setSelectionParentRoom = (obj) => (this.selectionParentRoom = obj);
setView = (view) => {
@ -149,13 +153,13 @@ class InfoPanelStore {
// User link actions //
openUser = async (userId, history) => {
if (userId === this.authStore.userStore.user.id) {
openUser = async (user, history) => {
if (user.id === this.authStore.userStore.user.id) {
this.openSelfProfile(history);
return;
}
const fetchedUser = await this.fetchUser(userId);
const fetchedUser = await this.fetchUser(user.id);
this.openAccountsWithSelectedUser(fetchedUser, history);
};
@ -173,21 +177,25 @@ class InfoPanelStore {
openAccountsWithSelectedUser = async (user, history) => {
const { getUsersList } = this.peopleStore.usersStore;
const { selectUser } = this.peopleStore.selectionStore;
const { setSelection } = this.peopleStore.selectionStore;
const path = [AppServerConfig.proxyURL, config.homepage, "/accounts"];
const newFilter = Filter.getDefault();
newFilter.page = 0;
newFilter.search = user.email;
await getUsersList(newFilter);
path.push(`filter?${newFilter.toUrlParams()}`);
const userList = await getUsersList(newFilter);
// this.setSelection(null);
this.selectedFolderStore.setSelectedFolder(null);
this.treeFoldersStore.setSelectedNode(["accounts"]);
history.push(combineUrl(...path));
selectUser(user);
// this.setSelection({});
setSelection([user]);
// this.setSelection(this.calculateSelection({ selectedItems: [user] }));
};
fetchUser = async (userId) => {