43 lines
1.3 KiB
Rust
43 lines
1.3 KiB
Rust
|
use leptos::*;
|
||
|
use leptos_meta::*;
|
||
|
use leptos_router::*;
|
||
|
|
||
|
#[component]
|
||
|
pub fn App() -> impl IntoView {
|
||
|
provide_meta_context();
|
||
|
|
||
|
view! {
|
||
|
|
||
|
<Stylesheet id="leptos" href="/pkg/portfolio.css"/>
|
||
|
<Link rel="shortcut icon" type_="image/ico" href="/favicon.ico"/>
|
||
|
<Router>
|
||
|
<Routes>
|
||
|
<Route path="" view= move || view! { <Home/> }/>
|
||
|
</Routes>
|
||
|
</Router>
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#[component]
|
||
|
fn Home() -> impl IntoView {
|
||
|
let (count, set_count) = create_signal(0);
|
||
|
|
||
|
view! {
|
||
|
<main class="my-0 mx-auto max-w-3xl text-center">
|
||
|
<h2 class="p-6 text-4xl">"Welcome to Leptos with Tailwind"</h2>
|
||
|
<p class="px-10 pb-10 text-left">"Tailwind will scan your Rust files for Tailwind class names and compile them into a CSS file."</p>
|
||
|
<button
|
||
|
class="bg-amber-600 hover:bg-sky-700 px-5 py-3 text-white rounded-lg"
|
||
|
on:click=move |_| set_count.update(|count| *count += 1)
|
||
|
>
|
||
|
"Something's here | "
|
||
|
{move || if count() == 0 {
|
||
|
"Click me!".to_string()
|
||
|
} else {
|
||
|
count().to_string()
|
||
|
}}
|
||
|
" | Some more text"
|
||
|
</button>
|
||
|
</main>
|
||
|
}
|
||
|
}
|