Files
medusa-store/www/docs/src/theme/Redoc/index.tsx
Shahed Nasser 76c4bf4acb docs: documentation changes for release (#4300)
* docs: added manage reservations user guide (#4290)

* docs: added manage reservations user guide

* removed feature flag details

* docs: added how-to for custom reservations (#4292)

* docs: added how-to for custom reservations

* eslint fixes

* docs: added product module documentation (#4287)

* docs: added product module documentation

* added details about optional environment variables

* small fixes

* Remove reference link

* added example usages

* added link to sample project

* address PR feedback

* docs: moved product module guide + added product module tabs (#4307)

* added product module tab

* adjust design of badge

* docs: added onboarding features (#4168)

* added marketplace page

* added subscription roadmap

* added rating for onboarding

* added learning path components

* small fixes

* fix build error

* fix eslint errors

* change roadmaps to recipes

* small change in text

* optimize learning path and notifications

* fix tracking usage

* fix eslint errors

* added enter/exit animation

* allow starting a path using a query parameter

* fix gap between notifications

* address vercel comments

* fixed links issue

* changed create-medusa-app docs steps

* move troubleshooting section

* improved tracking across docs

* fix build errors

* remove console

* added a note about `boilerplate` option

* added troubleshooting section for eagain

* added invite option in cli reference

* added track event for finished onboarding

* update boilerplate option name

* redesigned learning path component

* docs: added how to create widget docs (#4318)

* docs: added how to create widget docs

* remove development guide

* added types

* docs: added details about createCustomAdminHooks (#4288)

* docs: added details about createCustomAdminHooks

* small improvement

* added missing import

* small changes

* docs: added onboarding guide (#4320)

* docs: added how to create widget docs

* remove development guide

* docs: added onboarding guide

* added types

* added recipes link

* small adjustments

* fixed eslint errors

* styling fixes

* change to singular product module

* updated the what's new section

* shorten down medusa react card

* updated tailwind configurations

* fix build error

* fix newspaper icon

* style fixes

* change modal shadow

* fix color of line numbers

* fix code fade color

* docs: updated admin documentations

* eslint fixes

* text changes

* added a note about beta version

* remove empty object argument

* remove demo repo url

* fix selection color for code headers

* general fixes

* fix eslint error

* changed code theme

* added preparation step

* changes regarding beta version

* Update docs/content/modules/products/serverless-module.md

Co-authored-by: Riqwan Thamir <rmthamir@gmail.com>

* Update docs/content/modules/products/serverless-module.md

Co-authored-by: Riqwan Thamir <rmthamir@gmail.com>

---------

Co-authored-by: Riqwan Thamir <rmthamir@gmail.com>
Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2023-06-20 12:25:22 +02:00

74 lines
1.9 KiB
TypeScript

import React, { useEffect, useState } from "react"
import Redoc from "@theme-original/Redoc"
import type RedocType from "@theme-original/Redoc"
import type { WrapperProps } from "@docusaurus/types"
import useIsBrowser from "@docusaurus/useIsBrowser"
import UserProvider from "@site/src/providers/User"
type Props = WrapperProps<typeof RedocType>
export default function RedocWrapper(props: Props): JSX.Element {
const isBrowser = useIsBrowser()
const [loading, setLoading] = useState(
isBrowser ? document.readyState !== "complete" : true
)
useEffect(() => {
if (isBrowser) {
// redocusaurus in dark mode displays styling wrong
// until the issue is resolved, this is a work around to hide
// the bad styling
window.onload = function () {
setLoading(false)
}
// fallback in case the onload function does not execute
setTimeout(() => {
if (loading) {
setLoading(false)
}
}, 1000)
const scrollHandler = () => {
const redocSidebar = document.querySelector(
".redocusaurus .menu-content"
) as HTMLElement
const navbar = document.querySelector(".navbar") as HTMLElement
if (!redocSidebar || !navbar) {
return
}
let offset = navbar.clientHeight
// @ts-expect-error: error for entries
for (const [, className] of navbar.classList.entries()) {
if (className.indexOf("navbarHidden") !== -1) {
offset = 0
break
}
}
redocSidebar.style.top = `${offset}px`
}
window.addEventListener("scroll", scrollHandler)
return () => {
window.removeEventListener("scroll", scrollHandler)
}
}
}, [isBrowser])
return (
<div
style={{
opacity: loading ? 0 : 1,
transition: "opacity 0.2s",
}}
>
<UserProvider>
<Redoc {...props} />
</UserProvider>
</div>
)
}