diff --git a/app/Language/en/Episode.php b/app/Language/en/Episode.php index d6a01ac2d00b25163dedd90c2522b3ac38a7d2df..d2a294c26b8afb130b0cf0ea4783f8a130369559 100644 --- a/app/Language/en/Episode.php +++ b/app/Language/en/Episode.php @@ -23,7 +23,8 @@ return [ 'go_to_page' => 'Go to page', 'create' => 'Add an episode', 'form' => [ - 'enclosure' => 'Choose an .mp3 or .m4a audio file…', + 'enclosure' => 'Audio file', + 'enclosure_hint' => 'Choose an .mp3 or .m4a audio file.', 'info_section_title' => 'Episode info', 'info_section_subtitle' => '', 'image' => 'Cover image', diff --git a/app/Language/fr/Episode.php b/app/Language/fr/Episode.php index 9815d253d09956a14bd7420ef66709bcff7c451f..1471e307cb40213fb474a7cc532ff0f229eeae14 100644 --- a/app/Language/fr/Episode.php +++ b/app/Language/fr/Episode.php @@ -23,7 +23,8 @@ return [ 'go_to_page' => 'Voir', 'create' => 'Ajouter un épisode', 'form' => [ - 'enclosure' => 'Sélectionnez un fichier audio .mp3 ou .m4a…', + 'enclosure' => 'Fichier audio', + 'enclosure_hint' => 'Sélectionnez un fichier audio .mp3 ou .m4a.', 'info_section_title' => 'Informations épisode', 'info_section_subtitle' => '', 'image' => 'Image de couverture', diff --git a/app/Views/_assets/admin.ts b/app/Views/_assets/admin.ts index 7967215c1898bc23e5355eb4f86c3eaa70ca50ca..4adc1b5b757582fa615c23aaf20b7106ec8f960e 100644 --- a/app/Views/_assets/admin.ts +++ b/app/Views/_assets/admin.ts @@ -1,5 +1,4 @@ import Dropdown from "./modules/Dropdown"; -import EnclosureInput from "./modules/EnclosureInput"; import MarkdownEditor from "./modules/MarkdownEditor"; import MultiSelect from "./modules/MultiSelect"; import SidebarToggler from "./modules/SidebarToggler"; @@ -12,4 +11,3 @@ MarkdownEditor(); MultiSelect(); Slugify(); SidebarToggler(); -EnclosureInput(); diff --git a/app/Views/_assets/modules/EnclosureInput.ts b/app/Views/_assets/modules/EnclosureInput.ts deleted file mode 100644 index ef6b95e1bd9fb16fee220205061bf79220dfe74a..0000000000000000000000000000000000000000 --- a/app/Views/_assets/modules/EnclosureInput.ts +++ /dev/null @@ -1,24 +0,0 @@ -const EnclosureInput = (): void => { - const enclosureInput = document.querySelector( - ".form-enclosure-input" - ) as HTMLInputElement; - - if (enclosureInput) { - const label = enclosureInput?.nextElementSibling?.querySelector( - "span" - ) as HTMLSpanElement; - const labelVal = label.innerHTML; - - enclosureInput.addEventListener("change", (e: Event) => { - const fileName = (e.target as HTMLInputElement).value.split("\\").pop(); - - if (fileName) { - label.innerHTML = fileName; - } else { - label.innerHTML = labelVal; - } - }); - } -}; - -export default EnclosureInput; diff --git a/app/Views/_assets/styles/enclosureInput.css b/app/Views/_assets/styles/enclosureInput.css deleted file mode 100644 index 44ea532923919962b7b8cdf4b2175b4c7f3f1e09..0000000000000000000000000000000000000000 --- a/app/Views/_assets/styles/enclosureInput.css +++ /dev/null @@ -1,16 +0,0 @@ -.form-enclosure-input { - @apply absolute w-0 h-0 opacity-0; -} - -.form-enclosure-input + label { - @apply inline-flex items-center justify-center w-full py-2 text-lg font-semibold text-green-600 bg-white border-2 border-green-500 rounded-lg shadow cursor-pointer; -} - -.form-enclosure-input:focus + label, -.form-enclosure-input + label:hover { - @apply text-green-700 border-green-700 shadow-md; -} - -.form-enclosure-input:focus + label { - @apply shadow-outline; -} diff --git a/app/Views/_assets/styles/index.css b/app/Views/_assets/styles/index.css index 7398d818de5963a11c26a22714204463dc3003f0..f7737f4f32ddfe48439d99238909a72bbf49aae2 100644 --- a/app/Views/_assets/styles/index.css +++ b/app/Views/_assets/styles/index.css @@ -4,5 +4,4 @@ @import "./multiSelect.css"; @import "./radioBtn.css"; @import "./switch.css"; -@import "./enclosureInput.css"; @import "./charts.css"; diff --git a/app/Views/admin/episode/create.php b/app/Views/admin/episode/create.php index e983158e9d2e0f3d3db770624984371641f437bf..8f3b5a2f05472873a903040eb78cbaeaa29f2b8e 100644 --- a/app/Views/admin/episode/create.php +++ b/app/Views/admin/episode/create.php @@ -17,24 +17,26 @@ ]) ?> <?= csrf_field() ?> -<div class="flex w-full mb-6"> - <?= form_input([ - 'id' => 'enclosure', - 'name' => 'enclosure', - 'class' => 'form-enclosure-input', - 'required' => 'required', - 'type' => 'file', - 'accept' => '.mp3,.m4a', - ]) ?> - <label for="enclosure"><?= icon('upload', 'mr-2 text-') ?> - <span><?= lang('Episode.form.enclosure') ?></span></label> -</div> - <?= form_section( lang('Episode.form.info_section_title'), lang('Episode.form.info_section_subtitle') ) ?> +<?= form_label( + lang('Episode.form.enclosure'), + 'enclosure', + [], + lang('Episode.form.enclosure_hint') +) ?> +<?= form_input([ + 'id' => 'enclosure', + 'name' => 'enclosure', + 'class' => 'form-input mb-4', + 'required' => 'required', + 'type' => 'file', + 'accept' => '.mp3,.m4a', +]) ?> + <?= form_label( lang('Episode.form.image'), 'image', @@ -130,11 +132,7 @@ <?= lang('Episode.form.type.trailer') ?> </label> <?= form_radio( - [ - 'id' => 'bonus', - 'name' => 'type', - 'class' => 'form-radio-btn', - ], + ['id' => 'bonus', 'name' => 'type', 'class' => 'form-radio-btn'], 'bonus', old('type') ? old('type') == 'bonus' : false ) ?> diff --git a/app/Views/admin/episode/edit.php b/app/Views/admin/episode/edit.php index 3048e1776f7aad7d583b33a6b639c21dc914c3da..8ef2850a8e829782686bd54a29feeb7fb1d7f0ce 100644 --- a/app/Views/admin/episode/edit.php +++ b/app/Views/admin/episode/edit.php @@ -17,23 +17,25 @@ ]) ?> <?= csrf_field() ?> -<div class="flex w-full mb-6"> - <?= form_input([ - 'id' => 'enclosure', - 'name' => 'enclosure', - 'class' => 'form-enclosure-input', - 'type' => 'file', - 'accept' => '.mp3,.m4a', - ]) ?> - <label for="enclosure"><?= icon('upload', 'mr-2 text-') ?> - <span><?= lang('Episode.form.enclosure') ?></span></label> -</div> - <?= form_section( lang('Episode.form.info_section_title'), lang('Episode.form.info_section_subtitle') ) ?> +<?= form_label( + lang('Episode.form.enclosure'), + 'enclosure', + [], + lang('Episode.form.enclosure_hint') +) ?> +<?= form_input([ + 'id' => 'enclosure', + 'name' => 'enclosure', + 'class' => 'form-input mb-4', + 'type' => 'file', + 'accept' => '.mp3,.m4a', +]) ?> + <?= form_label( lang('Episode.form.image'), 'image', @@ -134,6 +136,7 @@ </label> <?= form_radio( ['id' => 'bonus', 'name' => 'type', 'class' => 'form-radio-btn'], + 'bonus', old('type') ? old('type') === 'bonus' : $episode->type === 'bonus' ) ?> diff --git a/app/Views/admin/podcast/settings/platforms.php b/app/Views/admin/podcast/settings/platforms.php index 4cbdc8c08a9d055bb36a6e72847bc9ab8bb608f5..ac75df8b957ae3c5cef61c4e8b4a61233711a9da 100644 --- a/app/Views/admin/podcast/settings/platforms.php +++ b/app/Views/admin/podcast/settings/platforms.php @@ -72,21 +72,19 @@ 'type' => 'url', 'placeholder' => 'https://...', ]) ?> - <label class="inline-flex items-center mb-4 text-sm"> - <?= form_checkbox( - [ - 'id' => $platform->name . '_visible', - 'name' => 'platforms[' . $platform->name . '][visible]', - 'class' => 'form-checkbox', - ], - 'yes', - old( - $platform->name . '_visible', - $platform->visible ? $platform->visible : false - ) - ) ?> - <span class="ml-2"><?= lang('Platforms.visible') ?></span> - </label> + <?= form_switch( + lang('Platforms.visible'), + [ + 'id' => $platform->name . '_visible', + 'name' => 'platforms[' . $platform->name . '][visible]', + ], + 'yes', + old( + $platform->name . '_visible', + $platform->visible ? $platform->visible : false + ), + 'text-sm' + ) ?> </div> </div>