fix(admin): 修复后台骨架屏不可见问题
- admin_layout: 移除 (false, _) 分支中的 DelayedSkeleton 包裹,直接渲染 骨架屏并附加 animate-pulse。DelayedSkeleton 依赖 use_effect 延迟 200ms 置 visible=true,但 SSR 不执行 effect,导致服务端 HTML 输出空节点; hydration 后 checked 又会立即置 true 退出该分支,骨架屏窗口趋近于零。 去掉后 SSR HTML 直接包含骨架屏,用户在 WASM 加载 + 身份校验期间可见。 - comments: loading 初始值从 false 改为 true,与 use_paginated hook 保持 一致。旧值导致首帧 loading()=false,骨架屏条件永远不满足。
This commit is contained in:
parent
3eaf330673
commit
53de550d7c
@ -8,7 +8,7 @@ use dioxus::router::components::Link;
|
|||||||
|
|
||||||
use crate::api::auth::{get_current_user, logout};
|
use crate::api::auth::{get_current_user, logout};
|
||||||
use crate::components::admin_skeleton::AdminDashboardSkeleton;
|
use crate::components::admin_skeleton::AdminDashboardSkeleton;
|
||||||
use crate::components::skeletons::delayed_skeleton::DelayedSkeleton;
|
|
||||||
use crate::components::write_skeleton::WriteSkeleton;
|
use crate::components::write_skeleton::WriteSkeleton;
|
||||||
use crate::context::UserContext;
|
use crate::context::UserContext;
|
||||||
use crate::router::Route;
|
use crate::router::Route;
|
||||||
@ -155,8 +155,7 @@ pub fn AdminLayout() -> Element {
|
|||||||
div { class: "flex-1 flex flex-col min-w-0 h-screen p-2 md:p-4",
|
div { class: "flex-1 flex flex-col min-w-0 h-screen p-2 md:p-4",
|
||||||
div { class: "flex-1 bg-[var(--color-paper-theme)] rounded-[2rem] shadow-sm border border-[var(--color-paper-border)] overflow-hidden relative flex flex-col",
|
div { class: "flex-1 bg-[var(--color-paper-theme)] rounded-[2rem] shadow-sm border border-[var(--color-paper-border)] overflow-hidden relative flex flex-col",
|
||||||
main { class: "{main_class}",
|
main { class: "{main_class}",
|
||||||
DelayedSkeleton {
|
div { class: "p-10 animate-pulse",
|
||||||
div { class: "p-10",
|
|
||||||
{
|
{
|
||||||
match route {
|
match route {
|
||||||
Route::Write {} => rsx! { WriteSkeleton {} },
|
Route::Write {} => rsx! { WriteSkeleton {} },
|
||||||
@ -172,4 +171,3 @@ pub fn AdminLayout() -> Element {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|||||||
@ -67,7 +67,7 @@ pub fn AdminCommentsPage(page: i32) -> Element {
|
|||||||
let mut comments: Signal<Vec<AdminComment>> = use_signal(Vec::new);
|
let mut comments: Signal<Vec<AdminComment>> = use_signal(Vec::new);
|
||||||
let mut total: Signal<i64> = use_signal(|| 0);
|
let mut total: Signal<i64> = use_signal(|| 0);
|
||||||
#[allow(unused_mut)]
|
#[allow(unused_mut)]
|
||||||
let mut loading: Signal<bool> = use_signal(|| false);
|
let mut loading: Signal<bool> = use_signal(|| true);
|
||||||
#[allow(unused_mut)]
|
#[allow(unused_mut)]
|
||||||
let mut error: Signal<Option<String>> = use_signal(|| None);
|
let mut error: Signal<Option<String>> = use_signal(|| None);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user