* 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>
74 lines
1.9 KiB
TypeScript
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>
|
|
)
|
|
}
|