From f9d9e400d31dd0acde6cc3d5495fda1dacc3c809 Mon Sep 17 00:00:00 2001 From: Lucas Vas Date: Sun, 1 Feb 2026 12:58:20 -0500 Subject: [PATCH] feat: implement student extracurricular information page --- src/app.rs | 16 +++++---- src/pages/mod.rs | 2 +- src/pages/student/extracurriculars_page.rs | 38 ++++++++++++++++++++++ src/pages/student/mod.rs | 4 ++- 4 files changed, 51 insertions(+), 9 deletions(-) create mode 100644 src/pages/student/extracurriculars_page.rs diff --git a/src/app.rs b/src/app.rs index 48df947..71b72ff 100644 --- a/src/app.rs +++ b/src/app.rs @@ -1,4 +1,5 @@ -use crate::pages::{ProviderPortal, ScholarshipInfoPage, ProviderContactPage, LoanerShell, LoanerFallback, LoanerBorrowForm, LoanerReturnForm, AuthCallbackPage, ApplicantsPageFallback, AdminShell, AdminHomePage, AdminProviderPage, AdminScholarshipPage, StudentShell, StudentHomePage, StudentDemographicsPage, AdditionalPage, AdminUtilsPage, StudentAthleticsPage, StudentAcademicsPage}; +use crate::pages::{ProviderPortal, ScholarshipInfoPage, ProviderContactPage, LoanerShell, LoanerFallback, LoanerBorrowForm, LoanerReturnForm, AuthCallbackPage, ApplicantsPageFallback, AdminShell, AdminHomePage, AdminProviderPage, AdminScholarshipPage, AdminUtilsPage}; +use crate::pages::student; use leptos::prelude::*; use leptos_meta::{MetaTags, Stylesheet, Title, provide_meta_context}; use leptos_oidc::AuthSignal; @@ -120,13 +121,14 @@ fn AdminRoutes() -> impl MatchNestedRoutes + Clone { #[component(transparent)] fn StudentRoutes() -> impl MatchNestedRoutes + Clone { view! { - + - - - - - + + + + + + } .into_inner() diff --git a/src/pages/mod.rs b/src/pages/mod.rs index 077dccc..7f669c1 100644 --- a/src/pages/mod.rs +++ b/src/pages/mod.rs @@ -10,7 +10,7 @@ mod provider_contact; mod auth_callback; mod provider_applicants; mod admin; -mod student; +pub(crate) mod student; pub use self::{ about_page::*, comparison_test::*, home_page::*, loaner_page::*, provider_portal::*, diff --git a/src/pages/student/extracurriculars_page.rs b/src/pages/student/extracurriculars_page.rs new file mode 100644 index 0000000..d9ddec4 --- /dev/null +++ b/src/pages/student/extracurriculars_page.rs @@ -0,0 +1,38 @@ +use std::collections::HashMap; +use leptos::prelude::*; +use crate::components::{MultiEntry, OutlinedTextField, TextFieldType, ValidatedForm}; +use crate::input; + +#[component] +pub fn StudentExtracurricularsPage() -> impl IntoView { + let data_map = RwSignal::new(HashMap::new()); + + view! { +
+
+ + // Inputs here. + + + +
+
+ } +} \ No newline at end of file diff --git a/src/pages/student/mod.rs b/src/pages/student/mod.rs index 8e06f92..5061c84 100644 --- a/src/pages/student/mod.rs +++ b/src/pages/student/mod.rs @@ -4,10 +4,12 @@ mod demographics_page; mod additional_page; mod athletics_page; mod academics_page; +mod extracurriculars_page; pub use shell::*; pub use home_page::*; pub use demographics_page::*; pub use additional_page::*; pub use athletics_page::*; -pub use academics_page::*; \ No newline at end of file +pub use academics_page::*; +pub use extracurriculars_page::*; \ No newline at end of file