From 09a7941eca68014a5b5e3736116e88006d6ca830 Mon Sep 17 00:00:00 2001 From: Alikia2x Date: Thu, 4 Apr 2024 02:26:37 +0800 Subject: [PATCH] feature: engine change & nextui --- .npmrc | 1 + app/[locale]/layout.tsx | 14 +- app/providers.tsx | 12 + components/index.tsx | 2 + components/search/engineSelector.tsx | 74 + components/search/search.tsx | 2 +- components/search/translatedEngineList.ts | 1 + components/state/settings.ts | 54 +- lib/isLocalStorageAvailable.ts | 10 + lib/loadSettings.ts | 13 +- messages/en.json | 17 +- messages/zh.json | 14 +- package.json | 4 +- pnpm-lock.yaml | 2934 +++++++++++++++++++-- tailwind.config.ts | 29 +- 15 files changed, 2870 insertions(+), 311 deletions(-) create mode 100644 .npmrc create mode 100644 app/providers.tsx create mode 100644 components/search/engineSelector.tsx create mode 100644 components/search/translatedEngineList.ts create mode 100644 lib/isLocalStorageAvailable.ts diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..cb15887 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +public-hoist-pattern[]=*@nextui-org/* \ No newline at end of file diff --git a/app/[locale]/layout.tsx b/app/[locale]/layout.tsx index b2b34c6..e69b227 100644 --- a/app/[locale]/layout.tsx +++ b/app/[locale]/layout.tsx @@ -2,6 +2,8 @@ import type { Metadata } from "next"; import { Inter } from "next/font/google"; import "./global.css"; import { NextIntlClientProvider, useMessages } from "next-intl"; +import { ThemeProvider } from "next-themes"; +import { Providers } from "../providers"; const inter = Inter({ subsets: ["latin"] }); @@ -22,11 +24,15 @@ export default function LocaleLayout({ }) { const messages = useMessages(); return ( - + - - {children} - + + + + {children} + + + ); diff --git a/app/providers.tsx b/app/providers.tsx new file mode 100644 index 0000000..7c4147b --- /dev/null +++ b/app/providers.tsx @@ -0,0 +1,12 @@ +// app/providers.tsx +'use client' + +import {NextUIProvider} from '@nextui-org/react' + +export function Providers({children}: { children: React.ReactNode }) { + return ( + + {children} + + ) +} \ No newline at end of file diff --git a/components/index.tsx b/components/index.tsx index 490f2bb..7823b3c 100644 --- a/components/index.tsx +++ b/components/index.tsx @@ -8,6 +8,7 @@ import Search from "./search/search"; import { bgFocusState } from "./state/background"; import Time from "./time"; import loadSettings from "@/lib/loadSettings"; +import EngineSelector from "./search/engineSelector"; export default function Homepage() { const [settings, setSettings] = useRecoilState(settingsState); @@ -36,6 +37,7 @@ export default function Homepage() { return (