Add github button

This commit is contained in:
Spxg
2025-05-18 21:25:08 +08:00
parent d0c7cbc980
commit a5f6396497
3 changed files with 34 additions and 2 deletions

View File

@@ -85,3 +85,12 @@ where
</button>
}
}
#[component]
pub fn LinkButton(href: String, children: Children) -> impl IntoView {
view! {
<a class=styles::icon href=href target="_blank">
{children()}
</a>
}
}

View File

@@ -10,10 +10,10 @@ use crate::{
app::{
ImportProgress,
advanced_options_menu::AdvancedOptionsMenu,
button_set::{Button, ButtonSet, IconButton, Rule},
button_set::{Button, ButtonSet, IconButton, LinkButton, Rule},
config_menu::ConfigMenu,
context_menu::ContextMenu,
icon::{build_icon, config_icon, expandable_icon, more_options_icon},
icon::{build_icon, config_icon, expandable_icon, github_icon, more_options_icon},
output::change_focus,
pop_button::PopButton,
state::{Focus, GlobalState, GlobalStateStoreFields},
@@ -58,6 +58,10 @@ pub fn Header() -> impl IntoView {
<ButtonSet>
<ConfigMenuButton menu_container=menu_container />
</ButtonSet>
<ButtonSet>
<GithubButton />
</ButtonSet>
</div>
</div>
<div node_ref=menu_container></div>
@@ -368,3 +372,8 @@ fn ShareButton() -> impl IntoView {
view! { <Button on_click=click>"Share"</Button> }
}
#[component]
fn GithubButton() -> impl IntoView {
view! { <LinkButton href="https://github.com/Spxg/sqlight".into()>{github_icon()}</LinkButton> }
}

View File

@@ -93,3 +93,17 @@ pub fn more_options_icon() -> AnyView {
</svg>
}.into_any()
}
pub fn github_icon() -> AnyView {
view! {
<svg
class=styles::icon
height="18"
viewBox="0 0 24 24"
width="18"
xmlns="http://www.w3.org/2000/svg"
>
<path d="M10.9,2.1c-4.6,0.5-8.3,4.2-8.8,8.7c-0.5,4.7,2.2,8.9,6.3,10.5C8.7,21.4,9,21.2,9,20.8v-1.6c0,0-0.4,0.1-0.9,0.1 c-1.4,0-2-1.2-2.1-1.9c-0.1-0.4-0.3-0.7-0.6-1C5.1,16.3,5,16.3,5,16.2C5,16,5.3,16,5.4,16c0.6,0,1.1,0.7,1.3,1c0.5,0.8,1.1,1,1.4,1 c0.4,0,0.7-0.1,0.9-0.2c0.1-0.7,0.4-1.4,1-1.8c-2.3-0.5-4-1.8-4-4c0-1.1,0.5-2.2,1.2-3C7.1,8.8,7,8.3,7,7.6c0-0.4,0-0.9,0.2-1.3 C7.2,6.1,7.4,6,7.5,6c0,0,0.1,0,0.1,0C8.1,6.1,9.1,6.4,10,7.3C10.6,7.1,11.3,7,12,7s1.4,0.1,2,0.3c0.9-0.9,2-1.2,2.5-1.3 c0,0,0.1,0,0.1,0c0.2,0,0.3,0.1,0.4,0.3C17,6.7,17,7.2,17,7.6c0,0.8-0.1,1.2-0.2,1.4c0.7,0.8,1.2,1.8,1.2,3c0,2.2-1.7,3.5-4,4 c0.6,0.5,1,1.4,1,2.3v2.6c0,0.3,0.3,0.6,0.7,0.5c3.7-1.5,6.3-5.1,6.3-9.3C22,6.1,16.9,1.4,10.9,2.1z" />
</svg>
}.into_any()
}