refactor: set episode and podcast type hints next to each option

This commit is contained in:
Yassine Doghri 2021-12-31 10:21:57 +00:00
parent ad5cd2c2e9
commit 6809789206
9 changed files with 26 additions and 22 deletions

View File

@ -61,11 +61,12 @@ return [
'episode_number' => 'Episode',
'type' => [
'label' => 'Type',
'hint' =>
'- <strong>full</strong>: complete content the episode.<br/>- <strong>trailer</strong>: short, promotional piece of content that represents a preview of the current show.<br/>- <strong>bonus</strong>: extra content for the show (for example, behind the scenes info or interviews with the cast) or cross-promotional content for another show.',
'full' => 'Full',
'full_hint' => 'Complete content (the episode)',
'trailer' => 'Trailer',
'trailer_hint' => 'Short, promotional piece of content that represents a preview of the current show',
'bonus' => 'Bonus',
'bonus_hint' => 'Extra content for the show (for example, behind the scenes info or interviews with the cast) or cross-promotional content for another show',
],
'parental_advisory' => [
'label' => 'Parental advisory',

View File

@ -36,10 +36,10 @@ return [
'Used to identify the podcast. Uppercase, lowercase, numbers and underscores are accepted.',
'type' => [
'label' => 'Type',
'hint' =>
'- <strong>episodic</strong>: if episodes are intended to be consumed without any specific order. Newest episodes will be presented first.<br/>- <strong>serial</strong>: if episodes are intended to be consumed in sequential order. The oldest episodes will be presented first.',
'episodic' => 'Episodic',
'episodic_hint' => 'If episodes are intended to be consumed without any specific order. Newest episodes will be presented first.',
'serial' => 'Serial',
'serial_hint' => 'If episodes are intended to be consumed in sequential order. The oldest episodes will be presented first.',
],
'description' => 'Description',
'classification_section_title' => 'Classification',

View File

@ -62,11 +62,12 @@ return [
'episode_number' => 'Épisode',
'type' => [
'label' => 'Type',
'hint' =>
'- <strong>complet</strong>: épisode complet.<br/>- <strong>bande-annonce</strong>: extrait court, promotionnel du podcast.<br/>- <strong>bonus</strong>: contenu supplémentaire pour le podcast (par exemple des informations sur les coulisses ou des interviews avec les acteurs) ou du contenu promotionnel croisé pour un autre podcast.',
'full' => 'Complet',
'full_hint' => 'Épisode complet',
'trailer' => 'Bande-annonce',
'trailer_hint' => 'Extrait court, promotionnel du podcast',
'bonus' => 'Bonus',
'bonus_hint' => 'Contenu supplémentaire pour le podcast (par exemple des informations sur les coulisses ou des interviews avec les acteurs) ou du contenu promotionnel croisé pour un autre podcast',
],
'parental_advisory' => [
'label' => 'Avertissement parental',

View File

@ -37,10 +37,10 @@ return [
'Utilisé pour identifier le podcast. Les majuscules, les minuscules, les chiffres et le caractère souligné «_» sont acceptés.',
'type' => [
'label' => 'Type',
'hint' =>
'- <strong>épisodique</strong>: si les épisodes sont destinés à être consommés sans ordre spécifique. Les épisodes les plus récents seront présentés en premier.<br/>- <strong>série</strong>: si les épisodes sont destinés à être consommés dans un ordre séquentiel bien défini. Les épisodes les plus anciens seront présentés en premier.',
'episodic' => 'Épisodique',
'episodic_hint' => 'Si les épisodes sont destinés à être consommés sans ordre spécifique. Les épisodes les plus récents seront présentés en premier.',
'serial' => 'Série',
'serial_hint' => 'Si les épisodes sont destinés à être consommés dans un ordre séquentiel bien défini. Les épisodes les plus anciens seront présentés en premier.',
],
'description' => 'Description',
'classification_section_title' => 'Classification',

View File

@ -66,21 +66,21 @@
</div>
<fieldset class="flex gap-1">
<legend>
<?= lang('Episode.form.type.label') .
hint_tooltip(lang('Episode.form.type.hint'), 'ml-1') ?>
</legend>
<legend><?= lang('Episode.form.type.label') ?></legend>
<Forms.RadioButton
value="full"
name="type"
hint="<?= lang('Episode.form.type.full_hint') ?>"
isChecked="true" ><?= lang('Episode.form.type.full') ?></Forms.RadioButton>
<Forms.RadioButton
value="trailer"
name="type"
hint="<?= lang('Episode.form.type.trailer_hint') ?>"
isChecked="false" ><?= lang('Episode.form.type.trailer') ?></Forms.RadioButton>
<Forms.RadioButton
value="bonus"
name="type"
hint="<?= lang('Episode.form.type.bonus_hint') ?>"
isChecked="false" ><?= lang('Episode.form.type.bonus') ?></Forms.RadioButton>
</fieldset>

View File

@ -72,21 +72,21 @@
</div>
<fieldset class="flex gap-1">
<legend>
<?= lang('Episode.form.type.label') .
hint_tooltip(lang('Episode.form.type.hint'), 'ml-1') ?>
</legend>
<legend><?= lang('Episode.form.type.label') ?></legend>
<Forms.RadioButton
value="full"
name="type"
hint="<?= lang('Episode.form.type.full_hint') ?>"
isChecked="<?= $episode->type === 'full' ? 'true' : 'false' ?>" ><?= lang('Episode.form.type.full') ?></Forms.RadioButton>
<Forms.RadioButton
value="trailer"
name="type"
hint="<?= lang('Episode.form.type.trailer_hint') ?>"
isChecked="<?= $episode->type === 'trailer' ? 'true' : 'false' ?>" ><?= lang('Episode.form.type.trailer') ?></Forms.RadioButton>
<Forms.RadioButton
value="bonus"
name="type"
hint="<?= lang('Episode.form.type.bonus_hint') ?>"
isChecked="<?= $episode->type === 'bonus' ? 'true' : 'false' ?>" ><?= lang('Episode.form.type.bonus') ?></Forms.RadioButton>
</fieldset>

View File

@ -6,9 +6,9 @@
alt="<?= $podcast->title ?>"
src="<?= $podcast->cover->medium_url ?>" class="object-cover w-full h-full transition duration-200 ease-in-out transform aspect-square group-focus:scale-105 group-hover:scale-105" />
</div>
<div class="absolute z-20 px-4 pb-4 transition duration-75 ease-out translate-y-6 group-focus:translate-y-0 group-hover:translate-y-0">
<div class="absolute z-20 w-full px-4 pb-4 transition duration-75 ease-out translate-y-6 group-focus:translate-y-0 group-hover:translate-y-0">
<h2 class="font-bold leading-none truncate font-display"><?= $podcast->title ?></h2>
<p class="text-sm transition duration-150 opacity-0 group-focus:opacity-75 group-hover:opacity-75">@<?= $podcast->handle ?></p>
<p class="text-sm transition duration-150 opacity-0 group-focus:opacity-100 group-hover:opacity-100">@<?= $podcast->handle ?></p>
</div>
</a>
<button class="absolute top-0 right-0 z-10 p-2 mt-2 mr-2 text-white transition -translate-y-12 rounded-full opacity-0 focus:ring-accent focus:opacity-100 focus:-translate-y-0 group-hover:translate-y-0 bg-black/50 group-hover:opacity-100" id="more-dropdown-<?= $podcast->id ?>" data-dropdown="button" data-dropdown-target="more-dropdown-<?= $podcast->id ?>-menu" aria-haspopup="true" aria-expanded="false" title="<?= lang('Common.more') ?>"><?= icon('more') ?></button>

View File

@ -56,16 +56,17 @@
required="true" />
<fieldset>
<legend><?= lang('Podcast.form.type.label') .
hint_tooltip(lang('Podcast.form.type.hint'), 'ml-1') ?></legend>
<legend><?= lang('Podcast.form.type.label') ?></legend>
<div class="flex gap-2">
<Forms.RadioButton
value="episodic"
name="type"
hint="<?= lang('Podcast.form.type.episodic_hint') ?>"
isChecked="true'" ><?= lang('Podcast.form.type.episodic') ?></Forms.RadioButton>
<Forms.RadioButton
value="serial"
name="type"
hint="<?= lang('Podcast.form.type.serial_hint') ?>"
isChecked="false" ><?= lang('Podcast.form.type.serial') ?></Forms.RadioButton>
</div>
</fieldset>

View File

@ -71,16 +71,17 @@
required="true" />
<fieldset>
<legend><?= lang('Podcast.form.type.label') .
hint_tooltip(lang('Podcast.form.type.hint'), 'ml-1') ?></legend>
<legend><?= lang('Podcast.form.type.label') ?></legend>
<div class="flex gap-2">
<Forms.RadioButton
value="episodic"
name="type"
hint="<?= lang('Podcast.form.type.episodic_hint') ?>"
isChecked="<?= $podcast->type === 'episodic' ? 'true' : 'false' ?>" ><?= lang('Podcast.form.type.episodic') ?></Forms.RadioButton>
<Forms.RadioButton
value="serial"
name="type"
hint="<?= lang('Podcast.form.type.serial_hint') ?>"
isChecked="<?= $podcast->type === 'serial' ? 'true' : 'false' ?>" ><?= lang('Podcast.form.type.serial') ?></Forms.RadioButton>
</div>
</fieldset>