Преглед изворни кода

Make magnansis a feature for examples

Jonathan Kelley пре 1 година
родитељ
комит
b8adfb9293
2 измењених фајлова са 13 додато и 4 уклоњено
  1. 8 4
      examples/custom_assets.rs
  2. 5 0
      examples/file_explorer.rs

+ 8 - 4
examples/custom_assets.rs

@@ -1,5 +1,11 @@
 use dioxus::prelude::*;
 
+#[cfg(not(feature = "collect-assets"))]
+static ASSET_PATH: &str = "examples/assets/logo.png";
+
+#[cfg(feature = "collect-assets")]
+static ASSET_PATH: &str = manganis::mg!(image("examples/assets/logo.png").format(ImageType::Avif));
+
 fn main() {
     launch_desktop(app);
 }
@@ -7,10 +13,8 @@ fn main() {
 fn app() -> Element {
     rsx! {
         div {
-            p {
-                "This should show an image:"
-            }
-            img { src: manganis::mg!(image("examples/assets/logo.png").format(ImageType::Avif)).to_string() }
+            p { "This should show an image:" }
+            img { src: ASSET_PATH.to_string() }
         }
     }
 }

+ 5 - 0
examples/file_explorer.rs

@@ -17,6 +17,10 @@ fn main() {
         .launch(app)
 }
 
+#[cfg(not(feature = "collect-assets"))]
+const _STYLE: &str = include_str!("../examples/assets/fileexplorer.css");
+
+#[cfg(feature = "collect-assets")]
 const _STYLE: &str = manganis::mg!(file("./examples/assets/fileexplorer.css"));
 
 fn app() -> Element {
@@ -31,6 +35,7 @@ fn app() -> Element {
                 span { }
                 i { class: "material-icons", onclick: move |_| files.write().go_up(), "logout" }
             }
+            style { "{_STYLE}" }
             main {
                 {files.read().path_names.iter().enumerate().map(|(dir_id, path)| {
                     let path_end = path.split('/').last().unwrap_or(path.as_str());