diff --git a/www/apps/api-reference/components/Tags/Operation/DescriptionSection/index.tsx b/www/apps/api-reference/components/Tags/Operation/DescriptionSection/index.tsx index d800958979..995a6fecb3 100644 --- a/www/apps/api-reference/components/Tags/Operation/DescriptionSection/index.tsx +++ b/www/apps/api-reference/components/Tags/Operation/DescriptionSection/index.tsx @@ -10,7 +10,6 @@ import MDXContentClient from "@/components/MDXContent/Client" import { useArea } from "../../../../providers/area" import { Feedback, Badge, Link, FeatureFlagNotice } from "docs-ui" import { usePathname } from "next/navigation" -import formatReportLink from "../../../../utils/format-report-link" import { TagsOperationDescriptionSectionWorkflowBadgeProps } from "./WorkflowBadge" const TagsOperationDescriptionSectionSecurity = @@ -82,7 +81,6 @@ const TagsOperationDescriptionSection = ({ section: operation.summary, }} pathName={pathname} - reportLink={formatReportLink(area, operation.summary)} className="!my-2" vertical={true} question="Did this API Route run successfully?" diff --git a/www/apps/api-reference/components/Tags/Section/index.tsx b/www/apps/api-reference/components/Tags/Section/index.tsx index 5d58b24112..ecfbd777d8 100644 --- a/www/apps/api-reference/components/Tags/Section/index.tsx +++ b/www/apps/api-reference/components/Tags/Section/index.tsx @@ -21,7 +21,6 @@ import SectionDivider from "../../Section/Divider" import clsx from "clsx" import { Feedback, Loading, Link } from "docs-ui" import { usePathname, useRouter } from "next/navigation" -import formatReportLink from "@/utils/format-report-link" import { PathsObject, SchemaObject, TagObject } from "@/types/openapi" import { TagSectionSchemaProps } from "./Schema" import checkElementInViewport from "../../../utils/check-element-in-viewport" @@ -165,7 +164,6 @@ const TagSectionComponent = ({ tag }: TagSectionProps) => { section: tag.name, }} pathName={pathname} - reportLink={formatReportLink(area, tag.name)} vertical question="Was this section helpful?" /> diff --git a/www/apps/api-reference/markdown/admin.mdx b/www/apps/api-reference/markdown/admin.mdx index 00df884dc7..c7e917c086 100644 --- a/www/apps/api-reference/markdown/admin.mdx +++ b/www/apps/api-reference/markdown/admin.mdx @@ -6,7 +6,6 @@ import { DividedMarkdownCode } from "@/layouts/DividedMarkdown/Sections" import Section from "@/components/Section" -import formatReportLink from "@/utils/format-report-link" import ClientLibraries from "./client-libraries.mdx" @@ -28,7 +27,6 @@ All API Routes are prefixed with `/admin`. So, during development, the API Route area: "admin", section: "introduction" }} - reportLink={formatReportLink("admin", "Introduction")} pathName="/api/admin" question="Was this section helpful?" vertical={true} @@ -305,7 +303,6 @@ fetch(`/admin/products`, { area: "admin", section: "authentication-cookie" }} - reportLink={formatReportLink("admin", "Authentication - Cookie Session ID")} pathName="/api/admin" question="Was this section helpful?" vertical={true} @@ -355,7 +352,6 @@ x-no-compression: true area: "admin", section: "http-compression" }} - reportLink={formatReportLink("admin", "Authentication - Cookie Session ID")} pathName="/api/admin" question="Was this section helpful?" vertical={true} @@ -687,7 +683,6 @@ curl -g "http://localhost:9000/admin/products?created_at[$lt]=2023-02-17&created area: "admin", section: "query-parameters" }} - reportLink={formatReportLink("admin", "Query Parameter Types")} pathName="/api/admin" question="Was this section helpful?" vertical={true} @@ -814,7 +809,6 @@ This sorts the products by their `created_at` field in the descending order. area: "admin", section: "pagination" }} - reportLink={formatReportLink("admin", "Pagination")} pathName="/api/admin" question="Was this section helpful?" vertical={true} @@ -846,7 +840,6 @@ Refer to [this guide](https://docs.medusajs.com/customization/extend-models/exte area: "admin", section: "workflows" }} - reportLink={formatReportLink("admin", "Workflows")} pathName="/api/admin" question="Was this section helpful?" vertical={true} diff --git a/www/apps/api-reference/markdown/store.mdx b/www/apps/api-reference/markdown/store.mdx index 6c44473c5d..dfce4827c8 100644 --- a/www/apps/api-reference/markdown/store.mdx +++ b/www/apps/api-reference/markdown/store.mdx @@ -6,7 +6,6 @@ import { } from "@/layouts/DividedMarkdown/Sections" import Section from "@/components/Section" import { Feedback, CodeTabs, CodeTab } from "docs-ui" -import formatReportLink from "@/utils/format-report-link" import ClientLibraries from "./client-libraries.mdx" @@ -28,7 +27,6 @@ All API Routes are prefixed with `/store`. So, during development, the API Route area: "store", section: "introduction" }} - reportLink={formatReportLink("store", "Introduction")} pathName="/api/store" question="Was this section helpful?" vertical={true} @@ -242,7 +240,6 @@ fetch(`/store/products`, { area: "store", section: "authentication-cookie" }} - reportLink={formatReportLink("store", "Authentication - Cookie Session ID")} pathName="/api/store" question="Was this section helpful?" vertical={true} @@ -307,7 +304,6 @@ Where `{your_publishable_api_key}` is the token of the publishable API key. area: "store", section: "publishable-api-key" }} - reportLink={formatReportLink("store", "Publishable API Key")} pathName="/api/store" question="Was this section helpful?" vertical={true} @@ -357,7 +353,6 @@ x-no-compression: true area: "store", section: "http-compression" }} - reportLink={formatReportLink("store", "HTTP Compression")} pathName="/api/store" question="Was this section helpful?" vertical={true} @@ -481,7 +476,6 @@ This returns the variants of each product, but the variants only have their `id` area: "store", section: "select-fields" }} - reportLink={formatReportLink("store", "Selecting Fields")} pathName="/api/store" question="Was this section helpful?" vertical={true} @@ -694,7 +688,6 @@ curl -g "http://localhost:9000/store/products?created_at[$lt]=2023-02-17&created area: "store", section: "query-parameters" }} - reportLink={formatReportLink("store", "Query Parameter Types")} pathName="/api/store" question="Was this section helpful?" vertical={true} @@ -819,7 +812,6 @@ This sorts the products by their `created_at` field in the descending order. area: "store", section: "pagination" }} - reportLink={formatReportLink("store", "Pagination")} pathName="/api/store" question="Was this section helpful?" vertical={true} @@ -847,7 +839,6 @@ Refer to [this guide](https://docs.medusajs.com/customization/extend-models/exte area: "admin", section: "workflows" }} - reportLink={formatReportLink("admin", "Workflows")} pathName="/api/admin" question="Was this section helpful?" vertical={true} diff --git a/www/apps/api-reference/providers/main-nav.tsx b/www/apps/api-reference/providers/main-nav.tsx index 8b44883e5d..cdb5a18040 100644 --- a/www/apps/api-reference/providers/main-nav.tsx +++ b/www/apps/api-reference/providers/main-nav.tsx @@ -1,10 +1,8 @@ "use client" import { - formatReportLink, getNavDropdownItems, MainNavProvider as UiMainNavProvider, - useIsBrowser, } from "docs-ui" import { useMemo } from "react" import { config } from "../config" @@ -14,7 +12,6 @@ type MainNavProviderProps = { } export const MainNavProvider = ({ children }: MainNavProviderProps) => { - const { isBrowser } = useIsBrowser() const navigationDropdownItems = useMemo( () => getNavDropdownItems({ @@ -23,20 +20,8 @@ export const MainNavProvider = ({ children }: MainNavProviderProps) => { [] ) - const reportLink = useMemo( - () => - formatReportLink( - config.titleSuffix || "", - isBrowser ? document.title : "" - ), - [isBrowser] - ) - return ( - + {children} ) diff --git a/www/apps/api-reference/utils/format-report-link.ts b/www/apps/api-reference/utils/format-report-link.ts deleted file mode 100644 index 046f97688b..0000000000 --- a/www/apps/api-reference/utils/format-report-link.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { formatReportLink as uiFormatReportLink } from "docs-ui" - -export default function formatReportLink(area = "admin", sectionTitle: string) { - return uiFormatReportLink(`API Ref(${area})`, sectionTitle) -} diff --git a/www/apps/book/components/Feedback/index.tsx b/www/apps/book/components/Feedback/index.tsx index bc7584ea97..a7926f57a2 100644 --- a/www/apps/book/components/Feedback/index.tsx +++ b/www/apps/book/components/Feedback/index.tsx @@ -3,11 +3,8 @@ import { Feedback as UiFeedback, FeedbackProps as UiFeedbackProps, - formatReportLink, - useIsBrowser, } from "docs-ui" import { usePathname } from "next/navigation" -import { config } from "../../config" import { basePathUrl } from "../../utils/base-path-url" import { useMemo } from "react" @@ -15,23 +12,13 @@ type FeedbackProps = Omit const Feedback = (props: FeedbackProps) => { const pathname = usePathname() - const { isBrowser } = useIsBrowser() const feedbackPathname = useMemo(() => basePathUrl(pathname), [pathname]) - const reportLink = useMemo( - () => - formatReportLink( - config.titleSuffix || "", - isBrowser ? document.title : "" - ), - [isBrowser] - ) return ( diff --git a/www/apps/book/providers/main-nav.tsx b/www/apps/book/providers/main-nav.tsx index 2c7f92eddd..847d1d5474 100644 --- a/www/apps/book/providers/main-nav.tsx +++ b/www/apps/book/providers/main-nav.tsx @@ -1,10 +1,8 @@ "use client" import { - formatReportLink, getNavDropdownItems, MainNavProvider as UiMainNavProvider, - useIsBrowser, } from "docs-ui" import { useMemo } from "react" import { config } from "../config" @@ -16,7 +14,6 @@ type MainNavProviderProps = { } export const MainNavProvider = ({ children }: MainNavProviderProps) => { - const { isBrowser } = useIsBrowser() const pathname = usePathname() const navigationDropdownItems = useMemo( () => @@ -26,15 +23,6 @@ export const MainNavProvider = ({ children }: MainNavProviderProps) => { [] ) - const reportLink = useMemo( - () => - formatReportLink( - config.titleSuffix || "", - isBrowser ? document.title : "" - ), - [isBrowser] - ) - const editDate = useMemo( () => (generatedEditDates as Record)[ @@ -44,11 +32,7 @@ export const MainNavProvider = ({ children }: MainNavProviderProps) => { ) return ( - + {children} ) diff --git a/www/apps/resources/components/Feedback/index.tsx b/www/apps/resources/components/Feedback/index.tsx index af8952b221..77cc4fdc0b 100644 --- a/www/apps/resources/components/Feedback/index.tsx +++ b/www/apps/resources/components/Feedback/index.tsx @@ -3,11 +3,8 @@ import { Feedback as UiFeedback, FeedbackProps as UiFeedbackProps, - formatReportLink, - useIsBrowser, } from "docs-ui" import { usePathname } from "next/navigation" -import { config } from "../../config" import { useMemo } from "react" import { basePathUrl } from "../../utils/base-path-url" @@ -15,23 +12,13 @@ type FeedbackProps = Omit export const Feedback = (props: FeedbackProps) => { const pathname = usePathname() - const { isBrowser } = useIsBrowser() const feedbackPathname = useMemo(() => basePathUrl(pathname), [pathname]) - const reportLink = useMemo( - () => - formatReportLink( - config.titleSuffix || "", - isBrowser ? document.title : "" - ), - [isBrowser] - ) return ( diff --git a/www/apps/resources/providers/main-nav.tsx b/www/apps/resources/providers/main-nav.tsx index 2c7f92eddd..847d1d5474 100644 --- a/www/apps/resources/providers/main-nav.tsx +++ b/www/apps/resources/providers/main-nav.tsx @@ -1,10 +1,8 @@ "use client" import { - formatReportLink, getNavDropdownItems, MainNavProvider as UiMainNavProvider, - useIsBrowser, } from "docs-ui" import { useMemo } from "react" import { config } from "../config" @@ -16,7 +14,6 @@ type MainNavProviderProps = { } export const MainNavProvider = ({ children }: MainNavProviderProps) => { - const { isBrowser } = useIsBrowser() const pathname = usePathname() const navigationDropdownItems = useMemo( () => @@ -26,15 +23,6 @@ export const MainNavProvider = ({ children }: MainNavProviderProps) => { [] ) - const reportLink = useMemo( - () => - formatReportLink( - config.titleSuffix || "", - isBrowser ? document.title : "" - ), - [isBrowser] - ) - const editDate = useMemo( () => (generatedEditDates as Record)[ @@ -44,11 +32,7 @@ export const MainNavProvider = ({ children }: MainNavProviderProps) => { ) return ( - + {children} ) diff --git a/www/apps/ui/src/components/feedback.tsx b/www/apps/ui/src/components/feedback.tsx index b337e4874c..dc6b0e14e3 100644 --- a/www/apps/ui/src/components/feedback.tsx +++ b/www/apps/ui/src/components/feedback.tsx @@ -3,7 +3,6 @@ import { Feedback as UiFeedback, FeedbackProps as UiFeedbackProps, - formatReportLink, } from "docs-ui" import { usePathname } from "next/navigation" import { absoluteUrl } from "@/lib/absolute-url" @@ -20,7 +19,6 @@ export const Feedback = ({ title, ...props }: FeedbackProps) => { { - const { isBrowser } = useIsBrowser() const navigationDropdownItems = useMemo( () => getNavDropdownItems({ @@ -23,16 +20,8 @@ export const MainNavProvider = ({ children }: MainNavProviderProps) => { [] ) - const reportLink = useMemo( - () => formatReportLink("UI Docs", isBrowser ? document.title : "", "ui"), - [isBrowser] - ) - return ( - + {children} ) diff --git a/www/apps/user-guide/components/Feedback/index.tsx b/www/apps/user-guide/components/Feedback/index.tsx index 9a4ca89f13..d2c1f5d7b8 100644 --- a/www/apps/user-guide/components/Feedback/index.tsx +++ b/www/apps/user-guide/components/Feedback/index.tsx @@ -3,11 +3,8 @@ import { Feedback as UiFeedback, FeedbackProps as UiFeedbackProps, - formatReportLink, - useIsBrowser, } from "docs-ui" import { usePathname } from "next/navigation" -import { config } from "../../config" import { basePathUrl } from "../../utils/base-path-url" import { useMemo } from "react" @@ -15,23 +12,13 @@ type FeedbackProps = Omit const Feedback = (props: FeedbackProps) => { const pathname = usePathname() - const { isBrowser } = useIsBrowser() const feedbackPathname = useMemo(() => basePathUrl(pathname), [pathname]) - const reportLink = useMemo( - () => - formatReportLink( - config.titleSuffix || "", - isBrowser ? document.title : "" - ), - [isBrowser] - ) return ( diff --git a/www/apps/user-guide/providers/main-nav.tsx b/www/apps/user-guide/providers/main-nav.tsx index 8b44883e5d..cdb5a18040 100644 --- a/www/apps/user-guide/providers/main-nav.tsx +++ b/www/apps/user-guide/providers/main-nav.tsx @@ -1,10 +1,8 @@ "use client" import { - formatReportLink, getNavDropdownItems, MainNavProvider as UiMainNavProvider, - useIsBrowser, } from "docs-ui" import { useMemo } from "react" import { config } from "../config" @@ -14,7 +12,6 @@ type MainNavProviderProps = { } export const MainNavProvider = ({ children }: MainNavProviderProps) => { - const { isBrowser } = useIsBrowser() const navigationDropdownItems = useMemo( () => getNavDropdownItems({ @@ -23,20 +20,8 @@ export const MainNavProvider = ({ children }: MainNavProviderProps) => { [] ) - const reportLink = useMemo( - () => - formatReportLink( - config.titleSuffix || "", - isBrowser ? document.title : "" - ), - [isBrowser] - ) - return ( - + {children} ) diff --git a/www/packages/docs-ui/src/components/CodeBlock/Actions/index.tsx b/www/packages/docs-ui/src/components/CodeBlock/Actions/index.tsx index 7deb8bc8fe..8e63eabcaa 100644 --- a/www/packages/docs-ui/src/components/CodeBlock/Actions/index.tsx +++ b/www/packages/docs-ui/src/components/CodeBlock/Actions/index.tsx @@ -4,7 +4,7 @@ import clsx from "clsx" import React from "react" import { Link, Tooltip } from "@/components" import { ExclamationCircle, PlaySolid } from "@medusajs/icons" -import { GITHUB_ISSUES_PREFIX } from "@/constants" +import { GITHUB_ISSUES_LINK } from "@/constants" import { CodeBlockCopyAction } from "./Copy" export type CodeBlockActionsProps = { @@ -109,9 +109,7 @@ export const CodeBlockActions = ({ )} > { + const { + config: { reportIssueLink }, + } = useSiteConfig() + const reportLink = useMemo(() => { + return initReportLink || reportIssueLink + }, [initReportLink, reportIssueLink]) const [showForm, setShowForm] = useState(false) const [submittedFeedback, setSubmittedFeedback] = useState(false) const [loading, setLoading] = useState(false) diff --git a/www/packages/docs-ui/src/components/MainNav/index.tsx b/www/packages/docs-ui/src/components/MainNav/index.tsx index 89b57be920..b358de65e6 100644 --- a/www/packages/docs-ui/src/components/MainNav/index.tsx +++ b/www/packages/docs-ui/src/components/MainNav/index.tsx @@ -26,7 +26,7 @@ type MainNavProps = { } export const MainNav = ({ className, itemsClassName }: MainNavProps) => { - const { reportIssueLink, editDate } = useMainNav() + const { editDate } = useMainNav() const { setMobileSidebarOpen, isSidebarShown } = useSidebar() const { config } = useSiteConfig() @@ -64,7 +64,7 @@ export const MainNav = ({ className, itemsClassName }: MainNavProps) => { {editDate && } (null) export type MainNavProviderProps = { navItems: NavigationItem[] - reportIssueLink: string editDate?: string children?: React.ReactNode } export const MainNavProvider = ({ navItems, - reportIssueLink, children, editDate, }: MainNavProviderProps) => { @@ -90,7 +87,6 @@ export const MainNavProvider = ({ value={{ navItems, activeItemIndex, - reportIssueLink, editDate, activeItem, }} diff --git a/www/packages/docs-ui/src/providers/SiteConifg/index.tsx b/www/packages/docs-ui/src/providers/SiteConifg/index.tsx index ef106e6f23..0f3054523d 100644 --- a/www/packages/docs-ui/src/providers/SiteConifg/index.tsx +++ b/www/packages/docs-ui/src/providers/SiteConifg/index.tsx @@ -3,6 +3,7 @@ import React, { createContext, useContext, useState } from "react" import { DocsConfig } from "types" import { globalConfig } from "../../global-config" +import { GITHUB_ISSUES_LINK } from "../.." export type SiteConfigContextType = { config: DocsConfig @@ -21,21 +22,25 @@ export const SiteConfigProvider = ({ children, }: SiteConfigProviderProps) => { const [config, setConfig] = useState( - initConfig || { - baseUrl: "", - sidebar: { - default: [], - mobile: [], + Object.assign( + { + baseUrl: "", + sidebar: { + default: [], + mobile: [], + }, + project: { + title: "", + key: "", + }, + breadcrumbOptions: { + showCategories: true, + }, + reportIssueLink: GITHUB_ISSUES_LINK, }, - project: { - title: "", - key: "", - }, - breadcrumbOptions: { - showCategories: true, - }, - ...globalConfig, - } + globalConfig, + initConfig || {} + ) ) return ( diff --git a/www/packages/docs-ui/src/utils/format-report-link.ts b/www/packages/docs-ui/src/utils/format-report-link.ts deleted file mode 100644 index 1c46846153..0000000000 --- a/www/packages/docs-ui/src/utils/format-report-link.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { GITHUB_ISSUES_PREFIX, GITHUB_UI_ISSUES_PREFIX } from "../constants" - -export type ReportLinkType = "default" | "ui" - -export function formatReportLink( - title: string, - sectionTitle: string, - type?: ReportLinkType -) { - let prefix = GITHUB_ISSUES_PREFIX - if (type === "ui") { - prefix = GITHUB_UI_ISSUES_PREFIX - } - return `${prefix}&title=${encodeURI(title)}%3A%20Issue%20in%20${encodeURI( - sectionTitle - )}` -} diff --git a/www/packages/docs-ui/src/utils/index.ts b/www/packages/docs-ui/src/utils/index.ts index b45425c45e..4dda81c98a 100644 --- a/www/packages/docs-ui/src/utils/index.ts +++ b/www/packages/docs-ui/src/utils/index.ts @@ -3,7 +3,6 @@ export * from "./capitalize" export * from "./check-sidebar-item-visibility" export * from "./decode-str" export * from "./dom-utils" -export * from "./format-report-link" export * from "./get-link-with-base-path" export * from "./get-navbar-items" export * from "./get-os-shortcut" diff --git a/www/packages/types/src/config.ts b/www/packages/types/src/config.ts index 89c39791f8..176f6b9bb8 100644 --- a/www/packages/types/src/config.ts +++ b/www/packages/types/src/config.ts @@ -20,4 +20,5 @@ export declare type DocsConfig = { number: string releaseUrl: string } + reportIssueLink?: string }