diff --git a/src/apps/admin/src/billing-account/BillingAccountNewPage/BillingAccountNewPage.tsx b/src/apps/admin/src/billing-account/BillingAccountNewPage/BillingAccountNewPage.tsx index 88e288e71..6545e6340 100644 --- a/src/apps/admin/src/billing-account/BillingAccountNewPage/BillingAccountNewPage.tsx +++ b/src/apps/admin/src/billing-account/BillingAccountNewPage/BillingAccountNewPage.tsx @@ -30,7 +30,7 @@ import { useManageAddBillingAccount, useManageAddBillingAccountProps } from '../ import { BILLING_ACCOUNT_STATUS_EDIT_OPTIONS } from '../../config/index.config' import { PageContent, PageHeader } from '../../lib' import { FormEditBillingAccount, SelectOption } from '../../lib/models' -import { formEditBillingAccountSchema } from '../../lib/utils' +import { formAddBillingAccountSchema, formEditBillingAccountSchema } from '../../lib/utils' import styles from './BillingAccountNewPage.module.scss' @@ -46,6 +46,7 @@ export const BillingAccountNewPage: FC = (props: Props) => { const { accountId = '' }: { accountId?: string } = useParams<{ accountId: string }>() + const isEdit = useMemo(() => !!accountId, [accountId]) const { isLoading, isAdding, @@ -55,8 +56,8 @@ export const BillingAccountNewPage: FC = (props: Props) => { billingAccount, }: useManageAddBillingAccountProps = useManageAddBillingAccount(accountId) const pageTitle = useMemo( - () => (accountId ? 'Edit Billing Account' : 'New Billing Account'), - [accountId], + () => (isEdit ? 'Edit Billing Account' : 'New Billing Account'), + [isEdit], ) const { register, @@ -81,7 +82,9 @@ export const BillingAccountNewPage: FC = (props: Props) => { subscriptionNumber: '' as any, }, mode: 'all', - resolver: yupResolver(formEditBillingAccountSchema), + resolver: yupResolver( + isEdit ? formEditBillingAccountSchema : formAddBillingAccountSchema, + ), }) const endDate = watch('endDate') @@ -354,7 +357,9 @@ export const BillingAccountNewPage: FC = (props: Props) => { onChange={_.noop} classNameWrapper={styles.field} inputControl={register('paymentTerms')} - disabled={isAdding || isUpdating} + disabled={ + isEdit ? true : isAdding || isUpdating + } error={_.get(errors, 'paymentTerms.message')} dirty /> diff --git a/src/apps/admin/src/lib/components/ReviewerList/ReviewerList.tsx b/src/apps/admin/src/lib/components/ReviewerList/ReviewerList.tsx index 1029c9f6a..ade329594 100644 --- a/src/apps/admin/src/lib/components/ReviewerList/ReviewerList.tsx +++ b/src/apps/admin/src/lib/components/ReviewerList/ReviewerList.tsx @@ -1,7 +1,7 @@ import { FC, useMemo } from 'react' import { format } from 'date-fns' -import { CheckIcon, XIcon } from '@heroicons/react/solid' +import { CheckIcon } from '@heroicons/react/solid' import { useWindowSize, WindowSize } from '~/libs/shared' import { Button, @@ -27,7 +27,6 @@ export interface ReviewerListProps { approvingReviewerId: number onPageChange: (page: number) => void onApproveApplication: (reviewer: Reviewer) => void - onUnapproveApplication: (reviewer: Reviewer) => void onToggleSort: (sort: Sort) => void } @@ -36,22 +35,15 @@ const ApproveButton: FC<{ openReviews: number approvingReviewerId: number onApproveApplication: ReviewerListProps['onApproveApplication'] - onUnapproveApplication: ReviewerListProps['onUnapproveApplication'] }> = props => { const handleApprove = useEventCallback((): void => { props.onApproveApplication(props.reviewer) }) - const handleRemove = useEventCallback((): void => { - props.onUnapproveApplication(props.reviewer) - }) - const isApproving = props.approvingReviewerId === props.reviewer.userId const isOtherApproving = props.approvingReviewerId > 0 const hideApproveButton = props.openReviews < 1 || props.reviewer.applicationStatus !== 'Pending' - const showRemoveButton - = props.reviewer.applicationStatus === 'Approved' return ( <> @@ -61,19 +53,7 @@ const ApproveButton: FC<{ className={styles.approvingLoadingSpinner} /> ) : ( - hideApproveButton ? ( - showRemoveButton && ( - - ) - ) : ( + !hideApproveButton && (