fix: [code-909]: fix save button in repo settings (#623)

This commit is contained in:
Calvin Lee 2023-09-28 16:21:41 +00:00 committed by Harness
parent 124c85c954
commit db8a3f61b3

View File

@ -60,7 +60,9 @@ const GeneralSettingsContent = (props: GeneralSettingsProps) => {
const { standalone } = useAppContext() const { standalone } = useAppContext()
const { hooks } = useAppContext() const { hooks } = useAppContext()
const { getString } = useStrings() const { getString } = useStrings()
const [repoVis, setRepoVis] = useState<RepoVisibility>() const currRepoVisibility = repoMetadata?.is_public === true ? RepoVisibility.PUBLIC : RepoVisibility.PRIVATE
const [repoVis, setRepoVis] = useState<RepoVisibility>(currRepoVisibility)
const { mutate } = useMutate({ const { mutate } = useMutate({
verb: 'PATCH', verb: 'PATCH',
path: `/api/v1/repos/${repoMetadata?.path}/+/` path: `/api/v1/repos/${repoMetadata?.path}/+/`
@ -142,7 +144,7 @@ const GeneralSettingsContent = (props: GeneralSettingsProps) => {
initialValues={{ initialValues={{
name: repoMetadata?.uid, name: repoMetadata?.uid,
desc: repoMetadata?.description, desc: repoMetadata?.description,
isPublic: repoMetadata?.is_public === true ? RepoVisibility.PUBLIC : RepoVisibility.PRIVATE isPublic: currRepoVisibility
}} }}
onSubmit={voidFn(mutate)}> onSubmit={voidFn(mutate)}>
{formik => { {formik => {
@ -236,6 +238,9 @@ const GeneralSettingsContent = (props: GeneralSettingsProps) => {
<FormInput.RadioGroup <FormInput.RadioGroup
name="isPublic" name="isPublic"
label="" label=""
onChange={evt => {
setRepoVis((evt.target as HTMLInputElement).value as RepoVisibility)
}}
className={css.radioContainer} className={css.radioContainer}
items={[ items={[
{ {
@ -286,17 +291,19 @@ const GeneralSettingsContent = (props: GeneralSettingsProps) => {
/> />
<hr className={css.dividerContainer} /> <hr className={css.dividerContainer} />
<Layout.Horizontal className={css.buttonContainer}> <Layout.Horizontal className={css.buttonContainer}>
<Button {repoVis !== currRepoVisibility ? (
margin={{ right: 'medium' }} <Button
type="submit" margin={{ right: 'medium' }}
text={getString('save')} type="submit"
variation={ButtonVariation.PRIMARY} text={getString('save')}
size={ButtonSize.SMALL} variation={ButtonVariation.PRIMARY}
onClick={() => { size={ButtonSize.SMALL}
setRepoVis(formik.values.isPublic) onClick={() => {
openModal() setRepoVis(formik.values.isPublic)
}} openModal()
/> }}
/>
) : null}
</Layout.Horizontal> </Layout.Horizontal>
</Container> </Container>
</Layout.Horizontal> </Layout.Horizontal>