{% extends 'base.html.twig' %} {% block title %}{{ isEdit ? 'Edit Album' : 'Create Album' }}{% endblock %} {% block body %}

{{ isEdit ? 'Edit album' : 'Create album' }}

{{ form_start(form, {attr: {class: 'vstack gap-4', novalidate: 'novalidate'}}) }} {{ form_errors(form) }}
{{ form_widget(form.coverUpload, {attr: {class: 'd-none', accept: 'image/*'}}) }} {% set has_existing_cover = existingCoverUrl is defined and existingCoverUrl %} {{ form_errors(form.coverUpload) }}
{{ form_label(form.name) }} {{ form_widget(form.name, {attr: {class: 'form-control'}}) }} {{ form_errors(form.name) }}
{{ form_label(form.artistsCsv) }} {{ form_widget(form.artistsCsv, {attr: {class: 'form-control'}}) }} {{ form_errors(form.artistsCsv) }}
{{ form_label(form.releaseDate) }} {{ form_widget(form.releaseDate, {attr: {class: 'form-control'}}) }} {{ form_errors(form.releaseDate) }}
{{ form_label(form.genresCsv) }} {{ form_widget(form.genresCsv, {attr: {class: 'form-control'}}) }} {{ form_errors(form.genresCsv) }}
{{ form_label(form.externalUrl) }} {{ form_widget(form.externalUrl, {attr: {class: 'form-control', placeholder: 'https://...'}}) }} {{ form_errors(form.externalUrl) }}
{{ form_widget(form.totalTracks) }} {{ form_errors(form.totalTracks) }}
{% if isEdit and albumOwner %} Owner: {{ albumOwner.displayName ?? albumOwner.userIdentifier }} {% endif %}

Tracklist

{{ trackRows|filter(t => t.title is not empty)|length }} tracks
{% for track in trackRows %} {% endfor %}
Disc # Title Duration
Cancel
{{ form_end(form) }} {% endblock %}