diff --git a/web/app/(commonLayout)/apps/Apps.tsx b/web/app/(commonLayout)/apps/Apps.tsx index 11da845165..13f983acec 100644 --- a/web/app/(commonLayout)/apps/Apps.tsx +++ b/web/app/(commonLayout)/apps/Apps.tsx @@ -8,6 +8,7 @@ import NewAppCard from './NewAppCard' import { AppListResponse } from '@/models/app' import { fetchAppList } from '@/service/apps' import { useSelector } from '@/context/app-context' +import { NEED_REFRESH_APP_LIST_KEY } from '@/config' const getKey = (pageIndex: number, previousPageData: AppListResponse) => { if (!pageIndex || previousPageData.has_more) @@ -21,6 +22,13 @@ const Apps = () => { const pageContainerRef = useSelector(state => state.pageContainerRef) const anchorRef = useRef(null) + useEffect(() => { + if(localStorage.getItem(NEED_REFRESH_APP_LIST_KEY) === '1') { + localStorage.removeItem(NEED_REFRESH_APP_LIST_KEY) + mutate() + } + }, []) + useEffect(() => { loadingStateRef.current = isLoading }, [isLoading]) diff --git a/web/app/components/explore/app-list/index.tsx b/web/app/components/explore/app-list/index.tsx index 63f5250d11..5470cebdec 100644 --- a/web/app/components/explore/app-list/index.tsx +++ b/web/app/components/explore/app-list/index.tsx @@ -11,6 +11,7 @@ import { fetchAppList, installApp, fetchAppDetail } from '@/service/explore' import { createApp } from '@/service/apps' import CreateAppModal from '@/app/components/explore/create-app-modal' import Loading from '@/app/components/base/loading' +import { NEED_REFRESH_APP_LIST_KEY } from '@/config' import s from './style.module.css' import Toast from '../../base/toast' @@ -64,6 +65,7 @@ const Apps: FC = ({ }) => { type: 'success', message: t('app.newApp.appCreated'), }) + localStorage.setItem(NEED_REFRESH_APP_LIST_KEY, '1') router.push(`/app/${app.id}/overview`) } catch (e) { Toast.notify({ type: 'error', message: t('app.newApp.appCreateFailed') }) diff --git a/web/config/index.ts b/web/config/index.ts index f167b31150..e48bac3253 100644 --- a/web/config/index.ts +++ b/web/config/index.ts @@ -99,5 +99,7 @@ export const VAR_ITEM_TEMPLATE = { export const appDefaultIconBackground = '#D5F5F6' +export const NEED_REFRESH_APP_LIST_KEY = 'needRefreshAppList' +