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
+32

No files matched your search

+1
View File
@@ -129,6 +129,7 @@ fn StudentRoutes() -> impl MatchNestedRoutes + Clone {
<Route path=path!("additional/academics") view=student::StudentAcademicsPage />
<Route path=path!("additional/athletics") view=student::StudentAthleticsPage />
<Route path=path!("additional/extracurriculars") view=student::StudentExtracurricularsPage />
<Route path=path!("additional/work-experience") view=student::StudentWorkExperiencePage />
</ParentRoute>
}
.into_inner()
+2
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::*;
@@ -13,3 +14,4 @@ pub use additional_page::*;
pub use athletics_page::*;
pub use academics_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" />
}
}