@@ -36,6 +36,8 @@ import type { UseSubmissionDownloadAccessResult } from '../../hooks/useSubmissio
3636
3737import styles from './TableSubmissionScreening.module.scss'
3838
39+ const VIEW_OWN_SCORECARD_TOOLTIP = 'You can only view scorecards for your own submissions.'
40+
3941interface Props {
4042 className ?: string
4143 screenings : Screening [ ]
@@ -216,11 +218,11 @@ const createBaseColumns = ({
216218 virusScanColumn ,
217219]
218220
219- const createScreeningColumns = ( ) : TableColumn < Screening > [ ] => [
221+ const createScreeningColumns = ( currentMemberId ?: string ) : TableColumn < Screening > [ ] => [
220222 {
221223 label : 'Screener' ,
222224 propertyName : 'screenerHandle' ,
223- renderer : ( data : Screening ) => ( data . screener ?. id ? (
225+ renderer : ( data : Screening ) => ( data . screener ?. memberHandle ? (
224226 < a
225227 href = { getHandleUrl ( data . screener ) }
226228 target = '_blank'
@@ -251,7 +253,35 @@ const createScreeningColumns = (): TableColumn<Screening>[] => [
251253 {
252254 label : 'Screening Score' ,
253255 propertyName : 'score' ,
254- type : 'text' ,
256+ renderer : ( data : Screening ) => {
257+ const scoreValue = data . score ?? '-'
258+
259+ if ( ! data . reviewId ) {
260+ return < span > { scoreValue } </ span >
261+ }
262+
263+ const canViewScorecard = Boolean ( data . memberId && data . memberId === currentMemberId )
264+
265+ if ( ! canViewScorecard ) {
266+ return (
267+ < Tooltip content = { VIEW_OWN_SCORECARD_TOOLTIP } triggerOn = 'click-hover' >
268+ < span className = { styles . tooltipTrigger } >
269+ < span className = { styles . textBlue } > { scoreValue } </ span >
270+ </ span >
271+ </ Tooltip >
272+ )
273+ }
274+
275+ return (
276+ < Link
277+ to = { `./../review/${ data . reviewId } ` }
278+ className = { styles . textBlue }
279+ >
280+ { scoreValue }
281+ </ Link >
282+ )
283+ } ,
284+ type : 'element' ,
255285 } ,
256286 {
257287 label : 'Screening Result' ,
@@ -404,6 +434,7 @@ export const TableSubmissionScreening: FC<Props> = (props: Props) => {
404434 restrictionMessage,
405435 isSubmissionDownloadRestrictedForMember,
406436 getRestrictionMessageForMember,
437+ currentMemberId,
407438 } : UseSubmissionDownloadAccessResult = useSubmissionDownloadAccess ( )
408439 const showScreeningColumns = props . showScreeningColumns ?? true
409440 const submissionTypes = useMemo (
@@ -608,7 +639,10 @@ export const TableSubmissionScreening: FC<Props> = (props: Props) => {
608639 [ handleColumn , submissionColumn , submissionDateColumn , virusScanColumn ] ,
609640 )
610641
611- const screeningColumns = useMemo < TableColumn < Screening > [ ] > ( createScreeningColumns , [ ] )
642+ const screeningColumns = useMemo < TableColumn < Screening > [ ] > (
643+ ( ) => createScreeningColumns ( currentMemberId ) ,
644+ [ currentMemberId ] ,
645+ )
612646
613647 const actionColumn = useMemo (
614648 ( ) => createActionColumn ( {
0 commit comments