chore: reorganize docs apps (#7228)
* reorganize docs apps * add README * fix directory * add condition for old docs
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
"use client"
|
||||
|
||||
import {
|
||||
AnalyticsProvider,
|
||||
ColorModeProvider,
|
||||
HooksLoader,
|
||||
LearningPathProvider,
|
||||
MobileProvider,
|
||||
ModalProvider,
|
||||
NotificationProvider,
|
||||
PaginationProvider,
|
||||
ScrollControllerProvider,
|
||||
SiteConfigProvider,
|
||||
} from "docs-ui"
|
||||
import SidebarProvider from "./sidebar"
|
||||
import SearchProvider from "./search"
|
||||
import { config } from "../config"
|
||||
|
||||
type ProvidersProps = {
|
||||
children?: React.ReactNode
|
||||
}
|
||||
|
||||
const Providers = ({ children }: ProvidersProps) => {
|
||||
return (
|
||||
<AnalyticsProvider writeKey={process.env.NEXT_PUBLIC_SEGMENT_API_KEY}>
|
||||
<SiteConfigProvider config={config}>
|
||||
<MobileProvider>
|
||||
<ColorModeProvider>
|
||||
<ModalProvider>
|
||||
<LearningPathProvider
|
||||
baseUrl={process.env.NEXT_PUBLIC_BASE_PATH || "/resources"}
|
||||
>
|
||||
<NotificationProvider>
|
||||
<ScrollControllerProvider scrollableSelector="#main">
|
||||
<SidebarProvider>
|
||||
<PaginationProvider>
|
||||
<SearchProvider>
|
||||
<HooksLoader
|
||||
options={{
|
||||
pageScrollManager: true,
|
||||
currentLearningPath: true,
|
||||
}}
|
||||
>
|
||||
{children}
|
||||
</HooksLoader>
|
||||
</SearchProvider>
|
||||
</PaginationProvider>
|
||||
</SidebarProvider>
|
||||
</ScrollControllerProvider>
|
||||
</NotificationProvider>
|
||||
</LearningPathProvider>
|
||||
</ModalProvider>
|
||||
</ColorModeProvider>
|
||||
</MobileProvider>
|
||||
</SiteConfigProvider>
|
||||
</AnalyticsProvider>
|
||||
)
|
||||
}
|
||||
|
||||
export default Providers
|
||||
@@ -0,0 +1,74 @@
|
||||
"use client"
|
||||
|
||||
import {
|
||||
SearchProvider as UiSearchProvider,
|
||||
AiAssistantCommandIcon,
|
||||
AiAssistantProvider,
|
||||
searchFilters,
|
||||
} from "docs-ui"
|
||||
import { config } from "../config"
|
||||
|
||||
type SearchProviderProps = {
|
||||
children: React.ReactNode
|
||||
}
|
||||
|
||||
const SearchProvider = ({ children }: SearchProviderProps) => {
|
||||
return (
|
||||
<UiSearchProvider
|
||||
algolia={{
|
||||
appId: process.env.NEXT_PUBLIC_ALGOLIA_APP_ID || "temp",
|
||||
apiKey: process.env.NEXT_PUBLIC_ALGOLIA_API_KEY || "temp",
|
||||
mainIndexName:
|
||||
process.env.NEXT_PUBLIC_DOCS_ALGOLIA_INDEX_NAME || "temp",
|
||||
indices: [
|
||||
process.env.NEXT_PUBLIC_API_ALGOLIA_INDEX_NAME || "temp",
|
||||
process.env.NEXT_PUBLIC_DOCS_ALGOLIA_INDEX_NAME || "temp",
|
||||
],
|
||||
}}
|
||||
searchProps={{
|
||||
isLoading: false,
|
||||
suggestions: [
|
||||
{
|
||||
title: "Search Suggestions",
|
||||
items: [
|
||||
"Medusa Configurations",
|
||||
"Commerce Modules",
|
||||
"Medusa JS Reference",
|
||||
"Medusa React Reference",
|
||||
"Workflows API Reference",
|
||||
],
|
||||
},
|
||||
],
|
||||
checkInternalPattern: new RegExp(`^${config.baseUrl}/resources/.*`),
|
||||
filterOptions: searchFilters,
|
||||
}}
|
||||
// TODO change once we have a dedicated index
|
||||
initialDefaultFilters={["docs"]}
|
||||
commands={[
|
||||
{
|
||||
name: "ai-assistant",
|
||||
icon: <AiAssistantCommandIcon />,
|
||||
component: (
|
||||
<AiAssistantProvider
|
||||
apiUrl={process.env.NEXT_PUBLIC_AI_ASSISTANT_URL || "temp"}
|
||||
websiteId={process.env.NEXT_PUBLIC_AI_WEBSITE_ID || "temp"}
|
||||
recaptchaSiteKey={
|
||||
process.env.NEXT_PUBLIC_AI_API_ASSISTANT_RECAPTCHA_SITE_KEY ||
|
||||
"temp"
|
||||
}
|
||||
/>
|
||||
),
|
||||
title: "AI Assistant",
|
||||
badge: {
|
||||
variant: "purple",
|
||||
children: "Beta",
|
||||
},
|
||||
},
|
||||
]}
|
||||
>
|
||||
{children}
|
||||
</UiSearchProvider>
|
||||
)
|
||||
}
|
||||
|
||||
export default SearchProvider
|
||||
@@ -0,0 +1,30 @@
|
||||
"use client"
|
||||
import {
|
||||
SidebarProvider as UiSidebarProvider,
|
||||
useScrollController,
|
||||
} from "docs-ui"
|
||||
import { config } from "@/config"
|
||||
|
||||
type SidebarProviderProps = {
|
||||
children?: React.ReactNode
|
||||
}
|
||||
|
||||
const SidebarProvider = ({ children }: SidebarProviderProps) => {
|
||||
const { scrollableElement } = useScrollController()
|
||||
|
||||
return (
|
||||
<UiSidebarProvider
|
||||
shouldHandlePathChange={true}
|
||||
shouldHandleHashChange={false}
|
||||
scrollableElement={scrollableElement}
|
||||
initialItems={config.sidebar}
|
||||
staticSidebarItems={true}
|
||||
disableActiveTransition={true}
|
||||
noTitleStyling={true}
|
||||
>
|
||||
{children}
|
||||
</UiSidebarProvider>
|
||||
)
|
||||
}
|
||||
|
||||
export default SidebarProvider
|
||||
Reference in New Issue
Block a user