feat: implement most of the university page, waiting for more information
This commit is contained in:
1 parent
0ca00664b0
commit
06364236c5
4 files changed
+81
-2
No files matched your search
@@ -136,6 +136,10 @@ fn StudentRoutes() -> impl MatchNestedRoutes + Clone {
|
||||
path=path!("additional/work-experience")
|
||||
view=student::StudentWorkExperiencePage
|
||||
/>
|
||||
<Route
|
||||
path=path!("additional/university")
|
||||
view=student::StudentUniversityPage
|
||||
/>
|
||||
</ParentRoute>
|
||||
}
|
||||
.into_inner()
|
||||
|
||||
@@ -6,6 +6,7 @@ mod athletics_page;
|
||||
mod academics_page;
|
||||
mod extracurriculars_page;
|
||||
mod work_experience_page;
|
||||
mod university_page;
|
||||
|
||||
pub use shell::*;
|
||||
pub use home_page::*;
|
||||
@@ -14,4 +15,5 @@ pub use additional_page::*;
|
||||
pub use athletics_page::*;
|
||||
pub use academics_page::*;
|
||||
pub use extracurriculars_page::*;
|
||||
pub use work_experience_page::*;
|
||||
pub use work_experience_page::*;
|
||||
pub use university_page::*;
|
||||
@@ -28,7 +28,7 @@ pub fn StudentShell() -> impl IntoView {
|
||||
SubTabInfo::new("Work Experience", "work-experience"),
|
||||
SubTabInfo::new("Extracurriculars", "extracurriculars"),
|
||||
SubTabInfo::new("University Info", "university"),
|
||||
SubTabInfo::new("Parent Info", "parent-info"),
|
||||
SubTabInfo::new("Family Info", "family-info"),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
use leptos::prelude::*;
|
||||
use std::collections::HashMap;
|
||||
use crate::components::{OutlinedTextField, Select, TextFieldType, ValidatedForm};
|
||||
|
||||
#[component]
|
||||
pub fn StudentUniversityPage() -> impl IntoView {
|
||||
let data_map = RwSignal::new(HashMap::new());
|
||||
|
||||
// college name, state, city, zip
|
||||
// major, study field, intended career, college_acceptance
|
||||
|
||||
view! {
|
||||
<div class="flex flex-1" />
|
||||
<div class="flex flex-col flex-2 mt-6">
|
||||
<ValidatedForm title="University Information" on_submit=move || {}>
|
||||
// Inputs here.
|
||||
<OutlinedTextField
|
||||
label="University Name:"
|
||||
data_map=data_map
|
||||
data_member="college_name"
|
||||
placeholder="University of Example"
|
||||
input_type=TextFieldType::Number
|
||||
required=true
|
||||
/>
|
||||
<OutlinedTextField
|
||||
label="University Street Address:"
|
||||
data_map=data_map
|
||||
data_member="college_city"
|
||||
placeholder="123 Example Rd"
|
||||
input_type=TextFieldType::Text
|
||||
required=true
|
||||
/>
|
||||
// TODO Make this a select dropdown.
|
||||
<OutlinedTextField
|
||||
label="University State:"
|
||||
data_map=data_map
|
||||
data_member="college_state"
|
||||
placeholder="The State of Panic"
|
||||
input_type=TextFieldType::Text
|
||||
required=true
|
||||
/>
|
||||
<OutlinedTextField
|
||||
label="University ZIP:"
|
||||
data_map=data_map
|
||||
data_member="college_zip"
|
||||
placeholder="12345"
|
||||
input_type=TextFieldType::Number
|
||||
required=true
|
||||
/>
|
||||
<Select
|
||||
label="Have you been sent an acceptance to the university?"
|
||||
data_map=data_map
|
||||
data_member="college_acceptance"
|
||||
required=true
|
||||
value_list=vec![
|
||||
"Yes".to_string(),
|
||||
"No".to_string()
|
||||
]
|
||||
/>
|
||||
// TODO Make this a select dropdown.
|
||||
<OutlinedTextField
|
||||
label="Chosen Major:"
|
||||
data_map=data_map
|
||||
data_member="major"
|
||||
placeholder="Computer Science"
|
||||
input_type=TextFieldType::Text
|
||||
required=true
|
||||
/>
|
||||
</ValidatedForm>
|
||||
</div>
|
||||
<div class="flex flex-1" />
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user