Updated dependencies so dioxus will run again; Fixed some issues with the dioxus build.
This commit is contained in:
parent
06370ffa85
commit
95dec6138b
2
public/styles/tailwind.min.css
vendored
2
public/styles/tailwind.min.css
vendored
File diff suppressed because one or more lines are too long
@ -19,6 +19,10 @@ dioxus-helmet = "0.2.4"
|
|||||||
dioxus-use-storage = "0.3.0"
|
dioxus-use-storage = "0.3.0"
|
||||||
rand = "0.8.5"
|
rand = "0.8.5"
|
||||||
|
|
||||||
|
[dependencies.getrandom]
|
||||||
|
version = "0.2.9"
|
||||||
|
features = ["js"]
|
||||||
|
|
||||||
[dependencies.serde]
|
[dependencies.serde]
|
||||||
version = "1.0.160"
|
version = "1.0.160"
|
||||||
features = ["derive"]
|
features = ["derive"]
|
||||||
|
@ -14,7 +14,7 @@ pub fn RenderContent(cx: Scope<ContentProps>) -> Element {
|
|||||||
});
|
});
|
||||||
#[cfg(target_family = "wasm")]
|
#[cfg(target_family = "wasm")]
|
||||||
return cx.render(rsx!{
|
return cx.render(rsx!{
|
||||||
div { class: "flex p-4 ml-2 mr-2 ring-4",
|
div { class: "flex p-4 md:pl-8 md:pr-8 ml-2 mr-2 text-lg text-center ring-4 {user_theme} {user_font}",
|
||||||
dangerous_inner_html: "{content}",
|
dangerous_inner_html: "{content}",
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -33,21 +33,19 @@ pub mod void_app {
|
|||||||
|
|
||||||
#[cfg(target_family = "wasm")]
|
#[cfg(target_family = "wasm")]
|
||||||
pub fn DioxusApp(cx: Scope) -> Element {
|
pub fn DioxusApp(cx: Scope) -> Element {
|
||||||
// use dioxus_router::Redirect;
|
let mut poem_database = PoemDatabase::new();
|
||||||
|
poem_database.build_poem_database();
|
||||||
|
|
||||||
let user_prefs = UserPrefs::new(ThemePref::Auto, FontPref::OpenDyslexic);
|
let user_prefs = UserPrefs::new(ThemePref::Auto, FontPref::OpenDyslexic);
|
||||||
|
|
||||||
cx.render(rsx! {
|
cx.render(rsx! {
|
||||||
div { class: "bg-alice-werefox-grey-lightest ring-alice-werefox-red-dark text-alice-werefox-grey-dark dark:bg-alice-werefox-grey-dark dark:ring-alice-werefox-red dark:text-alice-werefox-grey-light let button_classes hover:text-alice-werefox-blue-dark hover:ring-alice-werefox-blue dark:hover:text-alice-werefox-blue-light dark:hover:ring-alice-werefox-blue hover:animate-yip transition" }
|
|
||||||
Router {
|
Router {
|
||||||
Route { to: "/",
|
Route { to: "/", HomePage { slug: "/".to_string(), poem_database: poem_database.clone(), user_prefs: user_prefs.clone(), } }
|
||||||
self::HomePage { user_prefs }
|
Route { to: "/poems", PoemListPage { slug: "/poems".to_string(), poem_database: poem_database.clone(), user_prefs: user_prefs.clone(), } }
|
||||||
}
|
Route { to: "/poems/:slug", PoemPage { slug: "".to_string(), poem_database: poem_database.clone(), user_prefs: user_prefs.clone(), } }
|
||||||
Route { to: "/poems", PoemListPage { user_prefs } }
|
Route { to: "/settings", SettingsPage { theme: user_prefs.clone().get_theme(), font: user_prefs.clone().get_font() } }
|
||||||
Route { to: "/poems/:slug", PoemPage { slug: "".to_string(), user_prefs } }
|
Route { to: "/settings/dark", SettingsPage { theme: user_prefs.clone().get_theme(), font: user_prefs.clone().get_font() } }
|
||||||
Route { to: "/settings", SettingsPage { user_prefs } }
|
Route { to: "/settings/font", SettingsPage { theme: user_prefs.clone().get_theme(), font: user_prefs.clone().get_font() } }
|
||||||
Route { to: "/settings/dark", SettingsPage { user_prefs } }
|
|
||||||
Route { to: "/settings/font", SettingsPage { user_prefs } }
|
|
||||||
Route { to: "", PageNotFound {} }
|
Route { to: "", PageNotFound {} }
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -107,7 +105,12 @@ pub mod void_app {
|
|||||||
let user_prefs = cx.props.user_prefs.clone();
|
let user_prefs = cx.props.user_prefs.clone();
|
||||||
let (user_theme, user_font) = user_prefs.get_pref_classes(ThemedComponent::Page);
|
let (user_theme, user_font) = user_prefs.get_pref_classes(ThemedComponent::Page);
|
||||||
#[cfg(any(target_family = "unix", target_family = "windows"))]
|
#[cfg(any(target_family = "unix", target_family = "windows"))]
|
||||||
let slug = &cx.props.slug.as_ref().expect("A slug was given in the pops.").clone();
|
let slug = &cx
|
||||||
|
.props
|
||||||
|
.slug
|
||||||
|
.as_ref()
|
||||||
|
.expect("A slug was given in the pops.")
|
||||||
|
.clone();
|
||||||
#[cfg(target_family = "wasm")]
|
#[cfg(target_family = "wasm")]
|
||||||
let slug = String::from(
|
let slug = String::from(
|
||||||
dioxus_router::use_route(cx)
|
dioxus_router::use_route(cx)
|
||||||
|
@ -21,6 +21,7 @@ impl PoemDatabase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// There's no need to actually make a database yet, but maybe in the future...
|
// There's no need to actually make a database yet, but maybe in the future...
|
||||||
|
#[cfg(any(target_family = "unix", target_family = "windows"))]
|
||||||
pub async fn build_poem_database(&mut self) {
|
pub async fn build_poem_database(&mut self) {
|
||||||
for p in Poems::iter() {
|
for p in Poems::iter() {
|
||||||
let filename = p.to_string();
|
let filename = p.to_string();
|
||||||
@ -48,6 +49,36 @@ impl PoemDatabase {
|
|||||||
}
|
}
|
||||||
self.poem_list.sort_by_key(|k| k.0.clone())
|
self.poem_list.sort_by_key(|k| k.0.clone())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(any(target_family = "wasm"))]
|
||||||
|
pub fn build_poem_database(&mut self) {
|
||||||
|
for p in Poems::iter() {
|
||||||
|
let filename = p.to_string();
|
||||||
|
let poem_content = Poems::get(&filename).expect("Found poem {filename:?}");
|
||||||
|
let mut poem_to_str = std::str::from_utf8(poem_content.data.as_ref())
|
||||||
|
.expect("Poem is valid UT8.")
|
||||||
|
.lines();
|
||||||
|
let poem_title = poem_to_str.next().expect("No title specified.");
|
||||||
|
let poem_content = poem_to_str.into_iter().collect::<Vec<&str>>().join("\n");
|
||||||
|
let poem_title_to_html_string =
|
||||||
|
markdown::to_html_with_options(poem_title, &Options::gfm()).unwrap();
|
||||||
|
let poem_content_to_html_string =
|
||||||
|
markdown::to_html_with_options(poem_content.as_str(), &Options::gfm()).unwrap();
|
||||||
|
let mut split_filename = filename.trim_end_matches(".md").split("_");
|
||||||
|
let creation_date = split_filename.next().expect("Obtained creation date");
|
||||||
|
let slug = split_filename.next().expect("Obtained slug");
|
||||||
|
self.poem_list
|
||||||
|
.push((creation_date.to_string(), slug.to_string()));
|
||||||
|
let poem_struct = PoemStruct {
|
||||||
|
title: poem_title_to_html_string.to_string(),
|
||||||
|
content: poem_content_to_html_string,
|
||||||
|
creation_date: creation_date.to_string(),
|
||||||
|
};
|
||||||
|
self.poem_hashmap.insert(slug.to_string(), poem_struct);
|
||||||
|
}
|
||||||
|
self.poem_list.sort_by_key(|k| k.0.clone())
|
||||||
|
}
|
||||||
|
|
||||||
pub fn get_poem(&self, slug: String) -> PoemStruct {
|
pub fn get_poem(&self, slug: String) -> PoemStruct {
|
||||||
self.poem_hashmap
|
self.poem_hashmap
|
||||||
.get(slug.as_str())
|
.get(slug.as_str())
|
||||||
@ -133,7 +164,7 @@ impl PoemDatabase {
|
|||||||
None => format!("/poems/{current}"),
|
None => format!("/poems/{current}"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// #[cfg(not(target_family = "wasm"))]
|
||||||
pub fn get_random_entry(&self) -> String {
|
pub fn get_random_entry(&self) -> String {
|
||||||
let poem_list = self.poem_list.clone();
|
let poem_list = self.poem_list.clone();
|
||||||
let mut rng = rand::thread_rng();
|
let mut rng = rand::thread_rng();
|
||||||
@ -142,6 +173,7 @@ impl PoemDatabase {
|
|||||||
.expect("Got a valid entry")
|
.expect("Got a valid entry")
|
||||||
.1
|
.1
|
||||||
.clone();
|
.clone();
|
||||||
|
// let random_entry = "introductions";
|
||||||
format!("/poems/{random_entry}")
|
format!("/poems/{random_entry}")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user