feat: fix time slot hierarchy — seeder, API include_children, frontend dropdown, navigation
Restructure the festival hierarchy end-to-end: Seeder: Remove duplicate festival-level VOLUNTEER time slots, keep only CREW operational slots. Rename sub-events to "Dag 1/2/3 — ..." pattern. Change Nachtsecurity to Security (cross_event). EHBO/Security shifts now use sub-event time slots via cross_event exception. Add flat event "Braderie Dorpstown 2026". API: Add ?include_children=true to TimeSlotController for festivals, returning all sub-event time slots with source and event_name fields. Update StoreShiftRequest and UpdateShiftRequest to accept child time slots for cross_event sections. Frontend: Create useTimeSlotDropdown composable with 4-scenario dropdown logic. Replace AppSelect with VAutocomplete in CreateShiftDialog with grouped items, dimmed festival slots, and info tooltips. Add InfoTooltip reusable component. Show festival context labels on cross_event sections in sub-event section lists. Add read-only festival time slots on sub-event time-slots page. Add cross_event context banner with "Bekijk alle diensten" link. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
20
apps/app/src/components/common/InfoTooltip.vue
Normal file
20
apps/app/src/components/common/InfoTooltip.vue
Normal file
@@ -0,0 +1,20 @@
|
||||
<template>
|
||||
<VTooltip
|
||||
location="bottom"
|
||||
max-width="320"
|
||||
open-on-click
|
||||
>
|
||||
<template #activator="{ props: tooltipProps }">
|
||||
<VIcon
|
||||
v-bind="tooltipProps"
|
||||
icon="tabler-info-circle"
|
||||
size="16"
|
||||
color="medium-emphasis"
|
||||
class="cursor-help"
|
||||
/>
|
||||
</template>
|
||||
<div class="text-body-2">
|
||||
<slot />
|
||||
</div>
|
||||
</VTooltip>
|
||||
</template>
|
||||
Reference in New Issue
Block a user