From 835abc3fd70452558307150ad76a12fc60179e12 Mon Sep 17 00:00:00 2001 From: Rex Lorenzo Date: Fri, 24 Apr 2026 01:00:41 -0700 Subject: [PATCH 01/12] refactor(emergency-contact): extract shared page shell Hoist breadcrumb, loading spinner, and not-found banner from EmergencyContactForm.vue and EmergencyContactView.vue into a new EmergencyContactPageShell.vue. Each page now owns only its h1 and body content. Pure template refactor; no runtime change. --- .../components/EmergencyContactPageShell.vue | 39 +++++++++++++++++++ .../pages/EmergencyContactForm.vue | 33 ++++------------ .../pages/EmergencyContactView.vue | 34 ++++------------ 3 files changed, 53 insertions(+), 53 deletions(-) create mode 100644 VueApp/src/Students/EmergencyContact/components/EmergencyContactPageShell.vue diff --git a/VueApp/src/Students/EmergencyContact/components/EmergencyContactPageShell.vue b/VueApp/src/Students/EmergencyContact/components/EmergencyContactPageShell.vue new file mode 100644 index 000000000..ca0002d44 --- /dev/null +++ b/VueApp/src/Students/EmergencyContact/components/EmergencyContactPageShell.vue @@ -0,0 +1,39 @@ + + + diff --git a/VueApp/src/Students/EmergencyContact/pages/EmergencyContactForm.vue b/VueApp/src/Students/EmergencyContact/pages/EmergencyContactForm.vue index 1e0c56411..64bf4096a 100644 --- a/VueApp/src/Students/EmergencyContact/pages/EmergencyContactForm.vue +++ b/VueApp/src/Students/EmergencyContact/pages/EmergencyContactForm.vue @@ -5,6 +5,7 @@ import { useQuasar } from "quasar" import StatusBanner from "@/components/StatusBanner.vue" import StatusBadge from "@/components/StatusBadge.vue" import ContactSection from "../components/ContactSection.vue" +import EmergencyContactPageShell from "../components/EmergencyContactPageShell.vue" import PhoneInput from "../components/PhoneInput.vue" import { useEmergencyContact } from "../composables/use-emergency-contact" import { emergencyContactService } from "../services/emergency-contact-service" @@ -226,24 +227,11 @@ onBeforeRouteLeave(() => {