diff --git a/src/app.rs b/src/app.rs
deleted file mode 100644
index fa6d733..0000000
--- a/src/app.rs
+++ /dev/null
@@ -1,99 +0,0 @@
-use crate::error_template::{AppError, ErrorTemplate};
-use leptos::*;
-use leptos_meta::*;
-use leptos_router::*;
-use serde::{Deserialize, Serialize};
-#[cfg(feature = "ssr")]
-use sqlx::FromRow;
-use uuid::Uuid;
-
-#[component]
-pub fn App() -> impl IntoView {
- // Provides context that manages stylesheets, titles, meta tags, etc.
- provide_meta_context();
-
- view! {
-
-
- // injects a stylesheet into the document
- // id=leptos means cargo-leptos will hot-reload this stylesheet
-
-
-
- // sets the document title
-
-
- // content for this welcome page
-
- }
- .into_view()
- }>
-
-
-
-
-
-
- }
-}
-
-#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
-#[cfg_attr(feature = "ssr", derive(FromRow))]
-struct Series {
- id: Uuid,
- name: String,
-}
-
-#[server]
-pub async fn get_all() -> Result, ServerFnError> {
- use sqlx::{Pool, Postgres};
- use tokio_stream::StreamExt;
-
- let pool: Pool = expect_context();
-
- let mut r = sqlx::query_as::<_, Series>("select * from series;").fetch(&pool);
-
- let mut found = Vec::new();
- while let Some(series) = r.try_next().await? {
- found.push(series.name);
- }
-
- Ok(found)
-}
-
-/// Renders the home page of your application.
-#[component]
-fn HomePage() -> impl IntoView {
- // Creates a reactive value to update the button
- let load = create_resource(|| (), |_| async move { get_all().await });
-
- view! {
- "What We're Watching"
-
- "Loading..."
}>
-
- {load().map(format_series)}
-
-
-
- }
-}
-
-fn format_series(data: Result, ServerFnError>) -> Vec {
- data.unwrap_or_default()
- .into_iter()
- .map(|d| {
- view! {
- {d}
- }
- })
- .collect::>()
-}
diff --git a/src/app/home.rs b/src/app/home.rs
new file mode 100644
index 0000000..7b1b65a
--- /dev/null
+++ b/src/app/home.rs
@@ -0,0 +1,18 @@
+use super::series::SeriesList;
+use leptos::*;
+use leptos_router::*;
+
+#[component]
+pub fn HomePage() -> impl IntoView {
+ view! {
+ "What We're Watching"
+
+ }
+}
diff --git a/src/app/mod.rs b/src/app/mod.rs
new file mode 100644
index 0000000..c92f1b1
--- /dev/null
+++ b/src/app/mod.rs
@@ -0,0 +1,53 @@
+use self::{
+ home::HomePage,
+ series::{add::AddSeries, view::ViewSeries},
+};
+use crate::error_template::{AppError, ErrorTemplate};
+use leptos::*;
+use leptos_meta::*;
+use leptos_router::*;
+
+mod home;
+mod series;
+
+#[component]
+pub fn App() -> impl IntoView {
+ // Provides context that manages stylesheets, titles, meta tags, etc.
+ provide_meta_context();
+
+ view! {
+
+
+ // injects a stylesheet into the document
+ // id=leptos means cargo-leptos will hot-reload this stylesheet
+
+
+
+ // sets the document title
+
+
+ // content for this welcome page
+
+ }
+ .into_view()
+ }>
+
+
+
+
+
+
+
+
+
+
+ }
+}
diff --git a/src/app/series/add.rs b/src/app/series/add.rs
new file mode 100644
index 0000000..a25a28e
--- /dev/null
+++ b/src/app/series/add.rs
@@ -0,0 +1,15 @@
+use leptos::*;
+
+#[component]
+pub fn AddSeries() -> impl IntoView {
+ view! {
+
+
+
Add Series
+
+
+ To Do
+
+
+ }
+}
diff --git a/src/app/series/mod.rs b/src/app/series/mod.rs
new file mode 100644
index 0000000..60015b2
--- /dev/null
+++ b/src/app/series/mod.rs
@@ -0,0 +1,71 @@
+use leptos::*;
+use leptos_router::*;
+use serde::{Deserialize, Serialize};
+#[cfg(feature = "ssr")]
+use sqlx::FromRow;
+use uuid::Uuid;
+
+pub mod add;
+pub mod view;
+
+#[component]
+pub fn SeriesList() -> impl IntoView {
+ let load = create_resource(|| (), |_| async move { get_all().await });
+ view! {
+ "Loading..." }>
+
+ {load().map(format_series)}
+
+
+
+ }
+}
+
+fn format_series(data: Result, ServerFnError>) -> impl IntoView {
+ data.unwrap_or_default()
+ .into_iter()
+ .map(|d| {
+ view! {
+
+
+ View Series
+
+ {d.name}
+
+ }
+ })
+ .collect_view()
+}
+
+#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
+#[cfg_attr(feature = "ssr", derive(FromRow))]
+pub struct Series {
+ id: Uuid,
+ name: String,
+}
+
+#[server]
+pub async fn get_all() -> Result, ServerFnError> {
+ use sqlx::{Pool, Postgres};
+ use tokio_stream::StreamExt;
+
+ let pool: Pool = expect_context();
+
+ let mut r = sqlx::query_as::<_, Series>("select * from series;").fetch(&pool);
+
+ let mut found = Vec::new();
+ while let Some(series) = r.try_next().await? {
+ found.push(series);
+ }
+
+ Ok(found)
+}
diff --git a/src/app/series/view.rs b/src/app/series/view.rs
new file mode 100644
index 0000000..d9f6353
--- /dev/null
+++ b/src/app/series/view.rs
@@ -0,0 +1,15 @@
+use leptos::*;
+
+#[component]
+pub fn ViewSeries() -> impl IntoView {
+ view! {
+
+
+
View Series
+
+
+ View Series
+
+
+ }
+}