mirror of
https://github.com/langgenius/dify.git
synced 2026-07-25 13:38:31 +08:00
refactor(web): remove obsolete route prefix handler (#39545)
This commit is contained in:
parent
2d5161a647
commit
58f83fa7e7
@ -18,7 +18,6 @@ import { PartnerStackCookieRecorder } from './components/billing/partner-stack/c
|
||||
import { AgentationLoader } from './components/devtools/agentation-loader'
|
||||
import { ReactScanLoader } from './components/devtools/react-scan/loader'
|
||||
import { I18nServerProvider } from './components/provider/i18n-server'
|
||||
import RoutePrefixHandle from './routePrefixHandle'
|
||||
import './styles/globals.css'
|
||||
import './styles/markdown.css'
|
||||
|
||||
@ -85,7 +84,6 @@ export default async function RootLayout({ children }: { children: React.ReactNo
|
||||
</NuqsAdapter>
|
||||
</ThemeProvider>
|
||||
</JotaiProvider>
|
||||
<RoutePrefixHandle />
|
||||
<AgentationLoader />
|
||||
</div>
|
||||
</body>
|
||||
|
||||
@ -1,57 +0,0 @@
|
||||
'use client'
|
||||
|
||||
import { useEffect } from 'react'
|
||||
import { usePathname } from '@/next/navigation'
|
||||
import { basePath } from '@/utils/var'
|
||||
|
||||
export default function RoutePrefixHandle() {
|
||||
const pathname = usePathname()
|
||||
const handleRouteChange = () => {
|
||||
const addPrefixToImg = (e: HTMLImageElement) => {
|
||||
const url = new URL(e.src)
|
||||
const prefix = url.pathname.slice(0, basePath.length)
|
||||
if (
|
||||
prefix !== basePath &&
|
||||
!url.href.startsWith('blob:') &&
|
||||
!url.href.startsWith('data:') &&
|
||||
!url.href.startsWith('http')
|
||||
) {
|
||||
url.pathname = basePath + url.pathname
|
||||
e.src = url.toString()
|
||||
}
|
||||
}
|
||||
// create an observer instance
|
||||
const observer = new MutationObserver((mutationsList) => {
|
||||
for (const mutation of mutationsList) {
|
||||
if (mutation.type === 'childList') {
|
||||
// listen for newly added img tags
|
||||
mutation.addedNodes.forEach((node) => {
|
||||
if ((node as HTMLElement).tagName === 'IMG') addPrefixToImg(node as HTMLImageElement)
|
||||
})
|
||||
} else if (
|
||||
mutation.type === 'attributes' &&
|
||||
(mutation.target as HTMLElement).tagName === 'IMG'
|
||||
) {
|
||||
// if the src of an existing img tag changes, update the prefix
|
||||
if (mutation.attributeName === 'src') addPrefixToImg(mutation.target as HTMLImageElement)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
// configure observation options
|
||||
const config = {
|
||||
childList: true,
|
||||
attributes: true,
|
||||
subtree: true,
|
||||
attributeFilter: ['src'],
|
||||
}
|
||||
|
||||
observer.observe(document.body, config)
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
if (basePath) handleRouteChange()
|
||||
}, [pathname])
|
||||
|
||||
return null
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user