diff --git a/apps/app/src/App.vue b/apps/app/src/App.vue index 866b7882..a1733b1f 100644 --- a/apps/app/src/App.vue +++ b/apps/app/src/App.vue @@ -31,8 +31,15 @@ authStore.initialize() @@ -53,7 +60,10 @@ authStore.initialize() {{ notificationStore.message }} diff --git a/apps/app/src/components/form-failures/DismissFailureDialog.vue b/apps/app/src/components/form-failures/DismissFailureDialog.vue index 1b0dcfc1..fe9ed14c 100644 --- a/apps/app/src/components/form-failures/DismissFailureDialog.vue +++ b/apps/app/src/components/form-failures/DismissFailureDialog.vue @@ -40,10 +40,8 @@ const noteRequired = computed(() => reason.value === 'other') const canSubmit = computed(() => { if (reason.value === null) return false - if (noteRequired.value && note.value.trim() === '') - return false - return true + return !(noteRequired.value && note.value.trim() === '') }) watch(isDialogOpen, open => { diff --git a/apps/app/src/components/form-failures/FormFailureDetail.vue b/apps/app/src/components/form-failures/FormFailureDetail.vue index 621daaa9..a8e03bb1 100644 --- a/apps/app/src/components/form-failures/FormFailureDetail.vue +++ b/apps/app/src/components/form-failures/FormFailureDetail.vue @@ -41,7 +41,7 @@ const dismissDialogOpen = ref(false) function copyText(text: string): void { if (navigator?.clipboard) - void navigator.clipboard.writeText(text) + navigator.clipboard.writeText(text).catch(() => {}) } const formattedContext = computed(() => { diff --git a/apps/app/src/components/layout/OrganisationSwitcher.vue b/apps/app/src/components/layout/OrganisationSwitcher.vue index ceb5a8ec..dd72cf46 100644 --- a/apps/app/src/components/layout/OrganisationSwitcher.vue +++ b/apps/app/src/components/layout/OrganisationSwitcher.vue @@ -27,11 +27,6 @@ const roleColor = (role: string) => ({ volunteer_coordinator: 'secondary', }[role] ?? 'default') -function toggleMenu() { - if (hasMultiple.value) - isMenuOpen.value = !isMenuOpen.value -} - function selectOrg(id: string) { authStore.setActiveOrganisation(id) isMenuOpen.value = false diff --git a/apps/app/src/components/persons/PersonDetailPanel.vue b/apps/app/src/components/persons/PersonDetailPanel.vue index 4905a33b..2d22b883 100644 --- a/apps/app/src/components/persons/PersonDetailPanel.vue +++ b/apps/app/src/components/persons/PersonDetailPanel.vue @@ -74,9 +74,8 @@ function calculateAge(dateStr: string): number | null { let age = today.getFullYear() - birth.getFullYear() const monthDiff = today.getMonth() - birth.getMonth() const dayDiff = today.getDate() - birth.getDate() - if (monthDiff < 0 || (monthDiff === 0 && dayDiff < 0)) { + if (monthDiff < 0 || (monthDiff === 0 && dayDiff < 0)) age-- - } if (age < 0 || age > 130) return null @@ -269,7 +268,7 @@ function handleManualLink(userId: string) { Mogelijke match gevonden {{ person.pending_identity_match.confidence_label }} diff --git a/apps/app/src/components/sections/AssignShiftDialog.vue b/apps/app/src/components/sections/AssignShiftDialog.vue index a53fa5a8..d700d26d 100644 --- a/apps/app/src/components/sections/AssignShiftDialog.vue +++ b/apps/app/src/components/sections/AssignShiftDialog.vue @@ -37,13 +37,8 @@ const generalError = computed(() => { }) // Check for overlap warning -const hasOverlapWarning = computed(() => { - if (!selectedPersonId.value || !props.shift) - return false - - // This is informational — the backend enforces the actual constraint - return false -}) +// This is informational — the backend enforces the actual constraint +const hasOverlapWarning = computed(() => false) const personItems = computed(() => persons.value.map((p: Person) => ({ diff --git a/apps/app/src/components/sections/CreateShiftDialog.vue b/apps/app/src/components/sections/CreateShiftDialog.vue index d6fe2e96..00973a69 100644 --- a/apps/app/src/components/sections/CreateShiftDialog.vue +++ b/apps/app/src/components/sections/CreateShiftDialog.vue @@ -37,7 +37,7 @@ const { data: eventDetail } = useEventDetail(orgIdRef, eventIdRef) const sectionRef = computed(() => props.section ?? null) // Determine dropdown scenario -const { scenario, showInfoTooltip, hasGroups, tooltipText, fetchParams, sortedItems } = useTimeSlotDropdown( +const { showInfoTooltip, hasGroups, tooltipText, fetchParams, sortedItems } = useTimeSlotDropdown( eventDetail, sectionRef, ) diff --git a/apps/app/src/components/sections/SectionsShiftsPanel.vue b/apps/app/src/components/sections/SectionsShiftsPanel.vue index 264fc644..12cba714 100644 --- a/apps/app/src/components/sections/SectionsShiftsPanel.vue +++ b/apps/app/src/components/sections/SectionsShiftsPanel.vue @@ -330,7 +330,7 @@ function onSectionCreated(payload: { name: string; redirectedToParent: boolean; drag-class="section-drag" :animation="200" :delay="100" - :delay-on-touch-only="true" + delay-on-touch-only direction="vertical" class="v-list v-list--nav v-list--density-compact" @end="onDragEnd" @@ -354,7 +354,7 @@ function onSectionCreated(payload: { name: string; redirectedToParent: boolean; {{ element.name }} · {{ parentEvent.name }} diff --git a/apps/app/src/components/shifts/AssignPersonDialog.vue b/apps/app/src/components/shifts/AssignPersonDialog.vue index cc5fec6b..84d42c78 100644 --- a/apps/app/src/components/shifts/AssignPersonDialog.vue +++ b/apps/app/src/components/shifts/AssignPersonDialog.vue @@ -117,15 +117,11 @@ const filteredPersons = computed(() => { return false } - if (selectedCrowdType.value) { - if (person.crowd_type?.system_type !== selectedCrowdType.value) - return false - } + if (selectedCrowdType.value && person.crowd_type?.system_type !== selectedCrowdType.value) + return false - if (showOnlyAvailable.value) { - if (!person.is_available || person.already_assigned) - return false - } + if (showOnlyAvailable.value && (!person.is_available || person.already_assigned)) + return false if (showRecommendedOnly.value) { const hasPreference = person.section_preferences.some( @@ -458,7 +454,7 @@ async function executeAssign(person: AssignablePerson) {
Aanbevolen omdat: -
    +
    • {{ person.crowd_type.name }} @@ -497,7 +493,7 @@ async function executeAssign(person: AssignablePerson) { {{ tag.name }} ({{ { beginner: 'beg.', experienced: 'erv.', expert: 'exp.' }[tag.proficiency] }}) diff --git a/apps/app/src/pages/events/[id]/settings/registration-fields.vue b/apps/app/src/pages/events/[id]/settings/registration-fields.vue index d1b84011..1c834fed 100644 --- a/apps/app/src/pages/events/[id]/settings/registration-fields.vue +++ b/apps/app/src/pages/events/[id]/settings/registration-fields.vue @@ -332,7 +332,7 @@ const settingsTab = computed(() => { handle=".drag-handle" :animation="200" :delay="100" - :delay-on-touch-only="true" + delay-on-touch-only direction="vertical" @end="onDragEnd" > diff --git a/apps/app/src/pages/events/[id]/time-slots/index.vue b/apps/app/src/pages/events/[id]/time-slots/index.vue index 98cc20ae..b63da391 100644 --- a/apps/app/src/pages/events/[id]/time-slots/index.vue +++ b/apps/app/src/pages/events/[id]/time-slots/index.vue @@ -239,7 +239,7 @@ function onDeleteExecute() {