Conversation
| } | ||
|
|
||
| export type EditScorecardPageContextValue = { | ||
| confirm: (prosp: ConfirmationProps) => Promise<boolean>, |
There was a problem hiding this comment.
Typo in parameter name: prosp should be props.
src/apps/review/src/pages/scorecards/EditScorecardPage/EditScorecardPage.context.tsx
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/EditScorecardPage.module.scss
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/EditScorecardPage.module.scss
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/EditScorecardPage.module.scss
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/EditScorecardPage.module.scss
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/EditScorecardPage.module.scss
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/EditScorecardPage.module.scss
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/EditScorecardPage.tsx
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/EditScorecardPage.tsx
Show resolved
Hide resolved
| }, [params.scorecardId, navigate]) | ||
|
|
||
| if (scorecardQuery.isValidating) { | ||
| return <></> |
There was a problem hiding this comment.
Returning an empty fragment when scorecardQuery.isValidating is true might not provide the best user experience. Consider displaying a loading indicator to inform users that data is being fetched.
src/apps/review/src/pages/scorecards/EditScorecardPage/components/BasicSelect.tsx
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/components/BasicSelect.tsx
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/components/BasicSelect.tsx
Show resolved
Hide resolved
...ps/review/src/pages/scorecards/EditScorecardPage/components/CalculatedWeightsSum.module.scss
Show resolved
Hide resolved
...ps/review/src/pages/scorecards/EditScorecardPage/components/CalculatedWeightsSum.module.scss
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/components/CalculatedWeightsSum.tsx
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/components/CalculatedWeightsSum.tsx
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/components/InputWrapper.module.scss
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/components/InputWrapper.module.scss
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/components/InputWrapper.module.scss
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/components/InputWrapper.module.scss
Show resolved
Hide resolved
| }): ReactElement { | ||
| // Expecting a single React element as children (the input) | ||
| if (!props.children || Array.isArray(props.children)) { | ||
| return <></> |
There was a problem hiding this comment.
The check for Array.isArray(props.children) might not be sufficient to ensure that props.children is a single React element. Consider using React.Children.only to enforce that props.children is a single child.
src/apps/review/src/pages/scorecards/EditScorecardPage/components/InputWrapper.tsx
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/components/InputWrapper.tsx
Show resolved
Hide resolved
| name: yup.string() | ||
| .required('Group name is required'), | ||
| weight: yup | ||
| .number() |
There was a problem hiding this comment.
Consider using .positive('Weight must be a positive number') instead of .min(0, 'Weight must be at least 0') for clarity and consistency in validation messages.
src/apps/review/src/pages/scorecards/EditScorecardPage/components/ScorecardGroupForm.tsx
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/components/ScorecardGroupForm.tsx
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/components/ScorecardInfoForm.tsx
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/components/ScorecardInfoForm.tsx
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/components/ScorecardInfoForm.tsx
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/components/ScorecardInfoForm.tsx
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/components/ScorecardInfoForm.tsx
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/components/ScorecardInfoForm.tsx
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/components/ScorecardQuestionForm.tsx
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/components/ScorecardQuestionForm.tsx
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/components/ScorecardQuestionForm.tsx
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/components/ScorecardQuestionForm.tsx
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/components/ScorecardQuestionForm.tsx
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/components/ScorecardSectionForm.tsx
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/components/ScorecardSectionForm.tsx
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/components/ScorecardSectionForm.tsx
Show resolved
Hide resolved
src/apps/review/src/pages/scorecards/EditScorecardPage/components/ScorecardSectionForm.tsx
Show resolved
Hide resolved
| if (!items?.length) return false | ||
| const sum = items.reduce((acc, g) => acc + (Number(g.weight) || 0), 0) | ||
|
|
||
| if (sum !== 100) { |
There was a problem hiding this comment.
The condition if (sum !== 100) should use the value parameter instead of hardcoding 100. Change it to if (sum !== value) to ensure the function behaves correctly with different values.
src/apps/review/src/pages/scorecards/ScorecardsListPage/ScorecardsListPage.tsx
Show resolved
Hide resolved
src/libs/ui/lib/components/form/form-groups/form-input/input-textarea/InputTextarea.tsx
Show resolved
Hide resolved
src/libs/ui/lib/components/form/form-groups/form-input/input-wrapper/InputWrapper.tsx
Show resolved
Hide resolved
| readonly hideInlineErrors?: boolean | ||
| readonly hint?: string | ||
| readonly label: string | JSX.Element | ||
| readonly label?: string | JSX.Element |
There was a problem hiding this comment.
The label prop has been changed from required to optional. Verify that the component can handle cases where label is undefined, as this might impact accessibility or user experience.
…i into PM-1504_edit-create-scorecard
| `${baseUrl}/scorecards/${id}`, | ||
| const { data, error, isValidating }: SWRResponse<Scorecard, any> = useSWR<Scorecard>( | ||
| // eslint-disable-next-line unicorn/no-null | ||
| id ? `${baseUrl}/scorecards/${id}` : null, |
There was a problem hiding this comment.
The URL path has been changed from \${baseUrl}/${id}`to`${baseUrl}/scorecards/${id}``. Ensure that this change is intentional and that the backend API endpoint supports this new path. If the endpoint has changed, verify that all related documentation and tests are updated accordingly.
Related JIRA Ticket:
https://topcoder.atlassian.net/browse/PM-1504 - Create/Edit Scorecard UI
What's in this PR?
Added page for edit/create scorecard
