mirror of
https://github.com/DioxusLabs/dioxus
synced 2025-02-17 06:08:26 +00:00
Add some logging and debug
This commit is contained in:
parent
ea3b199eb2
commit
10a3b228f6
3 changed files with 49 additions and 17 deletions
12
examples/mobile_demo/src/index.html
Normal file
12
examples/mobile_demo/src/index.html
Normal file
|
@ -0,0 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Dioxus app</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
|
||||
<!-- CUSTOM HEAD -->
|
||||
</head>
|
||||
<body>
|
||||
<div id="main"></div>
|
||||
<!-- MODULE LOADER -->
|
||||
</body>
|
||||
</html>
|
|
@ -1,15 +1,8 @@
|
|||
use anyhow::Result;
|
||||
use dioxus::prelude::*;
|
||||
use dioxus_desktop::Config;
|
||||
#[cfg(target_os = "android")]
|
||||
use wry::android_binding;
|
||||
use wry::{
|
||||
application::{
|
||||
event::{Event, StartCause, WindowEvent},
|
||||
event_loop::{ControlFlow, EventLoop, EventLoopWindowTarget},
|
||||
window::WindowBuilder,
|
||||
},
|
||||
http::Response,
|
||||
webview::{WebView, WebViewBuilder},
|
||||
};
|
||||
|
||||
#[cfg(target_os = "android")]
|
||||
fn init_logging() {
|
||||
|
@ -54,13 +47,40 @@ pub extern "C" fn start_app() {
|
|||
pub fn main() -> Result<()> {
|
||||
init_logging();
|
||||
|
||||
use dioxus::prelude::*;
|
||||
|
||||
dioxus_desktop::launch(|cx| {
|
||||
cx.render(rsx! {
|
||||
"hello world!"
|
||||
})
|
||||
});
|
||||
// Right now we're going through dioxus-desktop but we'd like to go through dioxus-mobile
|
||||
// That will seed the index.html with some fixes that prevent the page from scrolling/zooming etc
|
||||
dioxus_desktop::launch_cfg(
|
||||
app,
|
||||
// Note that we have to disable the viewport goofiness of the browser.
|
||||
// Dioxus_mobile should do this for us
|
||||
Config::default().with_custom_index(include_str!("index.html").to_string()),
|
||||
);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn app(cx: Scope) -> Element {
|
||||
let items = cx.use_hook(|| vec![1, 2, 3]);
|
||||
|
||||
log::debug!("Hello from the app");
|
||||
|
||||
render! {
|
||||
div {
|
||||
h1 { "Hello, Mobile"}
|
||||
div { margin_left: "auto", margin_right: "auto", width: "200px", padding: "10px", border: "1px solid black",
|
||||
button {
|
||||
onclick: move|_| {
|
||||
println!("Clicked!");
|
||||
items.push(items.len());
|
||||
cx.needs_update_any(ScopeId(0));
|
||||
println!("Requested update");
|
||||
},
|
||||
"Add item"
|
||||
}
|
||||
for item in items.iter() {
|
||||
div { "- {item}" }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ pub(crate) struct ElementRef {
|
|||
pub template: Option<NonNull<VNode<'static>>>,
|
||||
}
|
||||
|
||||
#[derive(Clone, Copy)]
|
||||
#[derive(Clone, Copy, Debug)]
|
||||
pub enum ElementPath {
|
||||
Deep(&'static [u8]),
|
||||
Root(usize),
|
||||
|
|
Loading…
Add table
Reference in a new issue