From f74004d9c8c83e5c6e5caf0dc7c078ea7828f57f Mon Sep 17 00:00:00 2001
From: Chirag Madlani <12962843+chirag-madlani@users.noreply.github.com>
Date: Thu, 29 Jun 2023 17:21:55 +0530
Subject: [PATCH] fix(ui): user profile page activity feed (#12226)
---
.../ActivityFeedListV1.component.tsx | 2 +-
.../ActivityFeedProvider.tsx | 14 +++-
.../ActivityFeedProviderContext.interface.ts | 1 +
.../ActivityFeedTab.component.tsx | 81 ++++++++-----------
.../src/components/Users/Users.component.tsx | 2 +-
.../ui/src/pages/login/LoginCarousel.tsx | 2 +-
6 files changed, 48 insertions(+), 54 deletions(-)
diff --git a/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/ActivityFeedList/ActivityFeedListV1.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/ActivityFeedList/ActivityFeedListV1.component.tsx
index 9e49d930607..ec5edd301cb 100644
--- a/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/ActivityFeedList/ActivityFeedListV1.component.tsx
+++ b/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/ActivityFeedList/ActivityFeedListV1.component.tsx
@@ -57,7 +57,7 @@ const ActivityFeedListV1 = ({
}
return (
-
+
{entityThread.length === 0 && (
{
+const ActivityFeedProvider = ({ children, user }: Props) => {
const { t } = useTranslation();
const [entityThread, setEntityThread] = useState
([]);
const [entityPaging, setEntityPaging] = useState({} as Paging);
@@ -105,7 +108,11 @@ const ActivityFeedProvider = ({ children }: Props) => {
setLoading(true);
const feedFilterType = filterType ?? FeedFilter.ALL;
const userId =
- feedFilterType === FeedFilter.ALL ? undefined : currentUser?.id;
+ entityType === EntityType.USER_NAME
+ ? user
+ : feedFilterType === FeedFilter.ALL
+ ? undefined
+ : currentUser?.id;
const { data, paging } = await getAllFeeds(
entityType !== EntityType.USER_NAME
@@ -360,6 +367,7 @@ const ActivityFeedProvider = ({ children }: Props) => {
updateEditorFocus,
setActiveThread,
entityPaging,
+ userId: user ?? currentUser?.id ?? '',
};
}, [
entityThread,
@@ -379,6 +387,8 @@ const ActivityFeedProvider = ({ children }: Props) => {
updateEditorFocus,
setActiveThread,
entityPaging,
+ user,
+ currentUser,
]);
return (
diff --git a/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/ActivityFeedProvider/ActivityFeedProviderContext.interface.ts b/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/ActivityFeedProvider/ActivityFeedProviderContext.interface.ts
index 7e4382dc0b2..998ffb3e62a 100644
--- a/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/ActivityFeedProvider/ActivityFeedProviderContext.interface.ts
+++ b/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/ActivityFeedProvider/ActivityFeedProviderContext.interface.ts
@@ -31,6 +31,7 @@ export interface ActivityFeedProviderContextType {
focusReplyEditor: boolean;
entityPaging: Paging;
setActiveThread: (thread?: Thread) => void;
+ userId: string;
deleteFeed: (
threadId: string,
postId: string,
diff --git a/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/ActivityFeedTab/ActivityFeedTab.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/ActivityFeedTab/ActivityFeedTab.component.tsx
index 392f9fc3f56..7691a0c81e8 100644
--- a/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/ActivityFeedTab/ActivityFeedTab.component.tsx
+++ b/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/ActivityFeedTab/ActivityFeedTab.component.tsx
@@ -11,7 +11,6 @@
* limitations under the License.
*/
import { Menu, Typography } from 'antd';
-import AppState from 'AppState';
import classNames from 'classnames';
import Loader from 'components/Loader/Loader';
import { TaskTab } from 'components/Task/TaskTab/TaskTab.component';
@@ -72,11 +71,6 @@ export const ActivityFeedTab = ({
const [allCount, setAllCount] = useState(0);
const [tasksCount, setTasksCount] = useState(0);
- const currentUser = useMemo(
- () => AppState.getCurrentUserDetails(),
- [AppState.userDetails, AppState.nonSecureUserDetails]
- );
-
const {
postFeed,
selectedThread,
@@ -84,6 +78,7 @@ export const ActivityFeedTab = ({
entityThread,
getFeedData,
loading,
+ userId,
entityPaging,
} = useActivityFeedProvider();
@@ -143,41 +138,37 @@ export const ActivityFeedTab = ({
}
);
} else {
- if (activeTab !== ActivityFeedTabs.TASKS) {
- // count for task on userProfile page
- getAllFeeds(
- undefined,
- undefined,
- ThreadType.Task,
- FeedFilter.OWNER,
- undefined,
- currentUser?.id
- ).then((res) => {
- if (res) {
- setTasksCount(res.paging.total);
- } else {
- throw t('server.entity-feed-fetch-error');
- }
- });
- }
+ // count for task on userProfile page
+ getAllFeeds(
+ undefined,
+ undefined,
+ ThreadType.Task,
+ FeedFilter.OWNER,
+ undefined,
+ userId
+ ).then((res) => {
+ if (res) {
+ setTasksCount(res.paging.total);
+ } else {
+ throw t('server.entity-feed-fetch-error');
+ }
+ });
- if (activeTab !== ActivityFeedTabs.ALL) {
- // count for all on userProfile page
- getAllFeeds(
- undefined,
- undefined,
- ThreadType.Conversation,
- FeedFilter.OWNER,
- undefined,
- currentUser?.id
- ).then((res) => {
- if (res) {
- setAllCount(res.paging.total);
- } else {
- throw t('server.entity-feed-fetch-error');
- }
- });
- }
+ // count for all on userProfile page
+ getAllFeeds(
+ undefined,
+ undefined,
+ ThreadType.Conversation,
+ FeedFilter.OWNER,
+ undefined,
+ userId
+ ).then((res) => {
+ if (res) {
+ setAllCount(res.paging.total);
+ } else {
+ throw t('server.entity-feed-fetch-error');
+ }
+ });
}
};
@@ -185,15 +176,6 @@ export const ActivityFeedTab = ({
fetchFeedsCount();
}, []);
- useEffect(() => {
- if (isUserEntity && activeTab === ActivityFeedTabs.ALL && !allCount) {
- setAllCount(entityPaging.total);
- }
- if (isUserEntity && activeTab === ActivityFeedTabs.TASKS && !tasksCount) {
- setTasksCount(entityPaging.total);
- }
- });
-
const { feedFilter, threadType } = useMemo(() => {
return {
threadType:
@@ -371,6 +353,7 @@ export const ActivityFeedTab = ({
data-testid="observer-element"
id="observer-element"
ref={elementRef as RefObject}
+ style={{ height: '2px' }}
/>
diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Users/Users.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Users/Users.component.tsx
index 0b159743b48..b5093fcfd21 100644
--- a/openmetadata-ui/src/main/resources/ui/src/components/Users/Users.component.tsx
+++ b/openmetadata-ui/src/main/resources/ui/src/components/Users/Users.component.tsx
@@ -736,7 +736,7 @@ const Users = ({
}
case UserPageTabs.ACTIVITY:
return (
-
+
{
return (
-
+
{LOGIN_SLIDE.map((data) => (