Bläddra i källkod

Feat: add css example

Jonathan Kelley 4 år sedan
förälder
incheckning
edf09c1

+ 3 - 1
packages/core/examples/dummy.rs

@@ -52,7 +52,7 @@ impl<'a> Context<'a> {
     fn use_context<'b, I, O: 'b>(&self, f: fn(&'b I) -> O) -> ContextGuard2<O> {
         todo!()
     }
-    fn add_listener(&self, f: impl Fn(()) + 'static) {
+    fn add_listener(&self, f: impl Fn(()) + 'a) {
         todo!()
     }
 
@@ -78,6 +78,8 @@ fn t<'a>(ctx: Context<'a>) {
     ctx.add_listener(move |_| {
         // let val = value.get().as_str();
         let val2 = r2.as_bytes();
+        println!("v2 is {}", r2);
+        // println!("refed is {}", refed);
     });
 
     // let refed = value.deref();

+ 2 - 2
packages/core/src/context.rs

@@ -80,7 +80,7 @@ impl<'a> Context<'a> {
         DomTree {}
     }
 
-    pub fn callback(&self, f: impl Fn(()) + 'static) {}
+    pub fn callback(&self, f: impl Fn(()) + 'a) {}
 
     /// Create a suspended component from a future.
     ///
@@ -188,7 +188,7 @@ mod context_api {
     //!
     use super::*;
 
-    use std::{marker::PhantomPinned, ops::Deref};
+    use std::{marker::PhantomPinned, mem::swap, ops::Deref};
 
     pub struct RemoteState<T> {
         inner: *const T,

+ 6 - 37
packages/web/examples/basic.rs

@@ -1,14 +1,16 @@
 //! basic example that renders a simple domtree to the page :)
-//!
-//!
-//!
-use dioxus_core::prelude::bumpalo::Bump;
+
 use dioxus_core::prelude::*;
 use dioxus_web::*;
 
 fn main() {
+    // Enable logging
     wasm_logger::init(wasm_logger::Config::new(log::Level::Debug));
+
+    // Route panic as console_log
     console_error_panic_hook::set_once();
+
+    // Render the app
     WebsysRenderer::simple_render(html! {
         <div>
             <div class="flex items-center justify-center flex-col">
@@ -18,37 +20,4 @@ fn main() {
             </div>
         </div>
     });
-    // WebsysRenderer::simple_render(html! {
-    //     <div>
-    //         <div class="flex items-center justify-center flex-col">
-    //             <div class="flex items-center justify-center">
-    //                 <div class="flex flex-col bg-white rounded p-4 w-full max-w-xs">
-    //                     // Title
-    //                     <div class="font-bold text-xl">
-    //                         "Jon's awesome site!!11"
-    //                     </div>
-
-    //                     // Subtext / description
-    //                     <div class="text-sm text-gray-500">
-    //                         "He worked so hard on it :)"
-    //                     </div>
-
-    //                     <div class="flex flex-row items-center justify-center mt-6">
-    //                         // Main number
-    //                         <div class="font-medium text-6xl">
-    //                             "1337"
-    //                         </div>
-    //                     </div>
-
-    //                     // Try another
-    //                     <div class="flex flex-row justify-between mt-6">
-    //                         // <a href=format!("http://localhost:8080/fib/{}", other_fib_to_try) class="underline">
-    //                             "Legit made my own React"
-    //                         // </a>
-    //                     </div>
-    //                 </div>
-    //             </div>
-    //         </div>
-    //     </div>
-    // });
 }

+ 45 - 0
packages/web/examples/weather.rs

@@ -0,0 +1,45 @@
+//! basic example that renders a simple domtree to the page :)
+//!
+//!
+//!
+use dioxus_core::prelude::bumpalo::Bump;
+use dioxus_core::prelude::*;
+use dioxus_web::*;
+
+fn main() {
+    wasm_logger::init(wasm_logger::Config::new(log::Level::Debug));
+    console_error_panic_hook::set_once();
+    WebsysRenderer::simple_render(html! {
+        <div>
+            <div class="flex items-center justify-center flex-col">
+                <div class="flex items-center justify-center">
+                    <div class="flex flex-col bg-white rounded p-4 w-full max-w-xs">
+                        // Title
+                        <div class="font-bold text-xl">
+                            "Jon's awesome site!!11"
+                        </div>
+
+                        // Subtext / description
+                        <div class="text-sm text-gray-500">
+                            "He worked so hard on it :)"
+                        </div>
+
+                        <div class="flex flex-row items-center justify-center mt-6">
+                            // Main number
+                            <div class="font-medium text-6xl">
+                                "1337"
+                            </div>
+                        </div>
+
+                        // Try another
+                        <div class="flex flex-row justify-between mt-6">
+                            // <a href=format!("http://localhost:8080/fib/{}", other_fib_to_try) class="underline">
+                                "Legit made my own React"
+                            // </a>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    });
+}

+ 1 - 0
packages/web/src/lib.rs

@@ -36,6 +36,7 @@ use interpreter::PatchMachine;
 ///
 pub struct WebsysRenderer {
     internal_dom: VirtualDom,
+    // Map of handlers
 }
 
 impl WebsysRenderer {