- Improve scroll behavior between active sections - Improve lag when clicking on a sidebar item - Refactor internal working of the `SidebarProvider` to find active items faster. - Use Next.js's `useRouter` hook for changing the hash (since they added the option to disable scroll) - Change `isBrowser` from a hook to a provider since it's widely used across applications. - Other general improvements and fixes. Closes DOCS-952
42 lines
949 B
TypeScript
42 lines
949 B
TypeScript
"use client"
|
|
|
|
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"
|
|
|
|
type FeedbackProps = Omit<UiFeedbackProps, "event" | "pathName">
|
|
|
|
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 (
|
|
<UiFeedback
|
|
event="survey"
|
|
pathName={feedbackPathname}
|
|
reportLink={reportLink}
|
|
question="Was this chapter helpful?"
|
|
{...props}
|
|
/>
|
|
)
|
|
}
|
|
|
|
export default Feedback
|