Web:Client:Profile: fix fromUrl

This commit is contained in:
Timofey Boyko 2023-06-09 15:42:41 +03:00
parent 4cf3873d95
commit 20859dc326
4 changed files with 49 additions and 44 deletions

View File

@ -28,8 +28,6 @@ import MainBar from "./components/MainBar";
import { Portal } from "@docspace/components";
import indexedDbHelper from "@docspace/common/utils/indexedDBHelper";
import { IndexedDBStores } from "@docspace/common/constants";
import { isMobile as isMobileUtils } from "@docspace/components/utils/device";
import queryString from "query-string";
const Shell = ({ items = [], page = "home", ...rest }) => {
const {

View File

@ -210,12 +210,8 @@ const ArticleBodyContent = (props) => {
return setActiveItemId("settings");
if (location.pathname.includes("profile")) {
if (isVisitor) {
if (activeItemId) return;
return setActiveItemId(rootFolderId || roomsFolderId);
}
if (activeItemId !== "accounts") return setActiveItemId("accounts");
if (activeItemId) return;
return setActiveItemId(rootFolderId || roomsFolderId);
}
if (location.pathname.includes("/products/files/#preview")) {

View File

@ -19,6 +19,8 @@ import { combineUrl } from "@docspace/common/utils";
import config from "PACKAGE_FILE";
import { StyledHeader } from "./StyledHeader";
import RoomsFilter from "@docspace/common/api/rooms/filter";
import { RoomSearchArea } from "@docspace/common/constants";
const Header = (props) => {
const {
@ -39,6 +41,7 @@ const Header = (props) => {
setChangeAvatarVisible,
isProfileLoaded,
profileClicked,
} = props;
const navigate = useNavigate();
@ -89,8 +92,7 @@ const Header = (props) => {
};
const onClickBack = () => {
console.log(location.state);
if (location?.state?.fromUrl) {
if (location?.state?.fromUrl && profileClicked) {
return navigate(location?.state?.fromUrl);
}
@ -98,11 +100,14 @@ const Header = (props) => {
return navigate("/portal-settings/customization/general");
}
const url = filter.toUrlParams();
const backUrl = `/accounts/filter?/${url}`;
const roomsFilter = RoomsFilter.getDefault();
roomsFilter.searchArea = RoomSearchArea.Active;
const urlParams = roomsFilter.toUrlParams();
const backUrl = `/rooms/shared/filter?${urlParams}`;
navigate(backUrl);
setFilter(filter);
// setFilter(filter);
};
if (!isProfileLoaded) return <Loaders.SectionHeader />;
@ -156,41 +161,46 @@ const Header = (props) => {
);
};
export default inject(({ auth, peopleStore, clientLoadingStore }) => {
const { isAdmin } = auth;
export default inject(
({ auth, peopleStore, clientLoadingStore, profileActionsStore }) => {
const { isAdmin } = auth;
const { isVisitor, isCollaborator } = auth.userStore.user;
const { isVisitor, isCollaborator } = auth.userStore.user;
const { targetUserStore, filterStore } = peopleStore;
const { targetUserStore, filterStore } = peopleStore;
const { filter, setFilterParams } = filterStore;
const { filter, setFilterParams } = filterStore;
const { targetUser, isMe } = targetUserStore;
const { targetUser, isMe } = targetUserStore;
const { isProfileLoaded } = clientLoadingStore;
const { isProfileLoaded } = clientLoadingStore;
const {
setChangeEmailVisible,
setChangePasswordVisible,
setChangeAvatarVisible,
} = targetUserStore;
const { profileClicked } = profileActionsStore;
return {
isAdmin,
isVisitor,
isCollaborator,
filter,
const {
setChangeEmailVisible,
setChangePasswordVisible,
setChangeAvatarVisible,
} = targetUserStore;
setFilter: setFilterParams,
return {
isAdmin,
isVisitor,
isCollaborator,
filter,
profile: targetUser,
isMe,
setChangeEmailVisible,
setChangePasswordVisible,
setChangeAvatarVisible,
setFilter: setFilterParams,
isProfileLoaded,
};
})(
profile: targetUser,
isMe,
setChangeEmailVisible,
setChangePasswordVisible,
setChangeAvatarVisible,
isProfileLoaded,
profileClicked,
};
}
)(
observer(withTranslation(["Profile", "Common", "PeopleTranslations"])(Header))
);

View File

@ -38,6 +38,7 @@ class ProfileActionsStore {
isAboutDialogVisible = false;
isDebugDialogVisible = false;
isShowLiveChat = false;
profileClicked = false;
constructor(
authStore,
@ -94,6 +95,8 @@ class ProfileActionsStore {
onProfileClick = () => {
const { isAdmin, isOwner } = this.authStore.userStore.user;
const { isRoomAdmin } = this.authStore;
this.profileClicked = true;
const prefix = window.DocSpace.location.pathname.includes("portal-settings")
? "/portal-settings"
: "";
@ -103,11 +106,9 @@ class ProfileActionsStore {
this.treeFoldersStore.setSelectedNode(["accounts"]);
}
const state = {};
if (prefix) {
state.fromUrl = window.DocSpace.location.pathname;
}
const state = {
fromUrl: `${window.DocSpace.location.pathname}${window.DocSpace.location.search}`,
};
window.DocSpace.navigate(`${prefix}${PROFILE_SELF_URL}`, { state });
};