feat: implement student athletics page

This commit is contained in:
alphafetus committed 2026-02-01 12:10:06 -05:00
1 parent b4f7ff6382
commit c97074f163
2 files changed
+42 -10

No files matched your search

-4
View File
@@ -137,10 +137,6 @@ pub fn MultiEntry(
</div>
<ActionButton on:click = add_entry>"Add entry"</ActionButton>
<ActionButton on:click=move |_| {
console_log(format!("Entry list: {:?}", data_reactive.get()).as_str());
}
>"Print Info"</ActionButton>
</div>
}
}
+42 -6
View File
@@ -1,13 +1,49 @@
use leptos::prelude::*;
use std::collections::HashMap;
use leptos::prelude::*;
use crate::components::{MultiEntry, ValidatedForm};
use crate::input;
#[component]
pub fn StudentAthleticsPage() -> impl IntoView {
let data_map = RwSignal::new(HashMap::new());
view! {
<div class="flex flex-1 flex-col gap-4 items-center m-4">
<div class="font-bold text-3xl">"Student Athletics Form"</div>
<div class="text-lg">
"This is just a placeholder for now. This will display the athletics form."
</div>
<div class="flex flex-1" />
<div class="flex flex-col flex-2 mt-6">
<ValidatedForm title="Athletics Information" on_submit=move || {}>
<MultiEntry
data_map=data_map
data_member="athletic_participation"
schema=vec![
input!(Select, "sport_name", "Sport Name:", true, [
"Football",
"Soccer",
"Cheerleading",
"Field Hockey",
"Swimming",
"Golf",
"Basketball",
"Track",
"Gymnastics",
"Ice Hockey",
"Ski",
"Wrestling",
"Lacrosse",
"Softball",
"Tennis",
"Baseball"
]),
input!(Checkbox, "grades", "Grades Participated:", true, [
"9th",
"10th",
"11th",
"12th"
]),
input!(Text, "achievements", "Special Achievements:", false, "Example 1, Example 2, etc...")
]
/>
</ValidatedForm>
</div>
<div class="flex flex-1" />
}
}