diff --git a/.gitignore b/.gitignore
index 760cf08..0633aaf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -23,3 +23,4 @@
/CLAUDE.md
/config/reference.php
+.claude/
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 44863eb..7a0b77d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,9 @@ See [keep a changelog](https://keepachangelog.com/en/1.0.0/) for information abo
## [Unreleased]
+- [PR-53](https://github.com/itk-dev/aapodwalk_api/pull/53)
+ Update guidelines for attaching media to POIs
+
## [1.0.2] - 2026-05-21
- [PR-54](https://github.com/itk-dev/aapodwalk_api/pull/54)
@@ -20,6 +23,8 @@ See [keep a changelog](https://keepachangelog.com/en/1.0.0/) for information abo
## [1.0.1] - 2025-23-06
+- [PR-42](https://github.com/itk-dev/aapodwalk_api/pull/42)
+ Upgraded Symfony from 7.2 to 7.4 LTS
- [PR-41](https://github.com/itk-dev/aapodwalk_api/pull/41)
Security Updates
@@ -82,7 +87,3 @@ See [keep a changelog](https://keepachangelog.com/en/1.0.0/) for information abo
- Added order param to PointOfInterest.
- Added centerlatitude, centerlongitude, zoom, partcount and totalduration to route.
- Add proximity to point of interest, that allows for setting an unlockable distance in meters.
-
-[Unreleased]: https://github.com/itk-dev/aapodwalk_api/compare/1.0.2...HEAD
-[1.0.2]: https://github.com/itk-dev/aapodwalk_api/compare/1.0.0...1.0.2
-[1.0.0]: https://github.com/itk-dev/aapodwalk_api/releases/tag/1.0.0
diff --git a/assets/styles/admin.css b/assets/styles/admin.css
index de57d3a..747b9ba 100644
--- a/assets/styles/admin.css
+++ b/assets/styles/admin.css
@@ -34,21 +34,43 @@
}
/* Show label and inputs above eachother instead for inline when in collection */
-.form-group.field-collection.accordion {
- .accordion-item {
- .form-group {
- display: block;
+.form-group.field-collection {
+ .accordion-item .accordion-body .form-group {
+ display: block;
- > label {
- margin: 0;
- padding: 0 0 8px;
- inline-size: initial;
- }
+ > label {
+ margin: 0;
+ padding: 0 0 8px;
+ inline-size: initial;
}
}
.accordion-button {
padding: 8px 7px;
}
+
+ /* Keep the move/delete buttons inline with the accordion headline */
+ .accordion-header {
+ display: flex;
+ align-items: center;
+ padding-inline-end: 0;
+
+ .accordion-button {
+ flex: 1 1 auto;
+ width: auto;
+ }
+
+ .accordion-actions {
+ display: flex;
+ align-items: center;
+ flex-shrink: 0;
+ gap: 4px;
+ padding-inline-end: 8px;
+ }
+
+ .field-collection-delete-button {
+ position: static;
+ }
+ }
}
.ea-index {
diff --git a/config/services.yaml b/config/services.yaml
index b88cdb8..bff12c7 100644
--- a/config/services.yaml
+++ b/config/services.yaml
@@ -10,38 +10,19 @@ parameters:
media_processor.options:
# Template are processed in the defined order; the first one with a matching pattern will be used.
templates:
- - name: 'Videotool (audio)'
+ - name: 'MP3 audio'
help:
en: |
- Insert "direkte link til playeren", e.g. https://media.videotool.dk/?vn=467_2024120710215424183468967435
+ Use the "Kopier download link til lydfil i MP3" button from the Videotool admin (under "Del download links") to copy a direct MP3 download link, then paste it here.
+
da: |
- Indsæt "direkte link til playeren", fx https://media.videotool.dk/?vn=467_2024120710215424183468967435
- pattern: "~^https://media.videotool.dk/?\\?vn=(?P[^]+)&is_audio=1$~"
+ Brug knappen "Kopier download link til lydfil i MP3" i Videotool-administrationen (under "Del download links") til at kopiere et direkte MP3-downloadlink, og indsæt det her.
+
+ pattern: '~^https?://~i'
template: >-
-
-
-
-
- - name: 'Videotool (video)'
- help: |
- Indsæt "direkte link til playeren", fx https://media.videotool.dk/?vn=467_2024120710155950260322839288
- pattern: "~^https://media.videotool.dk/?\\?vn=(?P[^]+)$~"
- template: >-
-
-
-
+
services:
# default configuration for services in *this* file
diff --git a/public/images/videotool-mp3-download-link.png b/public/images/videotool-mp3-download-link.png
new file mode 100644
index 0000000..fcd7110
Binary files /dev/null and b/public/images/videotool-mp3-download-link.png differ
diff --git a/src/Controller/Admin/PointOfInterestCrudController.php b/src/Controller/Admin/PointOfInterestCrudController.php
index a830563..bf1c0a1 100644
--- a/src/Controller/Admin/PointOfInterestCrudController.php
+++ b/src/Controller/Admin/PointOfInterestCrudController.php
@@ -10,7 +10,6 @@
use App\Service\EasyAdminHelper;
use EasyCorp\Bundle\EasyAdminBundle\Config\Crud;
use EasyCorp\Bundle\EasyAdminBundle\Field\AssociationField;
-use EasyCorp\Bundle\EasyAdminBundle\Field\BooleanField;
use EasyCorp\Bundle\EasyAdminBundle\Field\DateField;
use EasyCorp\Bundle\EasyAdminBundle\Field\IdField;
use EasyCorp\Bundle\EasyAdminBundle\Field\NumberField;
@@ -42,11 +41,13 @@ public function configureCrud(Crud $crud): Crud
public function configureFields(string $pageName): iterable
{
$route = AssociationField::new('route', new TranslatableMessage('Route', [], 'admin'))
- ->setRequired(true);
+ ->setRequired(true)
+ ->setColumns(12);
$position = NumberField::new('poiOrder', new TranslatableMessage('Order', [], 'admin'))
->addCssClass('route-point-position')
- ->setRequired(false);
+ ->setRequired(false)
+ ->setColumns(12);
// Check if this controller is being used in a collection.
if ($this->getContext()?->getEntity()?->getInstance() instanceof Route) {
@@ -80,14 +81,10 @@ public function configureFields(string $pageName): iterable
$mediaUrlLabel = new TranslatableMessage('Media URL', [], 'admin');
yield UrlField::new('mediaUrl', $mediaUrlLabel)
+ ->setHelp(new TranslatableMessage('Insert a direct mp3 download link to the audio file (not a Videotool iframe/player link).', [], 'admin'))
->setFormTypeOptions([
'block_name' => 'mediaUrl',
])->setColumns(12);
- yield BooleanField::new('mediaIsAudio', new TranslatableMessage('Is audio?', [], 'admin'))
- ->setHelp(new TranslatableMessage('Check if "{media_url}" points to an audio file.', [
- 'media_url' => $mediaUrlLabel,
- ], 'admin'))
- ->renderAsSwitch(false)->setColumns(12);
yield TextareaField::new('subtitles', new TranslatableMessage('Subtitles', [], 'admin'))
->setRequired(true)
diff --git a/translations/admin+intl-icu.da.xlf b/translations/admin+intl-icu.da.xlf
index 8fb52ab..55bd8dc 100644
--- a/translations/admin+intl-icu.da.xlf
+++ b/translations/admin+intl-icu.da.xlf
@@ -237,10 +237,6 @@
Media URLMedie-url
-
- Is audio?
- Er lyd?
- Media previewForhåndsvisning
@@ -253,9 +249,9 @@
Information on media URLsInformation om medie-url’er
-
- Check if "{media_url}" points to an audio file.
- Marker hvis "{media_url}" peger på en lydfil.
+
+ Insert a direct mp3 download link to the audio file (not a Videotool iframe/player link).
+ Indsæt et direkte mp3-downloadlink til lydfilen (ikke et Videotool iframe/afspiller-link).Add new point
diff --git a/translations/admin+intl-icu.en.xlf b/translations/admin+intl-icu.en.xlf
index 3d87d5d..956ec03 100644
--- a/translations/admin+intl-icu.en.xlf
+++ b/translations/admin+intl-icu.en.xlf
@@ -237,10 +237,6 @@
Media URLMedia URL
-
- Is audio?
- Is audio?
- Media previewMedia preview
@@ -253,9 +249,9 @@
Information on media URLsInformation on media URLs
-
- Check if "{media_url}" points to an audio file.
- Check if "{media_url}" points to an audio file.
+
+ Insert a direct mp3 download link to the audio file (not a Videotool iframe/player link).
+ Insert a direct mp3 download link to the audio file (not a Videotool iframe/player link).Add new point