22
33import { highlight , Pre , type HighlightedCode } from "codehike/code" ;
44import { DemoButton } from "./demo-button" ;
5- import { useTheme } from "nextra-theme-docs" ;
6- import { useSystemDarkMode } from "../logo/useSystemDarkMode" ;
7- import { useEffect , useState } from "react" ;
5+ import { Link , useTheme } from "nextra-theme-docs" ;
6+ import { useLayoutEffect , useState } from "react" ;
87import { motion } from "motion/react" ;
98import { Toaster } from "sonner" ;
109
@@ -31,13 +30,11 @@ function App() {
3130}` ;
3231
3332export function DemoCode ( ) {
34- const { theme } = useTheme ( ) ;
35- const isSystemDarkMode = useSystemDarkMode ( ) ;
36- const resolvedTheme = theme === "system" ? ( isSystemDarkMode ? "dark" : "light" ) : theme ;
33+ const { resolvedTheme } = useTheme ( ) ;
3734 const codeTheme = resolvedTheme === "dark" ? "github-dark" : "github-light" ;
3835 const [ highlighted , setHighlighted ] = useState < HighlightedCode | null > ( null ) ;
3936
40- useEffect ( ( ) => {
37+ useLayoutEffect ( ( ) => {
4138 highlight (
4239 {
4340 value : code ,
@@ -66,7 +63,9 @@ export function DemoCode() {
6663 < div className = "relative overflow-hidden rounded-xl border border-gray-200 bg-white dark:border-gray-800 dark:bg-gray-900" >
6764 < div className = "flex items-center justify-between border-b border-gray-200 bg-gray-50 px-4 py-3 dark:border-gray-700 dark:bg-gray-800/50" >
6865 < div className = "flex items-center space-x-2" >
69- < span className = "ml-2 text-sm font-medium text-gray-600 dark:text-gray-400" > example-basic.tsx</ span >
66+ < Link href = "/docs/basic-example" className = "ml-2 text-sm font-medium text-gray-600 dark:text-gray-400" >
67+ example-basic.tsx
68+ </ Link >
7069 </ div >
7170 </ div >
7271 < div className = "relative overflow-x-auto p-6" >
0 commit comments