Files
mnote/rust/crates/mnote-web/src/ssr/pages/mindmap.rs
T

38 lines
1.1 KiB
Rust

//! MNOTE 思维导图页面组件 (SSR)
//!
//! 提供思维导图页面的服务器端渲染壳。
//! 外部手写 `<body>` 包装和 `<script>` 数据嵌入由路由 handler 处理。
use leptos::prelude::*;
use super::layout::PageLayout;
/// MNOTE 思维导图页面
///
/// 渲染思维导图的 SSR 壳结构:
/// - `<main id="mnote-mindmap-shell" data-object-shell="mindmap">`
/// - 思维导图标题区域
/// - React 运行时挂载占位区
#[component]
pub fn MindmapPage(
/// 文档 ID
document_id: String,
/// 思维导图 ID
mindmap_id: String,
) -> impl IntoView {
view! {
<PageLayout current_nav="documents">
<main
id="mnote-mindmap-shell"
data-object-shell="mindmap"
data-document-id={document_id}
data-mindmap-id={mindmap_id}
>
<header>
<h1>{"思维导图"}</h1>
</header>
<section id="mnote-mindmap-island" data-react-island="mindmap_runtime"></section>
</main>
</PageLayout>
}
}