diff --git a/examples/wasm/images/chevron-left-solid-full.svg b/examples/wasm/images/chevron-left-solid-full.svg
new file mode 100644
index 00000000..d0d929bd
--- /dev/null
+++ b/examples/wasm/images/chevron-left-solid-full.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/examples/wasm/images/chevron-right-solid-full.svg b/examples/wasm/images/chevron-right-solid-full.svg
new file mode 100644
index 00000000..b49a79b0
--- /dev/null
+++ b/examples/wasm/images/chevron-right-solid-full.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/examples/wasm/images/logo.svg b/examples/wasm/images/logo.svg
new file mode 100644
index 00000000..0ee5f9aa
--- /dev/null
+++ b/examples/wasm/images/logo.svg
@@ -0,0 +1,73 @@
+
+
+
+
diff --git a/examples/wasm/index.html b/examples/wasm/index.html
index a464033a..be130340 100644
--- a/examples/wasm/index.html
+++ b/examples/wasm/index.html
@@ -1,6 +1,52 @@
-
+
+
+
+
+
+
+
+
+ Xila WASM Example
+
+
+
+
diff --git a/examples/wasm/styles.css b/examples/wasm/styles.css
new file mode 100644
index 00000000..0da438d7
--- /dev/null
+++ b/examples/wasm/styles.css
@@ -0,0 +1,59 @@
+body,
+#sidebar {
+ font-family: "Montserrat", Arial, Helvetica, sans-serif;
+}
+a,
+a:visited,
+a:active {
+ color: #fff;
+ text-decoration: underline;
+}
+#sidebar {
+ position: fixed;
+ left: 0;
+ top: 0;
+ width: 250px;
+ height: 100%;
+ background: #222;
+ color: #fff;
+ padding: 20px 10px 10px 20px;
+ box-shadow: 2px 0 5px rgba(0, 0, 0, 0.2);
+ transform: translateX(-100%);
+ transition: transform 0.3s ease;
+ z-index: 1000;
+}
+a:hover {
+ color: #eee;
+}
+#sidebar.open {
+ transform: translateX(0);
+}
+#sidebar-toggle {
+ position: absolute;
+ left: 100%;
+ top: 50%;
+ transform: translateY(-50%);
+ z-index: 1100;
+ background: #444;
+ color: #fff;
+ border: none;
+ padding: 8px 0 8px 2px;
+ border-radius: 0 6px 6px 0;
+ cursor: pointer;
+ width: 32px;
+ height: 48px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 1.5em;
+ box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.15);
+ transition: left 0.3s;
+}
+/* Removed rule that moves the toggle button when sidebar is open */
+#sidebar h2 {
+ margin-top: 0;
+ font-size: 1.2em;
+}
+#sidebar ul {
+ padding-left: 18px;
+}
diff --git a/executables/settings/src/settings.rs b/executables/settings/src/settings.rs
index 3ddc743a..b9119744 100644
--- a/executables/settings/src/settings.rs
+++ b/executables/settings/src/settings.rs
@@ -47,9 +47,7 @@ impl Settings {
];
for tab in &mut tabs {
- tab.create_ui(tabview)
- .await
- .expect("Failed to create tab UI");
+ tab.create_ui(tabview).await?;
}
let manager = Self { window, tabs };
diff --git a/modules/virtual_file_system/src/hierarchy.rs b/modules/virtual_file_system/src/hierarchy.rs
index 3c54ee0c..f651b02d 100644
--- a/modules/virtual_file_system/src/hierarchy.rs
+++ b/modules/virtual_file_system/src/hierarchy.rs
@@ -32,6 +32,7 @@ pub async fn create_default_hierarchy(
Path::BINARIES,
Path::TEMPORARY,
Path::LOGS,
+ Path::NETWORK_DEVICES,
];
for path in paths {