Files
medusa-store/www/packages/docs-ui/src/components/ContentMenu/Version/index.tsx
Shahed Nasser 009d00f27d docs: redesign table of content (#12647)
* implement toc

* added to projects

* fixes and adapt for references

* added product frontmatter

* remove action menu from 404 pages
2025-05-30 16:55:36 +03:00

59 lines
1.3 KiB
TypeScript

import React, { useEffect, useState } from "react"
import { Card } from "../../Card"
import { useIsBrowser, useSiteConfig } from "../../../providers"
import clsx from "clsx"
const LOCAL_STORAGE_KEY = "last-version"
export const ContentMenuVersion = () => {
const {
config: { version },
} = useSiteConfig()
const [showNewVersion, setShowNewVersion] = useState(false)
const { isBrowser } = useIsBrowser()
useEffect(() => {
if (!isBrowser) {
return
}
const storedVersion = localStorage.getItem(LOCAL_STORAGE_KEY)
if (storedVersion !== version.number) {
setShowNewVersion(true)
}
}, [isBrowser])
const handleClose = () => {
if (!showNewVersion) {
return
}
setShowNewVersion(false)
localStorage.setItem(LOCAL_STORAGE_KEY, version.number)
}
return (
<Card
type="mini"
title={`New version`}
text={`v${version.number} details`}
closeable
onClose={handleClose}
href={version.releaseUrl}
hrefProps={{
target: "_blank",
rel: "noopener noreferrer",
}}
themeImage={version.bannerImage}
imageDimensions={{
width: 64,
height: 40,
}}
className={clsx(
"!border-0",
(!showNewVersion || version.hide) && "invisible"
)}
/>
)
}