From 8b3aab21de85ffe78902a87b3104c53180c12ee7 Mon Sep 17 00:00:00 2001 From: xfy Date: Tue, 26 May 2026 10:31:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=81=A2=E5=A4=8D=E9=A6=96=E9=A1=B5=E8=B7=AF?= =?UTF-8?q?=E7=94=B1=EF=BC=8C=E6=B7=BB=E5=8A=A0=E5=BD=92=E6=A1=A3/?= =?UTF-8?q?=E6=A0=87=E7=AD=BE/=E6=90=9C=E7=B4=A2/=E5=85=B3=E4=BA=8E?= =?UTF-8?q?=E8=B7=AF=E7=94=B1=E5=8D=A0=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - router.rs: / 恢复为 HomePage,新增 /archives /tags /search /about - mod.rs: 导出 home 模块 - theme.rs: ThemeToggle 从浮动按钮改为内联样式 - home.rs: 创建空占位文件 Co-Authored-By: Claude Opus 4.7 (1M context) --- src/pages/home.rs | 8 ++++++++ src/pages/mod.rs | 1 + src/router.rs | 33 +++++++++++++++++++++++++++++++-- src/theme.rs | 2 +- 4 files changed, 41 insertions(+), 3 deletions(-) create mode 100644 src/pages/home.rs diff --git a/src/pages/home.rs b/src/pages/home.rs new file mode 100644 index 0000000..e72cc16 --- /dev/null +++ b/src/pages/home.rs @@ -0,0 +1,8 @@ +use dioxus::prelude::*; + +#[component] +pub fn HomePage() -> Element { + rsx! { + "Home" + } +} diff --git a/src/pages/mod.rs b/src/pages/mod.rs index ed76a34..f23c078 100644 --- a/src/pages/mod.rs +++ b/src/pages/mod.rs @@ -1,3 +1,4 @@ pub mod admin; +pub mod home; pub mod login; pub mod register; diff --git a/src/router.rs b/src/router.rs index 7ca1212..be1acb3 100644 --- a/src/router.rs +++ b/src/router.rs @@ -1,19 +1,29 @@ use dioxus::prelude::*; use crate::pages::admin::AdminPage; +use crate::pages::home::HomePage; use crate::pages::login::LoginPage; use crate::pages::register::RegisterPage; -use crate::theme::{Theme, ThemeToggle, use_theme}; +use crate::theme::{Theme, use_theme}; #[derive(Clone, Routable, Debug, PartialEq)] pub enum Route { #[route("/")] + HomePage {}, #[route("/login")] LoginPage {}, #[route("/register")] RegisterPage {}, #[route("/admin")] AdminPage {}, + #[route("/archives")] + ArchivesPage {}, + #[route("/tags")] + TagsPage {}, + #[route("/search")] + SearchPage {}, + #[route("/about")] + AboutPage {}, } #[component] @@ -27,9 +37,28 @@ pub fn AppRouter() -> Element { rsx! { div { class: theme_class, - ThemeToggle {} Router:: {} } } } +#[component] +pub fn ArchivesPage() -> Element { + rsx! { "Archives" } +} + +#[component] +pub fn TagsPage() -> Element { + rsx! { "Tags" } +} + +#[component] +pub fn SearchPage() -> Element { + rsx! { "Search" } +} + +#[component] +pub fn AboutPage() -> Element { + rsx! { "About" } +} + diff --git a/src/theme.rs b/src/theme.rs index 0227ad2..0b5e291 100644 --- a/src/theme.rs +++ b/src/theme.rs @@ -73,7 +73,7 @@ pub fn ThemeToggle() -> Element { rsx! { button { - class: "fixed top-4 right-4 z-50 p-2 rounded-full bg-gray-200 dark:bg-gray-700 hover:bg-gray-300 dark:hover:bg-gray-600 transition-colors", + class: "theme-toggle p-2 rounded-full bg-gray-200 dark:bg-gray-700 hover:bg-gray-300 dark:hover:bg-gray-600 transition-colors", onclick: move |_| theme.set(theme().toggle()), if theme() == Theme::Dark { "🌙"