diff --git a/pkg/app/web/.scaffdog/page.md b/pkg/app/web/.scaffdog/page.md index 3f4a7e8402..c728823446 100644 --- a/pkg/app/web/.scaffdog/page.md +++ b/pkg/app/web/.scaffdog/page.md @@ -10,10 +10,10 @@ ignore: [] # `{{ inputs.name }}.tsx` ```tsx -import { memo, FC, useEffect } from "react"; +import { FC, useEffect } from "react"; import { useParams } from "react-router-dom"; -export const {{ inputs.name | pascal }}Page: FC = memo(() => { +export const {{ inputs.name | pascal }}Page: FC = () => { return
hello
; -}); +}; ``` diff --git a/pkg/app/web/src/components/application-form/index.tsx b/pkg/app/web/src/components/application-form/index.tsx index 28face120d..a7534a74fc 100644 --- a/pkg/app/web/src/components/application-form/index.tsx +++ b/pkg/app/web/src/components/application-form/index.tsx @@ -168,6 +168,7 @@ export const ApplicationForm: FC = memo( handleChange, isSubmitting, isValid, + dirty, setFieldValue, setValues, onClose, @@ -332,7 +333,7 @@ export const ApplicationForm: FC = memo( diff --git a/pkg/app/web/src/components/applications-page/edit-application-drawer/index.tsx b/pkg/app/web/src/components/applications-page/edit-application-drawer/index.tsx index 727088057b..097e15bc6f 100644 --- a/pkg/app/web/src/components/applications-page/edit-application-drawer/index.tsx +++ b/pkg/app/web/src/components/applications-page/edit-application-drawer/index.tsx @@ -44,7 +44,6 @@ export const EditApplicationDrawer: FC = memo( cloudProvider: app.cloudProvider, } : emptyFormValues, - validateOnMount: true, validationSchema, enableReinitialize: true, async onSubmit(values) { diff --git a/pkg/app/web/src/components/applications-page/index.tsx b/pkg/app/web/src/components/applications-page/index.tsx index d60159471b..c73e21a40e 100644 --- a/pkg/app/web/src/components/applications-page/index.tsx +++ b/pkg/app/web/src/components/applications-page/index.tsx @@ -11,10 +11,15 @@ import { Add } from "@material-ui/icons"; import CloseIcon from "@material-ui/icons/Close"; import FilterIcon from "@material-ui/icons/FilterList"; import RefreshIcon from "@material-ui/icons/Refresh"; -import { FC, memo, useCallback, useEffect, useState } from "react"; +import { FC, useCallback, useEffect, useState } from "react"; import { useHistory } from "react-router-dom"; import { PAGE_PATH_APPLICATIONS } from "~/constants/path"; -import { UI_TEXT_FILTER, UI_TEXT_HIDE_FILTER } from "~/constants/ui-text"; +import { + UI_TEXT_ADD, + UI_TEXT_FILTER, + UI_TEXT_HIDE_FILTER, + UI_TEXT_REFRESH, +} from "~/constants/ui-text"; import { useAppDispatch, useAppSelector } from "~/hooks/redux"; import { fetchApplicationCount } from "~/modules/application-counts"; import { ApplicationKind, fetchApplications } from "~/modules/applications"; @@ -47,20 +52,23 @@ const useStyles = makeStyles((theme) => ({ }, })); -export const ApplicationIndexPage: FC = memo(function ApplicationIndexPage() { +export const ApplicationIndexPage: FC = () => { const classes = useStyles(); const dispatch = useAppDispatch(); const history = useHistory(); const filterOptions = useSearchParams(); const [openAddForm, setOpenAddForm] = useState(false); const [openFilter, setOpenFilter] = useState(true); - const [isLoading, isAdding] = useAppSelector<[boolean, boolean]>((state) => [ - state.applications.loading, - state.applications.adding, - ]); + const isAdding = useAppSelector( + (state) => state.applications.adding + ); + const isLoading = useAppSelector( + (state) => state.applications.loading + ); const addedApplicationId = useAppSelector( (state) => state.deploymentConfigs.targetApplicationId ); + const currentPage = typeof filterOptions.page === "string" ? parseInt(filterOptions.page, 10) @@ -122,7 +130,7 @@ export const ApplicationIndexPage: FC = memo(function ApplicationIndexPage() { startIcon={} onClick={() => setOpenAddForm(true)} > - ADD + {UI_TEXT_ADD}