mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-08-14 14:35:55 +08:00
fix: update dependencies and improve app detail handling (#14444)
This commit is contained in:
parent
1e3197a1ea
commit
4fbe52da40
@ -94,7 +94,7 @@ const AppDetailLayout: FC<IAppDetailLayoutProps> = (props) => {
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
return navs
|
return navs
|
||||||
}, [t])
|
}, [])
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (appDetail) {
|
if (appDetail) {
|
||||||
@ -120,7 +120,7 @@ const AppDetailLayout: FC<IAppDetailLayoutProps> = (props) => {
|
|||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
setIsLoadingAppDetail(false)
|
setIsLoadingAppDetail(false)
|
||||||
})
|
})
|
||||||
}, [appId, router, setAppDetail])
|
}, [appId, pathname])
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!appDetailRes || isLoadingCurrentWorkspace || isLoadingAppDetail)
|
if (!appDetailRes || isLoadingCurrentWorkspace || isLoadingAppDetail)
|
||||||
@ -148,7 +148,7 @@ const AppDetailLayout: FC<IAppDetailLayoutProps> = (props) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, [appDetailRes, appId, getNavigations, isCurrentWorkspaceEditor, isLoadingAppDetail, isLoadingCurrentWorkspace, router, setAppDetail, systemFeatures.enable_web_sso_switch_component])
|
}, [appDetailRes, isCurrentWorkspaceEditor, isLoadingAppDetail, isLoadingCurrentWorkspace, systemFeatures.enable_web_sso_switch_component])
|
||||||
|
|
||||||
useUnmount(() => {
|
useUnmount(() => {
|
||||||
setAppDetail()
|
setAppDetail()
|
||||||
|
@ -3,13 +3,13 @@
|
|||||||
import { useSelectedLayoutSegment } from 'next/navigation'
|
import { useSelectedLayoutSegment } from 'next/navigation'
|
||||||
import Link from 'next/link'
|
import Link from 'next/link'
|
||||||
import classNames from '@/utils/classnames'
|
import classNames from '@/utils/classnames'
|
||||||
|
import type { RemixiconComponentType } from '@remixicon/react'
|
||||||
|
|
||||||
export type NavIcon = React.ComponentType<
|
export type NavIcon = React.ComponentType<
|
||||||
React.PropsWithoutRef<React.ComponentProps<'svg'>> & {
|
React.PropsWithoutRef<React.ComponentProps<'svg'>> & {
|
||||||
title?: string | undefined
|
title?: string | undefined
|
||||||
titleId?: string | undefined
|
titleId?: string | undefined
|
||||||
}
|
}> | RemixiconComponentType
|
||||||
>
|
|
||||||
|
|
||||||
export type NavLinkProps = {
|
export type NavLinkProps = {
|
||||||
name: string
|
name: string
|
||||||
|
@ -94,7 +94,7 @@ const Configuration: FC = () => {
|
|||||||
})))
|
})))
|
||||||
const { data: fileUploadConfigResponse } = useSWR({ url: '/files/upload' }, fetchFileUploadConfig)
|
const { data: fileUploadConfigResponse } = useSWR({ url: '/files/upload' }, fetchFileUploadConfig)
|
||||||
|
|
||||||
const latestPublishedAt = useMemo(() => appDetail?.model_config.updated_at, [appDetail])
|
const latestPublishedAt = useMemo(() => appDetail?.model_config?.updated_at, [appDetail])
|
||||||
const [formattingChanged, setFormattingChanged] = useState(false)
|
const [formattingChanged, setFormattingChanged] = useState(false)
|
||||||
const { setShowAccountSettingModal } = useModalContext()
|
const { setShowAccountSettingModal } = useModalContext()
|
||||||
const [hasFetchedDetail, setHasFetchedDetail] = useState(false)
|
const [hasFetchedDetail, setHasFetchedDetail] = useState(false)
|
||||||
|
@ -128,7 +128,7 @@ const Apps = ({
|
|||||||
icon_background,
|
icon_background,
|
||||||
description,
|
description,
|
||||||
}) => {
|
}) => {
|
||||||
const { export_data } = await fetchAppDetail(
|
const { export_data, mode } = await fetchAppDetail(
|
||||||
currApp?.app.id as string,
|
currApp?.app.id as string,
|
||||||
)
|
)
|
||||||
try {
|
try {
|
||||||
@ -151,7 +151,7 @@ const Apps = ({
|
|||||||
if (app.app_id)
|
if (app.app_id)
|
||||||
await handleCheckPluginDependencies(app.app_id)
|
await handleCheckPluginDependencies(app.app_id)
|
||||||
localStorage.setItem(NEED_REFRESH_APP_LIST_KEY, '1')
|
localStorage.setItem(NEED_REFRESH_APP_LIST_KEY, '1')
|
||||||
getRedirection(isCurrentWorkspaceEditor, { id: app.app_id }, push)
|
getRedirection(isCurrentWorkspaceEditor, { id: app.app_id, mode }, push)
|
||||||
}
|
}
|
||||||
catch (e) {
|
catch (e) {
|
||||||
Toast.notify({ type: 'error', message: t('app.newApp.appCreateFailed') })
|
Toast.notify({ type: 'error', message: t('app.newApp.appCreateFailed') })
|
||||||
|
@ -126,7 +126,7 @@ const Apps = ({
|
|||||||
icon_background,
|
icon_background,
|
||||||
description,
|
description,
|
||||||
}) => {
|
}) => {
|
||||||
const { export_data } = await fetchAppDetail(
|
const { export_data, mode } = await fetchAppDetail(
|
||||||
currApp?.app.id as string,
|
currApp?.app.id as string,
|
||||||
)
|
)
|
||||||
try {
|
try {
|
||||||
@ -149,7 +149,7 @@ const Apps = ({
|
|||||||
if (app.app_id)
|
if (app.app_id)
|
||||||
await handleCheckPluginDependencies(app.app_id)
|
await handleCheckPluginDependencies(app.app_id)
|
||||||
localStorage.setItem(NEED_REFRESH_APP_LIST_KEY, '1')
|
localStorage.setItem(NEED_REFRESH_APP_LIST_KEY, '1')
|
||||||
getRedirection(isCurrentWorkspaceEditor, { id: app.app_id }, push)
|
getRedirection(isCurrentWorkspaceEditor, { id: app.app_id, mode }, push)
|
||||||
}
|
}
|
||||||
catch (e) {
|
catch (e) {
|
||||||
Toast.notify({ type: 'error', message: t('app.newApp.appCreateFailed') })
|
Toast.notify({ type: 'error', message: t('app.newApp.appCreateFailed') })
|
||||||
|
Loading…
x
Reference in New Issue
Block a user