Add sqlite internal tool

This commit is contained in:
Spxg
2025-05-28 23:32:32 +08:00
parent da927eadb4
commit b3f51ff2b2
2 changed files with 12 additions and 1 deletions

View File

@@ -271,6 +271,9 @@ fn ToolsButton(menu_container: NodeRef<html::element::Div>) -> impl IntoView {
on_embed=move |e| {
on_embed(e, signal);
}
on_internal=move |_| {
signal.set(false);
}
/>
}
.into_any()

View File

@@ -4,10 +4,11 @@ use web_sys::MouseEvent;
use crate::app::{button_menu_item::ButtonMenuItem, menu_aside::MenuAside, menu_group::MenuGroup};
#[component]
pub fn ToolsMenu<F, E>(on_format: F, on_embed: E) -> impl IntoView
pub fn ToolsMenu<F, E, I>(on_format: F, on_embed: E, on_internal: I) -> impl IntoView
where
F: Fn(MouseEvent) + Send + 'static,
E: Fn(MouseEvent) + Send + 'static,
I: Fn(MouseEvent) + Send + 'static,
{
view! {
<MenuGroup title="Tools".into()>
@@ -17,6 +18,13 @@ where
<ButtonMenuItem name="Embed Query Result".into() on_click=on_embed>
<MenuAside>"https://crates.io/crates/prettytable-rs"</MenuAside>
</ButtonMenuItem>
<a href="https://sqlite-internal.pages.dev" target="_blank">
<ButtonMenuItem name="SQLite internal".into() on_click=on_internal>
<MenuAside>
"This tool helps you explore the SQLite file format internals"
</MenuAside>
</ButtonMenuItem>
</a>
</MenuGroup>
}
}