Adding and moving a lot of components.
This is the main thrust of the library. I know it is a lot of changes, but I was running out of time and had to hammer them all in.
This commit is contained in:
@ -7,39 +7,37 @@ use crate::page::Page;
|
||||
|
||||
|
||||
|
||||
const BLOG_CSS: Asset = asset!("/assets/css/blog.css");
|
||||
|
||||
|
||||
|
||||
fn convert_categories(categories: &str) -> HashSet<String>
|
||||
{
|
||||
if categories.is_empty() || categories == "all"
|
||||
{
|
||||
HashSet::new()
|
||||
}
|
||||
else
|
||||
{
|
||||
categories.split('+').map(|s| s.to_string()).collect()
|
||||
}
|
||||
categories
|
||||
.split('+')
|
||||
.filter(|s| !s.is_empty() && *s != "all")
|
||||
.map(str::to_string)
|
||||
.collect()
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// Blog page
|
||||
#[component]
|
||||
pub fn Blog(tag: String) -> Element
|
||||
pub fn Blog(tag: ReadOnlySignal<String>) -> Element
|
||||
{
|
||||
let mut show_all: Signal<bool> =
|
||||
use_signal(|| tag().is_empty() || tag() == "all");
|
||||
|
||||
let mut categories: Signal<HashSet<String>> =
|
||||
use_signal(|| convert_categories(&tag));
|
||||
use_signal(|| convert_categories(&tag()));
|
||||
|
||||
if *categories.read() != convert_categories(&tag)
|
||||
use_effect(move ||
|
||||
{
|
||||
categories.set(convert_categories(&tag));
|
||||
}
|
||||
let new_tags = convert_categories(&tag());
|
||||
categories.set(new_tags);
|
||||
});
|
||||
|
||||
rsx! {
|
||||
document::Stylesheet { href: BLOG_CSS }
|
||||
println!("Blog Categories: {:?}", categories());
|
||||
|
||||
rsx!
|
||||
{
|
||||
main
|
||||
{
|
||||
class: "blog_style",
|
||||
@ -49,12 +47,13 @@ pub fn Blog(tag: String) -> Element
|
||||
|
||||
BlogList
|
||||
{
|
||||
tags: categories
|
||||
tags: categories.clone()
|
||||
}
|
||||
|
||||
TagSelector
|
||||
{
|
||||
toggled_tags: categories
|
||||
show_all: show_all.clone(),
|
||||
toggled_tags: categories.clone()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user