diff --git a/Cargo.lock b/Cargo.lock index c8b84b4..e4abab3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -351,7 +351,6 @@ version = "0.1.0" dependencies = [ "maud", "rocket", - "rocket_session", "serde", "sqlx", ] @@ -1430,17 +1429,6 @@ dependencies = [ "uncased", ] -[[package]] -name = "rocket_session" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a1a0f6637aba596ac1975584479638b9350d54187f4c745584d046b3dd1ea6f" -dependencies = [ - "parking_lot", - "rand", - "rocket", -] - [[package]] name = "rsa" version = "0.9.6" diff --git a/Cargo.toml b/Cargo.toml index 85e31cc..19b0bee 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,6 +8,5 @@ edition = "2021" [dependencies] maud = { version = "0.26.0", features = ["rocket"] } rocket = "0.5.0" -rocket_session = "0.3.0" serde = "1.0.196" sqlx = { version = "0.7.3", features = ["postgres"] } diff --git a/src/controller/mod.rs b/src/controller/mod.rs index 635ff07..b8d4136 100644 --- a/src/controller/mod.rs +++ b/src/controller/mod.rs @@ -1,3 +1,10 @@ +use maud::Markup; pub mod user; +pub mod register; + +#[get("/")] +pub fn index() -> Markup { + crate::view::login::login() +} diff --git a/src/controller/register.rs b/src/controller/register.rs new file mode 100644 index 0000000..ff09cb6 --- /dev/null +++ b/src/controller/register.rs @@ -0,0 +1,6 @@ +use maud::Markup; + +#[get("/register")] +pub fn get() -> Markup { + crate::view::register::register() +} diff --git a/src/main.rs b/src/main.rs index 5b05b85..e4db466 100644 --- a/src/main.rs +++ b/src/main.rs @@ -11,7 +11,8 @@ extern crate rocket; fn rocket() -> _ { rocket::build() .mount("/", routes![ - view::index, + controller::index, + ]) .mount("/f", routes![ controller::user::create_user, diff --git a/src/view/login.rs b/src/view/login.rs new file mode 100644 index 0000000..00247c8 --- /dev/null +++ b/src/view/login.rs @@ -0,0 +1,9 @@ +use maud::{html, Markup}; + +use super::default_skeleton; + +pub fn login() -> Markup { + default_skeleton(html! { + "TODO" + }) +} diff --git a/src/view/mod.rs b/src/view/mod.rs index 1c08c62..9739eb3 100644 --- a/src/view/mod.rs +++ b/src/view/mod.rs @@ -1,9 +1,10 @@ use maud::{html, Markup, DOCTYPE}; -mod fragments; +pub mod fragments; +pub mod login; +pub mod register; -#[get("/")] -pub fn index() -> Markup { +pub fn default_skeleton(content: Markup) -> Markup { html! { (DOCTYPE) html lang="es" { @@ -18,42 +19,7 @@ pub fn index() -> Markup { script defer src="https://unpkg.com/htmx.org/dist/ext/loading-states.js" {} } body hx-ext="response-targets, class-tools, loading-states" { - h1 { "Registrar nuevo usuario" } - div - x-data="{user_name: '', user_surname: '', user_email: '', user_password: ''}" - { - form - hx-post="/f/user" - hx-target="#user_create_response" - hx-target-400="#user_create_response" - hx-swap="outerHTML" - { - input class="bg-c-bg text-c-on-bg border border-c-on-bg disabled:opacity-50" - required type="text" name="user_name" placeholder="Nombres" - data-loading-disable x-model="user_name"; - br; - input class="bg-c-bg text-c-on-bg border border-c-on-bg disabled:opacity-50" - required type="text" name="user_surname" placeholder="Apellidos" - data-loading-disable x-model="user_surname"; - br; - input class="bg-c-bg text-c-on-bg border border-c-on-bg disabled:opacity-50" - required type="email" name="user_email" placeholder="Correo electrónico" - data-loading-disable x-model="user_email"; - br; - input class="bg-c-bg text-c-on-bg border border-c-on-bg disabled:opacity-50" - required type="password" name="user_password" placeholder="Contraseña" - data-loading-disable x-model="user_password"; - br; - button - class="bg-pink-300 text-black py-2 px-4 rounded-full cursor-pointer inline-block my-2 disabled:opacity-50" - data-loading-class="animate-pulse" type="submit" - { - "Registrar" - } - } - br; - div id="user_create_response" {} - } + (content) } } } diff --git a/src/view/register.rs b/src/view/register.rs new file mode 100644 index 0000000..f90206b --- /dev/null +++ b/src/view/register.rs @@ -0,0 +1,45 @@ +use maud::{html, Markup}; + +use super::default_skeleton; + +pub fn register() -> Markup { + default_skeleton(html! { + h1 { "Registrar nuevo usuario" } + div + x-data="{user_name: '', user_surname: '', user_email: '', user_password: ''}" + { + form + hx-post="/f/user" + hx-target="#user_create_response" + hx-target-400="#user_create_response" + hx-swap="outerHTML" + { + input class="bg-c-bg text-c-on-bg border border-c-on-bg disabled:opacity-50" + required type="text" name="user_name" placeholder="Nombres" + data-loading-disable x-model="user_name"; + br; + input class="bg-c-bg text-c-on-bg border border-c-on-bg disabled:opacity-50" + required type="text" name="user_surname" placeholder="Apellidos" + data-loading-disable x-model="user_surname"; + br; + input class="bg-c-bg text-c-on-bg border border-c-on-bg disabled:opacity-50" + required type="email" name="user_email" placeholder="Correo electrónico" + data-loading-disable x-model="user_email"; + br; + input class="bg-c-bg text-c-on-bg border border-c-on-bg disabled:opacity-50" + required type="password" name="user_password" placeholder="Contraseña" + data-loading-disable x-model="user_password"; + br; + button + class="bg-pink-300 text-black py-2 px-4 rounded-full cursor-pointer inline-block my-2 disabled:opacity-50" + data-loading-class="animate-pulse" type="submit" + { + "Registrar" + } + } + br; + div id="user_create_response" {} + } + }) +} +