-
-
- {move || if active_tab.get() == "settings" {
- view! {
-
-
"Settings"
-
-
-
-
-
-
- }.into_view()
- } else {
- view! {
}.into_view()
- }}
+
+ // Toolbar at the top
+
-
+
+ // Sidebar on the left
+
+
+ // Main Content Area
+
+
+
- // Add Torrent Modal (Inlined)
-
-
-
+ // Status Bar at the bottom
+
}
}
diff --git a/frontend/src/components/layout/mod.rs b/frontend/src/components/layout/mod.rs
new file mode 100644
index 0000000..dab70fb
--- /dev/null
+++ b/frontend/src/components/layout/mod.rs
@@ -0,0 +1,3 @@
+pub mod sidebar;
+pub mod toolbar;
+pub mod statusbar;
diff --git a/frontend/src/components/layout/sidebar.rs b/frontend/src/components/layout/sidebar.rs
new file mode 100644
index 0000000..eb95f58
--- /dev/null
+++ b/frontend/src/components/layout/sidebar.rs
@@ -0,0 +1,65 @@
+use leptos::*;
+
+#[component]
+pub fn Sidebar() -> impl IntoView {
+ view! {
+
+ }
+}
diff --git a/frontend/src/components/layout/statusbar.rs b/frontend/src/components/layout/statusbar.rs
new file mode 100644
index 0000000..c4ee9a5
--- /dev/null
+++ b/frontend/src/components/layout/statusbar.rs
@@ -0,0 +1,35 @@
+use leptos::*;
+
+#[component]
+pub fn StatusBar() -> impl IntoView {
+ view! {
+
+ }
+}
diff --git a/frontend/src/components/layout/toolbar.rs b/frontend/src/components/layout/toolbar.rs
new file mode 100644
index 0000000..ed015a4
--- /dev/null
+++ b/frontend/src/components/layout/toolbar.rs
@@ -0,0 +1,48 @@
+use leptos::*;
+
+#[component]
+pub fn Toolbar() -> impl IntoView {
+ view! {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ }
+}
diff --git a/frontend/src/components/mod.rs b/frontend/src/components/mod.rs
index e00000a..a98eab0 100644
--- a/frontend/src/components/mod.rs
+++ b/frontend/src/components/mod.rs
@@ -1,7 +1,4 @@
pub mod modal;
pub mod context_menu;
-pub mod toolbar;
-pub mod sidebar;
-pub mod status_bar;
-pub mod torrent_table;
-
+pub mod layout;
+pub mod torrent;
diff --git a/frontend/src/components/modal.rs b/frontend/src/components/modal.rs
index 06dff21..05f5746 100644
--- a/frontend/src/components/modal.rs
+++ b/frontend/src/components/modal.rs
@@ -6,7 +6,7 @@ pub fn Modal(
children: Children,
#[prop(into)] on_confirm: Callback<()>,
#[prop(into)] on_cancel: Callback<()>,
- #[prop(into)] is_open: MaybeSignal
,
+ #[prop(into)] visible: Signal,
#[prop(into, default = "Confirm".to_string())] confirm_text: String,
#[prop(into, default = "Cancel".to_string())] cancel_text: String,
#[prop(into, default = false)] is_danger: bool,
@@ -20,7 +20,7 @@ pub fn Modal(
let cancel_text = store_value(cancel_text);
view! {
-
+