refactor(web): remove obsolete route prefix handler (#39545)

This commit is contained in:
yyh 2026-07-24 23:30:52 +08:00 committed by GitHub
parent 2d5161a647
commit 58f83fa7e7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 0 additions and 59 deletions

View File

@ -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>

View File

@ -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
}