diff --git a/src/apps/review/src/lib/hooks/useFetchScorecard.ts b/src/apps/review/src/lib/hooks/useFetchScorecard.ts index 188a251fb..4add40610 100644 --- a/src/apps/review/src/lib/hooks/useFetchScorecard.ts +++ b/src/apps/review/src/lib/hooks/useFetchScorecard.ts @@ -14,7 +14,7 @@ interface ScorecardResponse { isValidating: boolean } -export function useFetchScorecard(id: string | undefined): ScorecardResponse { +export function useFetchScorecard(id: string | undefined, shouldRetry: boolean): ScorecardResponse { const fetcher = (url: string): Promise => xhrGetAsync(url) @@ -23,6 +23,12 @@ export function useFetchScorecard(id: string | undefined): ScorecardResponse { id ? `${baseUrl}/scorecards/${id}` : null, fetcher, { + ...(shouldRetry + ? {} + : { + errorRetryCount: 0, + shouldRetryOnError: false, + }), onError: err => { toast.error(err.message) }, diff --git a/src/apps/review/src/lib/models/ScorecardQuestion.model.ts b/src/apps/review/src/lib/models/ScorecardQuestion.model.ts index da9098c17..1cc2556a0 100644 --- a/src/apps/review/src/lib/models/ScorecardQuestion.model.ts +++ b/src/apps/review/src/lib/models/ScorecardQuestion.model.ts @@ -9,4 +9,5 @@ export interface ScorecardQuestion { weight: number scaleMin: number scaleMax: number + requiresUpload: boolean } diff --git a/src/apps/review/src/mock-datas/MockScorecard.ts b/src/apps/review/src/mock-datas/MockScorecard.ts index 4e644124e..17448e8dc 100644 --- a/src/apps/review/src/mock-datas/MockScorecard.ts +++ b/src/apps/review/src/mock-datas/MockScorecard.ts @@ -33,6 +33,7 @@ export const MockScorecard: ScorecardInfo = { 'Was the pricing adequate for the contest?', guidelines: mockGuidelines, id: '4', + requiresUpload: true, scaleMax: 9, scaleMin: 1, type: 'YES_NO', @@ -43,6 +44,7 @@ export const MockScorecard: ScorecardInfo = { 'Was the timeline adequate for the contest?', guidelines: mockGuidelines, id: '5', + requiresUpload: true, scaleMax: 9, scaleMin: 1, type: 'YES_NO', @@ -52,6 +54,7 @@ export const MockScorecard: ScorecardInfo = { description: 'Were the specifications clear?', guidelines: mockGuidelines, id: '6', + requiresUpload: true, scaleMax: 9, scaleMin: 1, type: 'SCALE', @@ -61,6 +64,7 @@ export const MockScorecard: ScorecardInfo = { description: 'Here comes another question', guidelines: mockGuidelines, id: '7', + requiresUpload: true, scaleMax: 9, scaleMin: 1, type: 'SCALE', @@ -79,6 +83,7 @@ export const MockScorecard: ScorecardInfo = { 'Have all major specification requirements been met?', guidelines: mockGuidelines, id: '9', + requiresUpload: true, scaleMax: 9, scaleMin: 1, type: 'SCALE', @@ -89,6 +94,7 @@ export const MockScorecard: ScorecardInfo = { 'Have all minor specification requirements been met?', guidelines: mockGuidelines, id: '10', + requiresUpload: true, scaleMax: 9, scaleMin: 1, type: 'SCALE', @@ -115,6 +121,7 @@ export const MockScorecard: ScorecardInfo = { 'This is the first question of this section', guidelines: mockGuidelines, id: '13', + requiresUpload: true, scaleMax: 9, scaleMin: 1, type: 'SCALE', @@ -125,6 +132,7 @@ export const MockScorecard: ScorecardInfo = { 'This is the second question of this section', guidelines: mockGuidelines, id: '14', + requiresUpload: true, scaleMax: 9, scaleMin: 1, type: 'SCALE', @@ -143,6 +151,7 @@ export const MockScorecard: ScorecardInfo = { 'Does the code have proper code coverage?', guidelines: mockGuidelines, id: '16', + requiresUpload: true, scaleMax: 9, scaleMin: 1, type: 'SCALE', @@ -154,6 +163,7 @@ export const MockScorecard: ScorecardInfo = { 'Do all test cases provided, pass, given any test data or setup for the current application?', guidelines: mockGuidelines, id: '17', + requiresUpload: true, scaleMax: 9, scaleMin: 1, type: 'SCALE', diff --git a/src/apps/review/src/pages/scorecards/EditScorecardPage/EditScorecardPage.tsx b/src/apps/review/src/pages/scorecards/EditScorecardPage/EditScorecardPage.tsx index d81b199d9..12a834e31 100644 --- a/src/apps/review/src/pages/scorecards/EditScorecardPage/EditScorecardPage.tsx +++ b/src/apps/review/src/pages/scorecards/EditScorecardPage/EditScorecardPage.tsx @@ -23,7 +23,7 @@ const EditScorecardPage: FC = () => { const [isSaving, setSaving] = useState(false) const params = useParams() const isEditMode = !!params.scorecardId - const scorecardQuery = useFetchScorecard(params.scorecardId) + const scorecardQuery = useFetchScorecard(params.scorecardId, false) const title = useMemo(() => ( `${isEditMode ? 'Edit' : 'Create'} Scorecard` ), [isEditMode]) diff --git a/src/apps/review/src/pages/scorecards/ViewScorecardPage/ScorecardSections/ScorecardSections.tsx b/src/apps/review/src/pages/scorecards/ViewScorecardPage/ScorecardSections/ScorecardSections.tsx index 5ee1af219..74595fe40 100644 --- a/src/apps/review/src/pages/scorecards/ViewScorecardPage/ScorecardSections/ScorecardSections.tsx +++ b/src/apps/review/src/pages/scorecards/ViewScorecardPage/ScorecardSections/ScorecardSections.tsx @@ -49,8 +49,9 @@ const ScorecardSections: FC = (props: ScorecardSectionsP
Document Upload:
- {/* This will be added once upload functionality works */} -
NA
+
+ {question.requiresUpload ? 'Yes' : 'No'} +
diff --git a/src/apps/review/src/pages/scorecards/ViewScorecardPage/ViewScorecardPage.tsx b/src/apps/review/src/pages/scorecards/ViewScorecardPage/ViewScorecardPage.tsx index bd6c3bd2b..d5c03188e 100644 --- a/src/apps/review/src/pages/scorecards/ViewScorecardPage/ViewScorecardPage.tsx +++ b/src/apps/review/src/pages/scorecards/ViewScorecardPage/ViewScorecardPage.tsx @@ -24,13 +24,13 @@ const ViewScorecardPage: FC = () => { [], ) - const scorecardQuery = useFetchScorecard(scorecardId) + const scorecardQuery = useFetchScorecard(scorecardId, true) return (