= (props: Props) => {
isSortable: true,
label: 'Phase',
propertyName: 'currentPhase',
- renderer: (data: ActiveReviewAssignment) => (
-
- {data.currentPhase}
-
- ),
+ renderer: (data: ActiveReviewAssignment) => {
+ const Icon = data.hasAIReview ? IconAiReview : (
+ phasesIcons[data.currentPhase.toLowerCase() as keyof typeof phasesIcons]
+ )
+
+ return (
+
+ {Icon && (
+
+ )}
+ {data.currentPhase}
+
+ )
+ },
type: 'element',
},
{
diff --git a/src/apps/review/src/lib/hooks/useFetchActiveReviews.ts b/src/apps/review/src/lib/hooks/useFetchActiveReviews.ts
index b226180f2..e12ee1d3a 100644
--- a/src/apps/review/src/lib/hooks/useFetchActiveReviews.ts
+++ b/src/apps/review/src/lib/hooks/useFetchActiveReviews.ts
@@ -141,6 +141,7 @@ export const transformAssignments = (
.local()
.format(TABLE_DATE_FORMAT)
: undefined,
+ hasAIReview: base.hasAIReview,
id: base.challengeId,
index: currentIndex,
name: base.challengeName,
diff --git a/src/apps/review/src/lib/models/ActiveReviewAssignment.model.ts b/src/apps/review/src/lib/models/ActiveReviewAssignment.model.ts
index 2ba052480..0fd16bf73 100644
--- a/src/apps/review/src/lib/models/ActiveReviewAssignment.model.ts
+++ b/src/apps/review/src/lib/models/ActiveReviewAssignment.model.ts
@@ -9,6 +9,7 @@ export interface ActiveReviewAssignment {
currentPhaseEndDateString?: string
challengeEndDate?: string | Date | null
challengeEndDateString?: string
+ hasAIReview: boolean;
timeLeft?: string
timeLeftColor?: string
timeLeftStatus?: string
diff --git a/src/apps/review/src/lib/models/BackendMyReviewAssignment.model.ts b/src/apps/review/src/lib/models/BackendMyReviewAssignment.model.ts
index 4de66927c..7819ce591 100644
--- a/src/apps/review/src/lib/models/BackendMyReviewAssignment.model.ts
+++ b/src/apps/review/src/lib/models/BackendMyReviewAssignment.model.ts
@@ -20,6 +20,7 @@ export interface BackendMyReviewAssignment {
challengeEndDate: string | null
currentPhaseName: string
currentPhaseEndDate: string | null
+ hasAIReview: boolean;
timeLeftInCurrentPhase: number | null
resourceRoleName: string
reviewProgress: number | null
diff --git a/src/apps/review/src/pages/active-review-assignements/ActiveReviewsPage/ActiveReviewsPage.tsx b/src/apps/review/src/pages/active-review-assignements/ActiveReviewsPage/ActiveReviewsPage.tsx
index 6e66e7d82..d8d099bfc 100644
--- a/src/apps/review/src/pages/active-review-assignements/ActiveReviewsPage/ActiveReviewsPage.tsx
+++ b/src/apps/review/src/pages/active-review-assignements/ActiveReviewsPage/ActiveReviewsPage.tsx
@@ -17,6 +17,7 @@ import classNames from 'classnames'
import { Pagination, TableLoading } from '~/apps/admin/src/lib'
import { Sort } from '~/apps/admin/src/platform/gamification-admin/src/game-lib'
import { Button, IconOutline, InputText } from '~/libs/ui'
+import { NotificationContextType, useNotification } from '~/libs/shared'
import { CHALLENGE_TYPE_SELECT_ALL_OPTION } from '../../../config/index.config'
import {
@@ -37,6 +38,7 @@ import {
import { ReviewAppContextModel } from '../../../lib/models'
import { SelectOption } from '../../../lib/models/SelectOption.model'
import { getAllowedTypeAbbreviationsByTrack } from '../../../lib/utils/challengeTypesByTrack'
+import { IconAiReview } from '../../../lib/assets/icons'
import styles from './ActiveReviewsPage.module.scss'
@@ -50,6 +52,8 @@ const DEFAULT_SORT: Sort = {
}
export const ActiveReviewsPage: FC = (props: Props) => {
+ const { showBannerNotification, removeNotification }: NotificationContextType = useNotification()
+
const {
loginUserInfo,
}: ReviewAppContextModel = useContext(ReviewAppContext)
@@ -193,6 +197,16 @@ export const ActiveReviewsPage: FC = (props: Props) => {
})
}, [loadActiveReviews, sort])
+ useEffect(() => {
+ const notification = showBannerNotification({
+ icon: ,
+ id: 'ai-review-icon-notification',
+ message: `Challenges with this icon indicate that
+ one or more AI reviews will be conducted for each member submission.`,
+ })
+ return () => notification && removeNotification(notification.id)
+ }, [showBannerNotification, removeNotification])
+
return (
svg path {
+ fill: $tc-white;
+ }
}
diff --git a/src/libs/ui/lib/components/notification/banner/NotificationBanner.tsx b/src/libs/ui/lib/components/notification/banner/NotificationBanner.tsx
index 66900057a..98aa008fd 100644
--- a/src/libs/ui/lib/components/notification/banner/NotificationBanner.tsx
+++ b/src/libs/ui/lib/components/notification/banner/NotificationBanner.tsx
@@ -21,11 +21,11 @@ const NotificationBanner: FC = props => {
return (
- {props.icon || (
-
+
+ {props.icon || (
-
- )}
+ )}
+
{props.content}