feat(app): dedicated Tijdsloten tab with grouped view and fill rates
Extract time slots from Secties & Shifts into a dedicated Tijdsloten tab. New tab groups time slots by date with Dutch date headers, person type filter pills, fill rate progress bars, and sections count. Includes duplicate, edit, and delete actions with confirmation dialog. - Create types/timeSlot.ts with enriched TimeSlot interface - Add Tijdsloten tab to EventTabsNav between Publiekslijsten and Secties - Create time-slots page with loading, error, and empty states - Remove time slots panel from SectionsShiftsPanel - Update CreateShiftDialog to navigate to time slots tab Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -14,12 +14,11 @@ const props = withDefaults(defineProps<{
|
||||
isSubEvent: false,
|
||||
})
|
||||
|
||||
const emit = defineEmits<{
|
||||
openTimeSlots: []
|
||||
}>()
|
||||
|
||||
const modelValue = defineModel<boolean>({ required: true })
|
||||
|
||||
const router = useRouter()
|
||||
const route = useRoute()
|
||||
|
||||
const eventIdRef = computed(() => props.eventId)
|
||||
const sectionIdRef = computed(() => props.sectionId)
|
||||
|
||||
@@ -209,7 +208,7 @@ function onSubmit() {
|
||||
variant="text"
|
||||
color="primary"
|
||||
prepend-icon="tabler-clock"
|
||||
@click="emit('openTimeSlots'); modelValue = false"
|
||||
@click="modelValue = false; router.push({ name: 'events-id-time-slots', params: { id: (route.params as { id: string }).id } })"
|
||||
>
|
||||
Time Slots beheren
|
||||
</VBtn>
|
||||
|
||||
Reference in New Issue
Block a user