added begin of new exercise page
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
pub mod empty;
|
||||
mod desktop;
|
||||
mod empty;
|
||||
|
||||
pub use desktop::desktop;
|
||||
pub use empty::empty;
|
||||
|
||||
|
46
src/layouts/desktop.rs
Normal file
46
src/layouts/desktop.rs
Normal file
@@ -0,0 +1,46 @@
|
||||
use maud::{Markup, html};
|
||||
|
||||
use super::empty;
|
||||
|
||||
pub fn desktop_minimal(content: Markup, name: &str) -> Markup {
|
||||
let content = html! {
|
||||
div class="w-full h-screen flex" {
|
||||
div class="w-56" {
|
||||
(sidebar())
|
||||
}
|
||||
div class="w-full" {
|
||||
(content)
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
empty(content, name)
|
||||
}
|
||||
|
||||
pub fn desktop(content: Markup, name: &str) -> Markup {
|
||||
let content = html! {
|
||||
div class="p-10" {
|
||||
(content)
|
||||
}
|
||||
};
|
||||
|
||||
desktop_minimal(content, name)
|
||||
}
|
||||
|
||||
fn sidebar() -> Markup {
|
||||
html! {
|
||||
ul class="menu bg-base-200 rounded-box w-full h-full" {
|
||||
li {
|
||||
a href="/" {
|
||||
"Overview"
|
||||
}
|
||||
a href="/workouts" {
|
||||
"Workouts"
|
||||
}
|
||||
a href="/exercises" {
|
||||
"Exercises"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -11,7 +11,7 @@ pub fn empty(content: Markup, name: &str) -> Markup {
|
||||
(name) " - Timo's Workouts"
|
||||
}
|
||||
}
|
||||
body {
|
||||
body hx-boost="true" {
|
||||
(content)
|
||||
}
|
||||
}
|
||||
|
@@ -1,7 +1,10 @@
|
||||
use axum::Router;
|
||||
|
||||
mod exercises;
|
||||
mod index;
|
||||
|
||||
pub fn routes() -> Router {
|
||||
Router::new().merge(index::routes())
|
||||
Router::new()
|
||||
.merge(index::routes())
|
||||
.nest("/exercises", exercises::routes())
|
||||
}
|
||||
|
20
src/pages/exercises.rs
Normal file
20
src/pages/exercises.rs
Normal file
@@ -0,0 +1,20 @@
|
||||
use crate::layouts;
|
||||
use axum::{Router, routing::get};
|
||||
use maud::{Markup, html};
|
||||
|
||||
mod new;
|
||||
|
||||
pub fn routes() -> Router {
|
||||
Router::new()
|
||||
.route("/", get(page))
|
||||
.nest("/new", new::routes())
|
||||
}
|
||||
|
||||
async fn page() -> Markup {
|
||||
let content = html! {
|
||||
h1 { "Exercises" }
|
||||
a href="/exercises/new" { "new exercise +" }
|
||||
};
|
||||
|
||||
layouts::desktop(content, "Exercises")
|
||||
}
|
55
src/pages/exercises/new.rs
Normal file
55
src/pages/exercises/new.rs
Normal file
@@ -0,0 +1,55 @@
|
||||
use crate::layouts;
|
||||
use axum::{Router, routing::get};
|
||||
use maud::{Markup, html};
|
||||
|
||||
pub fn routes() -> Router {
|
||||
Router::new().route("/", get(page))
|
||||
}
|
||||
|
||||
async fn page() -> Markup {
|
||||
let content = html! {
|
||||
h1 class="mb-5" { "New Exercise" }
|
||||
|
||||
forum class="space-y-1" {
|
||||
fieldset class="fieldset" {
|
||||
legend class="fieldset-legend" { "Name" }
|
||||
input class="input" {}
|
||||
}
|
||||
|
||||
fieldset class="fieldset" {
|
||||
legend class="fieldset-legend" { "Description" }
|
||||
textarea class="textarea" {}
|
||||
}
|
||||
|
||||
fieldset class="fieldset" {
|
||||
legend class="fieldset-legend" { "Muscle Group" }
|
||||
|
||||
label class="label" {
|
||||
input type="checkbox" checked="checked" class="checkbox" {}
|
||||
"Chest"
|
||||
}
|
||||
label class="label" {
|
||||
input type="checkbox" checked="checked" class="checkbox" {}
|
||||
"Body"
|
||||
}
|
||||
}
|
||||
|
||||
fieldset class="fieldset" {
|
||||
legend class="fieldset-legend" { "Equipment" }
|
||||
|
||||
label class="label" {
|
||||
input type="checkbox" checked="checked" class="checkbox" {}
|
||||
"Weigted plates"
|
||||
}
|
||||
label class="label" {
|
||||
input type="checkbox" checked="checked" class="checkbox" {}
|
||||
"Jump Rope"
|
||||
}
|
||||
}
|
||||
|
||||
input type="submit" class="btn" value="save" { }
|
||||
}
|
||||
};
|
||||
|
||||
layouts::desktop(content, "New Exercise")
|
||||
}
|
@@ -9,5 +9,5 @@ pub fn routes() -> Router {
|
||||
async fn page() -> Markup {
|
||||
let content = html! {};
|
||||
|
||||
layouts::empty(content, "Login")
|
||||
layouts::desktop(content, "Home")
|
||||
}
|
||||
|
Reference in New Issue
Block a user