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/Application.vue b/ui/src/pages/Application.vue index 98e7ff7..b32b1ea 100644 --- a/ui/src/pages/Application.vue +++ b/ui/src/pages/Application.vue @@ -8,6 +8,7 @@ import Button from '@/components/ui/button/Button.vue'; import { CheckIcon, XIcon } from 'lucide-vue-next'; import Unauthorized from './Unauthorized.vue'; import { ApplicationData, ApplicationFull, ApplicationStatus, CommentRow } from '@shared/types/application'; +import Spinner from '@/components/ui/spinner/Spinner.vue'; const appData = ref(null); const appID = ref(null); @@ -181,5 +182,7 @@ async function handleDeny(id) {
-
Loading
+
+ +
\ No newline at end of file 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(() => { 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);