diff --git a/Makefile b/Makefile index b7ce29b..3ba1942 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -.PHONY: all clean doc doc-open examples examples-release fmt fmt-check linter prepare pre-commit serve test +.PHONY: all clean doc doc-open examples examples-release fmt fmt-check fmt-leptos linter prepare pre-commit serve test all: @echo ──────────── Build release ──────────────────── @@ -21,13 +21,17 @@ examples: @./scripts/examples.sh examples-release: - @echo ──────────── Build release examples ─────────────────── + @echo ──────────── Build release examples ─────────── @./scripts/examples.sh release fmt: @echo ──────────── Format ─────────────────────────── @cargo fmt --all +fmt-leptos: + @echo ──────────── Format Leptos ──────────────────── + @find src -name "*.rs" -exec leptosfmt {} \; + fmt-check: @echo ──────────── Check format ───────────────────── @cargo fmt --all -- --check diff --git a/dist/index.html b/dist/index.html index ea7404a..6eb2cfb 100644 --- a/dist/index.html +++ b/dist/index.html @@ -67,6 +67,10 @@

⚠️ Work in progress!

Rows & Columns (source) +
  • + Text + (source) +
  • Blur (source) diff --git a/examples/logo.svg b/examples/logo.svg new file mode 100644 index 0000000..0ce6443 --- /dev/null +++ b/examples/logo.svg @@ -0,0 +1 @@ + diff --git a/examples/ng_svg.rs b/examples/ng_svg.rs index 50ead15..d689713 100644 --- a/examples/ng_svg.rs +++ b/examples/ng_svg.rs @@ -6,12 +6,12 @@ pub fn SvgExample() -> impl IntoView { view! { - {include!("logo-ng.svg-rs")} + {include!("logo-ng.svg-rs")} {include!("logo-ng.svg-rs")} - {include!("logo-ng.svg-rs")} + {include!("logo-ng.svg-rs")} {include!("logo-ng.svg-rs")} { include!("logo-ng.svg-rs")} diff --git a/examples/ng_text.rs b/examples/ng_text.rs index 33127d0..5f9d092 100644 --- a/examples/ng_text.rs +++ b/examples/ng_text.rs @@ -1,64 +1,34 @@ -use lerni::widgets::*; -use wasm_bindgen::prelude::wasm_bindgen; -use yew::prelude::*; +use leptos::*; +use lerni::ng::*; -#[function_component] -pub fn TextExample() -> Html { - let words_read1 = use_state(|| 0); - let read1 = use_state(|| "".to_string()); - let onread1 = { - let words_read1 = words_read1.clone(); - let read1 = read1.clone(); - Callback::from(move |(words_read, letters, total)| { - words_read1.set(words_read); - read1.set(format!("{letters} / {total}")); - }) - }; +#[component] +pub fn TextExample() -> impl IntoView { + let (words_read1, _) = create_signal(0); + let (words_read2, _) = create_signal(0); + let (words_read3, _) = create_signal(0); - let words_read2 = use_state(|| 0); - let read2 = use_state(|| "".to_string()); - let onread2 = { - let words_read2 = words_read2.clone(); - let read2 = read2.clone(); - Callback::from(move |(words_read, letters, total)| { - words_read2.set(words_read); - read2.set(format!("{letters} / {total}")); - }) - }; - - let words_read3 = use_state(|| 0); - let read3 = use_state(|| "".to_string()); - let onread3 = { - let words_read3 = words_read3.clone(); - let read3 = read3.clone(); - Callback::from(move |(words_read, letters, total)| { - words_read3.set(words_read); - read3.set(format!("{letters} / {total}")); - }) - }; - - html! { + view! { - - - + + + { "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." } { "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat." } - - - + + { "Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." } { "Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." } - @@ -67,5 +37,5 @@ pub fn TextExample() -> Html { #[wasm_bindgen(start)] pub fn main() { - lerni::start::(); + lerni::ng::start(TextExample); } diff --git a/src/ng.rs b/src/ng.rs index 1651c3d..9114e49 100644 --- a/src/ng.rs +++ b/src/ng.rs @@ -33,7 +33,10 @@ mod slideshow; pub use slideshow::SlideShow; mod svg; -pub use svg::Svg; +pub use svg::{Svg, SvgFile}; + +mod text; +pub use text::Text; use leptos::*; diff --git a/src/ng/slideshow.rs b/src/ng/slideshow.rs index c76030a..5133dcd 100644 --- a/src/ng/slideshow.rs +++ b/src/ng/slideshow.rs @@ -111,11 +111,7 @@ fn Pagination(page: RwSignal, count: usize) -> impl IntoView { } #[component] -fn PageButton( - index: usize, - prev: Option, - current: RwSignal, -) -> impl IntoView { +fn PageButton(index: usize, prev: Option, current: RwSignal) -> impl IntoView { view! { <>