Просмотр исходного кода

Update RecentActivity component to include page path

arvid-e 4 месяцев назад
Родитель
Сommit
1809729162
1 измененных файлов с 8 добавлено и 6 удалено
  1. 8 6
      apps/app/src/client/components/RecentActivity/RecentActivity.tsx

+ 8 - 6
apps/app/src/client/components/RecentActivity/RecentActivity.tsx

@@ -3,7 +3,7 @@ import React, {
 } from 'react';
 } from 'react';
 
 
 import { toastError } from '~/client/util/toastr';
 import { toastError } from '~/client/util/toastr';
-import type { IActivityHasId, ActivityHasUserId } from '~/interfaces/activity';
+import type { IActivityHasId, ActivityHasTargetPage } from '~/interfaces/activity';
 import { useSWRxRecentActivity } from '~/stores/recent-activity';
 import { useSWRxRecentActivity } from '~/stores/recent-activity';
 import loggerFactory from '~/utils/logger';
 import loggerFactory from '~/utils/logger';
 
 
@@ -18,15 +18,17 @@ type RecentActivityProps = {
   userId: string,
   userId: string,
 }
 }
 
 
-const hasUser = (activity: IActivityHasId): activity is ActivityHasUserId => {
+const hasTargetPage = (activity: IActivityHasId): activity is ActivityHasTargetPage => {
   return activity.user != null
   return activity.user != null
-        && typeof activity.user === 'object';
+         && typeof activity.user === 'object'
+         && activity.target != null
+         && typeof activity.target === 'object';
 };
 };
 
 
 export const RecentActivity = (props: RecentActivityProps): JSX.Element => {
 export const RecentActivity = (props: RecentActivityProps): JSX.Element => {
   const { userId } = props;
   const { userId } = props;
 
 
-  const [activities, setActivities] = useState<ActivityHasUserId[]>([]);
+  const [activities, setActivities] = useState<ActivityHasTargetPage[]>([]);
   const [activePage, setActivePage] = useState(1);
   const [activePage, setActivePage] = useState(1);
   const [limit] = useState(10);
   const [limit] = useState(10);
   const [offset, setOffset] = useState(0);
   const [offset, setOffset] = useState(0);
@@ -49,7 +51,7 @@ export const RecentActivity = (props: RecentActivityProps): JSX.Element => {
 
 
     if (paginatedData) {
     if (paginatedData) {
       const activitiesWithPages = paginatedData.docs
       const activitiesWithPages = paginatedData.docs
-        .filter(hasUser);
+        .filter(hasTargetPage);
 
 
       setActivities(activitiesWithPages);
       setActivities(activitiesWithPages);
     }
     }
@@ -63,7 +65,7 @@ export const RecentActivity = (props: RecentActivityProps): JSX.Element => {
       <ul className="page-list-ul page-list-ul-flat mb-3">
       <ul className="page-list-ul page-list-ul-flat mb-3">
         {activities.map(activity => (
         {activities.map(activity => (
           <li key={`recent-activity-view:${activity._id}`} className="mt-4">
           <li key={`recent-activity-view:${activity._id}`} className="mt-4">
-            <ActivityListItem activity={activity} />
+            <ActivityListItem props={{ activity }} />
           </li>
           </li>
         ))}
         ))}
       </ul>
       </ul>