From 8409d971c16cdceaec962118e82fb662f429dc34 Mon Sep 17 00:00:00 2001 From: ajdj100 Date: Mon, 15 Dec 2025 15:38:43 -0500 Subject: [PATCH 1/3] added loader to training reports --- ui/src/pages/TrainingReport.vue | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/ui/src/pages/TrainingReport.vue b/ui/src/pages/TrainingReport.vue index 1985cf8..4131ace 100644 --- a/ui/src/pages/TrainingReport.vue +++ b/ui/src/pages/TrainingReport.vue @@ -22,6 +22,7 @@ import SelectContent from '@/components/ui/select/SelectContent.vue'; import SelectItem from '@/components/ui/select/SelectItem.vue'; import Input from '@/components/ui/input/Input.vue'; import MemberCard from '@/components/members/MemberCard.vue'; +import Spinner from '@/components/ui/spinner/Spinner.vue'; enum sidePanelState { view, create, closed }; @@ -42,6 +43,7 @@ watch(() => route.params.id, async (newID) => { focusedTrainingReport.value = null; return; } + TRLoaded.value = false; viewTrainingReport(Number(route.params.id)); }) @@ -60,6 +62,7 @@ const focusedTrainingTrainers = computed(() => { }) async function viewTrainingReport(id: number) { focusedTrainingReport.value = await getTrainingReport(id); + TRLoaded.value = true; } async function closeTrainingReport() { @@ -93,6 +96,8 @@ onMounted(async () => { viewTrainingReport(Number(route.params.id)) loaded.value = true; }) + +const TRLoaded = ref(false); \ No newline at end of file From bc51ca1fcf0d04e915b07a40a5408a595697a9da Mon Sep 17 00:00:00 2001 From: ajdj100 Date: Mon, 15 Dec 2025 16:02:16 -0500 Subject: [PATCH 3/3] added more loaders --- ui/src/components/calendar/ViewCalendarEvent.vue | 7 ++++++- ui/src/components/members/MemberCard.vue | 5 +++-- ui/src/pages/Calendar.vue | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/ui/src/components/calendar/ViewCalendarEvent.vue b/ui/src/components/calendar/ViewCalendarEvent.vue index 22217cc..41031dc 100644 --- a/ui/src/components/calendar/ViewCalendarEvent.vue +++ b/ui/src/components/calendar/ViewCalendarEvent.vue @@ -13,6 +13,7 @@ import DropdownMenuContent from '../ui/dropdown-menu/DropdownMenuContent.vue'; import DropdownMenuItem from '../ui/dropdown-menu/DropdownMenuItem.vue'; import { Calendar } from 'lucide-vue-next'; import MemberCard from '../members/MemberCard.vue'; +import Spinner from '../ui/spinner/Spinner.vue'; const route = useRoute(); @@ -240,7 +241,8 @@ defineExpose({ forceReload }) {{ activeEvent.location || "Unknown" }}
- + +
@@ -289,4 +291,7 @@ defineExpose({ forceReload }) +
+ +
\ No newline at end of file diff --git a/ui/src/components/members/MemberCard.vue b/ui/src/components/members/MemberCard.vue index 0ba3352..6195998 100644 --- a/ui/src/components/members/MemberCard.vue +++ b/ui/src/components/members/MemberCard.vue @@ -8,6 +8,7 @@ import PopoverContent from '../ui/popover/PopoverContent.vue'; import { cn } from '@/lib/utils.js' import { watch } from 'vue'; import { format } from 'path'; +import Spinner from '../ui/spinner/Spinner.vue'; // Props @@ -91,8 +92,8 @@ function formatDate(date: Date): string { -
- Loading profile… +
+
diff --git a/ui/src/pages/Calendar.vue b/ui/src/pages/Calendar.vue index df9868b..33895f9 100644 --- a/ui/src/pages/Calendar.vue +++ b/ui/src/pages/Calendar.vue @@ -217,7 +217,7 @@ onMounted(() => {