38 lines
1.1 KiB
Rust
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>
|
|
}
|
|
}
|