mirror of
https://github.com/supabase/supabase.git
synced 2026-05-23 10:21:37 +08:00
41 lines
1.1 KiB
TypeScript
41 lines
1.1 KiB
TypeScript
import Link from 'next/link'
|
|
import { useRouter } from 'next/router'
|
|
import { useMenuActiveRefId } from '~/hooks/useMenuState'
|
|
import Admonition from '../Admonition'
|
|
import { ICommonSection } from './Reference.types'
|
|
|
|
export interface OldVersionAlertProps {
|
|
sections: ICommonSection[]
|
|
}
|
|
|
|
const OldVersionAlert = ({ sections }: OldVersionAlertProps) => {
|
|
const router = useRouter()
|
|
const activeRefId = useMenuActiveRefId()
|
|
|
|
const activeSection = sections.find(({ id }) => id === activeRefId)
|
|
|
|
// Remove the version number from URL to get the latest
|
|
const latestVersionUrl = router.asPath
|
|
.split('/')
|
|
.slice(0, -2)
|
|
.concat(activeSection ? [activeSection.slug] : [])
|
|
.join('/')
|
|
|
|
return (
|
|
<div className="sticky top-10 z-10 lg:top-14 lg:w-1/2">
|
|
<Admonition type="caution">
|
|
You're viewing an older version of this library.
|
|
<br />
|
|
<Link href={latestVersionUrl}>
|
|
<a className="underline decoration-brand-700 underline-offset-4 decoration-1">
|
|
Switch to the latest
|
|
</a>
|
|
</Link>
|
|
.
|
|
</Admonition>
|
|
</div>
|
|
)
|
|
}
|
|
|
|
export default OldVersionAlert
|