From dfe7e8f64744277b4e3493cc4ccc1f212c863f15 Mon Sep 17 00:00:00 2001 From: Thang Vu Date: Wed, 29 Jan 2025 16:45:56 +0700 Subject: [PATCH] docs: dark mode for DocSearch (#12564) --- docs/components/DocSearch/index.tsx | 8 -------- docs/components/DocSearch/wrapper.tsx | 11 +++++++++++ docs/pages/global.css | 6 ++++++ 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/docs/components/DocSearch/index.tsx b/docs/components/DocSearch/index.tsx index ea4c8eb20f..b351cdd26c 100644 --- a/docs/components/DocSearch/index.tsx +++ b/docs/components/DocSearch/index.tsx @@ -4,14 +4,6 @@ const DocSearch = dynamic( () => import("./wrapper").then((mod) => mod.default), { ssr: false, - loading: () => ( -
- Search... - - CTRL K - -
- ), } ) diff --git a/docs/components/DocSearch/wrapper.tsx b/docs/components/DocSearch/wrapper.tsx index 8b06b94b9b..8cf99acbc2 100644 --- a/docs/components/DocSearch/wrapper.tsx +++ b/docs/components/DocSearch/wrapper.tsx @@ -1,8 +1,19 @@ import { DocSearch } from "@docsearch/react" +import { useTheme } from "nextra-theme-docs" +import { useEffect } from "react" import "@docsearch/css" function App() { + const { resolvedTheme } = useTheme() + + useEffect(() => { + if (resolvedTheme) { + // hack to get DocSearch to use dark mode colors if applicable + document.documentElement.setAttribute("data-theme", resolvedTheme) + } + }, [resolvedTheme]) + return ( head:has(meta[content*="reference/core/providers"]) + body .provider { font-size: 1rem; color: #000 !important; } + +.nextra-sidebar-container { + .DocSearch-Button { + @apply hidden; + } +}