feat: implement student work experience page

This commit is contained in:
alphafetus committed 2026-02-01 13:15:57 -05:00
1 parent f9d9e400d3
commit bb5dfa2563
3 files changed
+33 -1

No files matched your search

+3 -1
View File
@@ -5,6 +5,7 @@ mod additional_page;
mod athletics_page;
mod academics_page;
mod extracurriculars_page;
mod work_experience_page;
pub use shell::*;
pub use home_page::*;
@@ -12,4 +13,5 @@ pub use demographics_page::*;
pub use additional_page::*;
pub use athletics_page::*;
pub use academics_page::*;
pub use extracurriculars_page::*;
pub use extracurriculars_page::*;
pub use work_experience_page::*;
+29
View File
@@ -0,0 +1,29 @@
use std::collections::HashMap;
use leptos::prelude::*;
use crate::components::{MultiEntry, ValidatedForm};
use crate::input;
#[component]
pub fn StudentWorkExperiencePage() -> impl IntoView {
let data_map = RwSignal::new(HashMap::new());
view! {
<div class="flex flex-1" />
<div class="flex flex-col flex-2 mt-6">
<ValidatedForm title="Student Work Experience" on_submit=move || {}>
<MultiEntry
data_map=data_map
data_member="extracurricular"
schema=vec![
input!(Text, "job_title", "Job Title:", true, "Waiter, Cashier, etc..."),
input!(Text, "employer", "Employer:", true, "Your employer's name..."),
input!(Number, "start_date", "Start date:", true, "40"),
input!(Number, "end_date", "End date:", true, "3"),
input!(Number, "num_hours", "Number of hours completed:", true, "120"),
]
/>
</ValidatedForm>
</div>
<div class="flex flex-1" />
}
}