diff --git a/src/pages/common/components/ChatComponent/components/ChatContent/ChatContent.tsx b/src/pages/common/components/ChatComponent/components/ChatContent/ChatContent.tsx
index 17c3d6c60a..e047d3c936 100644
--- a/src/pages/common/components/ChatComponent/components/ChatContent/ChatContent.tsx
+++ b/src/pages/common/components/ChatComponent/components/ChatContent/ChatContent.tsx
@@ -127,20 +127,6 @@ const ChatContent: ForwardRefRenderFunction<
[chatWrapperId],
);
- const scrollMore = useCallback(
- (toY: number) =>
- setTimeout(
- () =>
- animateScroll.scrollMore(toY, {
- containerId: chatWrapperId,
- smooth: true,
- delay: 0,
- }),
- 0,
- ),
- [chatWrapperId],
- );
-
const dateListReverse = useMemo(() => [...dateList].reverse(), [dateList]);
useEffect(() => {
@@ -241,17 +227,6 @@ const ChatContent: ForwardRefRenderFunction<
scrollToRepliedMessage={scrollToRepliedMessage}
highlighted={message.id === highlightedMessageId}
hasPermissionToHide={hasPermissionToHide}
- onMessageDropdownOpen={(isOpen, messageTopPosition = 0) => {
- const dropdownHeight = 240;
- const visibleDropdownHeight =
- window.innerHeight - messageTopPosition;
- const hasEnoughSpaceForMenu =
- visibleDropdownHeight >= dropdownHeight;
-
- if (isOpen && !hasEnoughSpaceForMenu) {
- scrollMore(dropdownHeight - visibleDropdownHeight + 20);
- }
- }}
users={users}
feedItemId={feedItemId}
commonMember={commonMember}
diff --git a/src/pages/common/components/CommonContent/context.ts b/src/pages/common/components/CommonContent/context.ts
new file mode 100644
index 0000000000..8d8716534c
--- /dev/null
+++ b/src/pages/common/components/CommonContent/context.ts
@@ -0,0 +1,13 @@
+import React, { useContext } from "react";
+
+export interface ChatContentData {
+ isScrolling: boolean;
+ chatContentRect?: DOMRect;
+}
+
+export const ChatContentContext = React.createContext
({
+ isScrolling: false,
+});
+
+export const useChatContentContext = (): ChatContentData =>
+ useContext(ChatContentContext);
diff --git a/src/pages/common/components/CommonTabPanels/components/AboutTab/components/CommonEntranceInfo/components/CommonEntranceJoin/CommonEntranceJoin.module.scss b/src/pages/common/components/CommonTabPanels/components/AboutTab/components/CommonEntranceInfo/components/CommonEntranceJoin/CommonEntranceJoin.module.scss
index a7bc347d2c..4ce189cea1 100644
--- a/src/pages/common/components/CommonTabPanels/components/AboutTab/components/CommonEntranceInfo/components/CommonEntranceJoin/CommonEntranceJoin.module.scss
+++ b/src/pages/common/components/CommonTabPanels/components/AboutTab/components/CommonEntranceInfo/components/CommonEntranceJoin/CommonEntranceJoin.module.scss
@@ -2,9 +2,9 @@
@import "../../../../../../../../../../styles/sizes";
.joinButton {
- max-width: 8.5rem;
margin-top: 1.75rem;
padding: 0 0.875rem;
+ width: 100%;
@include tablet {
margin-top: 1.625rem;
diff --git a/src/pages/common/components/CommonTabPanels/components/AboutTab/components/CommonEntranceInfo/components/CommonEntranceJoin/CommonEntranceJoin.tsx b/src/pages/common/components/CommonTabPanels/components/AboutTab/components/CommonEntranceInfo/components/CommonEntranceJoin/CommonEntranceJoin.tsx
index db5c6179d9..95d06595b2 100644
--- a/src/pages/common/components/CommonTabPanels/components/AboutTab/components/CommonEntranceInfo/components/CommonEntranceJoin/CommonEntranceJoin.tsx
+++ b/src/pages/common/components/CommonTabPanels/components/AboutTab/components/CommonEntranceInfo/components/CommonEntranceJoin/CommonEntranceJoin.tsx
@@ -1,5 +1,5 @@
import React, { FC } from "react";
-import { NavLink } from "react-router-dom";
+import { NavLink, useHistory } from "react-router-dom";
import { useJoinProjectAutomatically } from "@/pages/common/hooks";
import { useCommonDataContext } from "@/pages/common/providers";
import { useRoutesContext } from "@/shared/contexts";
@@ -14,7 +14,8 @@ interface CommonEntranceJoinProps {
}
const CommonEntranceJoin: FC = (props) => {
- const { withJoinRequest = false, common, isProject } = props;
+ const { withJoinRequest, common, isProject } = props;
+ const history = useHistory();
const {
parentCommon,
parentCommonMember,
@@ -47,13 +48,13 @@ const CommonEntranceJoin: FC = (props) => {
)}
{!commonMember && rootCommon && !rootCommonMember && (
-
- Join via{" "}
-
- {rootCommon.name}
- {" "}
- page
-
+
)}
{!commonMember &&
rootCommonMember &&
@@ -67,7 +68,7 @@ const CommonEntranceJoin: FC = (props) => {
page
)}
- {withJoinRequest && (isJoinAllowed || isJoinPending) && (
+ {withJoinRequest && !isProject && (isJoinAllowed || isJoinPending) && (
diff --git a/src/shared/components/Dropdown/Dropdown.tsx b/src/shared/components/Dropdown/Dropdown.tsx
index 68e0b0d4a0..8614194041 100644
--- a/src/shared/components/Dropdown/Dropdown.tsx
+++ b/src/shared/components/Dropdown/Dropdown.tsx
@@ -7,7 +7,6 @@ import React, {
CSSProperties,
ForwardRefRenderFunction,
ReactNode,
- RefObject,
useEffect,
} from "react";
import {
@@ -21,9 +20,11 @@ import {
} from "react-aria-menubutton";
import classNames from "classnames";
import { v4 as uuidv4 } from "uuid";
+import { useChatContentContext } from "@/pages/common/components/CommonContent/context";
import { Loader } from "@/shared/components";
import RightArrowIcon from "../../icons/rightArrow.icon";
import { GlobalOverlay } from "../GlobalOverlay";
+import { getMenuStyles } from "./helpers";
import "./index.scss";
export interface Styles {
@@ -79,53 +80,6 @@ export interface DropdownProps {
disabled?: boolean;
}
-const getFixedMenuStyles = (
- ref: RefObject