diff --git a/app/[locale]/tools/base64/page.tsx b/app/[locale]/tools/base64/page.tsx new file mode 100644 index 0000000..4fc916b --- /dev/null +++ b/app/[locale]/tools/base64/page.tsx @@ -0,0 +1,10 @@ +import { useTranslations } from "next-intl"; + +export default function Base64() { + const t = useTranslations("tools"); + return ( +
+

{t("base64.title")}

+
+ ); +} diff --git a/app/[locale]/tools/layout.tsx b/app/[locale]/tools/layout.tsx new file mode 100644 index 0000000..44a3663 --- /dev/null +++ b/app/[locale]/tools/layout.tsx @@ -0,0 +1,10 @@ +export default function ToolsLayout({ children }: { children: React.ReactNode }) { + return ( +
+
+ {children} +
+
+ ); +} diff --git a/components/index.tsx b/components/index.tsx index db42ed0..9b21de4 100644 --- a/components/index.tsx +++ b/components/index.tsx @@ -1,7 +1,6 @@ "use client"; -import { useEffect } from "react"; -import { useRecoilState, useSetRecoilState } from "recoil"; +import { useRecoilValue, useSetRecoilState } from "recoil"; import { settingsState } from "./state/settings"; import Search from "./search/search"; import { bgFocusState } from "./state/background"; @@ -17,7 +16,7 @@ const Time = dynamic(() => import("./time"), { }); export default function Homepage() { - const [settings, setSettings] = useRecoilState(settingsState); + const settings = useRecoilValue(settingsState); const setFocus = useSetRecoilState(bgFocusState); return ( diff --git a/messages/en-US.json b/messages/en-US.json index f627d0c..11db361 100644 --- a/messages/en-US.json +++ b/messages/en-US.json @@ -18,5 +18,10 @@ }, "About": { "title": "SparkHome" + }, + "tools": { + "base64": { + "title": "Base64 tools - LuminaraUtils" + } } } diff --git a/messages/zh-CN.json b/messages/zh-CN.json index 117c08b..0992ac2 100644 --- a/messages/zh-CN.json +++ b/messages/zh-CN.json @@ -15,5 +15,10 @@ }, "404": { "title": "未找到" + }, + "tools": { + "base64": { + "title": "Base64 工具" + } } }