*/ final readonly class AccompanyingPeriodCalendarGenericDocRenderer implements GenericDocRendererInterface { public function __construct(private CalendarDocRepository $repository) {} public function supports(GenericDocDTO $genericDocDTO, $options = []): bool { return AccompanyingPeriodCalendarGenericDocProvider::KEY === $genericDocDTO->key || PersonCalendarGenericDocProvider::KEY === $genericDocDTO->key; } public function getTemplate(GenericDocDTO $genericDocDTO, $options = []): string { return $options['row-only'] ?? false ? '@ChillCalendar/GenericDoc/calendar_document_row.html.twig' : '@ChillCalendar/GenericDoc/calendar_document.html.twig'; } public function getTemplateData(GenericDocDTO $genericDocDTO, $options = []): array { return [ 'document' => $this->repository->find($genericDocDTO->identifiers['id']), 'context' => $genericDocDTO->getContext(), 'show_actions' => $options['show-actions'] ?? true, ]; } }