pp-planer/app/Services
Thorsten Bus 94170857b6 feat(export): render uploaded slide images as slide content, keep background/keyvisual as background media action
- New SlideMediaElementBuilder converts FOREGROUND (uploaded) image media
  actions into slide-content fill.media elements placed at the top of the
  slide content, so uploaded information/moderation/sermon images render as
  real content rather than a media-layer action.
- Service background and key-visual images remain BACKGROUND media actions on
  the bottom layer; song text and name-tag stay text content elements.
- Wire the builder into ProExportService and ProBundleExportService (after
  generate) and split PlaylistExportService::writeProFile into
  generate -> inject -> write via ProFileWriter so the playlist path applies
  the same rule.
- Parser library unchanged.
- Migrate export tests to the combined rule via a shared InspectsSlideFillMedia
  support trait and add SlideMediaElementTest.
2026-07-07 22:15:12 +02:00
..
DTO feat(ccli): scaffold CcliPasteParser service 2026-05-10 18:42:21 +02:00
AgendaMatcherService.php feat(service): add AgendaMatcherService with wildcard namesmatching 2026-03-29 11:37:06 +02:00
CcliImportService.php fix(export): copyright/blank slides, bundle-relative media, probundle injection, song links 2026-06-21 09:58:55 +02:00
CcliPasteParser.php fix(export): copyright/blank slides, bundle-relative media, probundle injection, song links 2026-06-21 09:58:55 +02:00
CcliTranslationPairingService.php feat(songs): per-song sections + section editing; fix CCLI import bugs 2026-05-31 14:45:47 +02:00
ChurchToolsService.php refactor(php): rename SongGroup references throughout controllers/services/tests 2026-05-03 22:55:02 +02:00
FileConversionService.php feat(images): cover-fit conversion mode 2026-05-30 23:56:05 +02:00
LabelsImportService.php feat(services): add LabelsImportService, MacrosImportService, MacroResolutionService 2026-05-03 23:03:32 +02:00
MacroResolutionService.php feat(services): add LabelsImportService, MacrosImportService, MacroResolutionService 2026-05-03 23:03:32 +02:00
MacrosImportService.php feat(services): add LabelsImportService, MacrosImportService, MacroResolutionService 2026-05-03 23:03:32 +02:00
NameTagResolver.php fix: login redirect, nametag/worship resolution, macros, export headers & probundle 2026-06-01 22:17:31 +02:00
NameTagSlideBuilder.php fix(export): copyright/blank slides, bundle-relative media, probundle injection, song links 2026-06-21 09:58:55 +02:00
PlaylistExportService.php feat(export): render uploaded slide images as slide content, keep background/keyvisual as background media action 2026-07-07 22:15:12 +02:00
ProBundleExportService.php feat(export): render uploaded slide images as slide content, keep background/keyvisual as background media action 2026-07-07 22:15:12 +02:00
ProExportService.php feat(export): render uploaded slide images as slide content, keep background/keyvisual as background media action 2026-07-07 22:15:12 +02:00
ProImportService.php feat: song pre/postfix, settings overhaul, export & schedule fixes 2026-06-01 08:56:20 +02:00
ServiceImageResolver.php feat(songs): per-song sections + section editing; fix CCLI import bugs 2026-05-31 14:45:47 +02:00
SlideMediaElementBuilder.php feat(export): render uploaded slide images as slide content, keep background/keyvisual as background media action 2026-07-07 22:15:12 +02:00
SongMatchingService.php feat: confirm-state for service songs + service-edit UX fixes 2026-06-21 11:53:55 +02:00
SongPrefixPostfixService.php fix(export): copyright/blank slides, bundle-relative media, probundle injection, song links 2026-06-21 09:58:55 +02:00
SongService.php feat(songs): per-song sections + section editing; fix CCLI import bugs 2026-05-31 14:45:47 +02:00
TranslationService.php feat(songs): per-song sections + section editing; fix CCLI import bugs 2026-05-31 14:45:47 +02:00