From 51b064d67a1009b1223dd6b467902d73e04d773e Mon Sep 17 00:00:00 2001
From: Yassine Doghri
Date: Fri, 26 Apr 2024 17:57:25 +0000
Subject: [PATCH] refactor(icons): use php-icons library to load and display
icons
---
app/Config/Autoload.php | 2 +-
app/Helpers/components_helper.php | 12 +-
app/Helpers/svg_helper.php | 33 ---
app/Resources/icons/account-circle.svg | 1 -
app/Resources/icons/add-box.svg | 1 -
app/Resources/icons/add.svg | 1 -
app/Resources/icons/alert.svg | 1 -
app/Resources/icons/arrow-left.svg | 1 -
app/Resources/icons/arrow-right.svg | 1 -
app/Resources/icons/at.svg | 1 -
app/Resources/icons/bold.svg | 1 -
app/Resources/icons/broadcast.svg | 1 -
app/Resources/icons/calendar.svg | 1 -
app/Resources/icons/caret-down.svg | 1 -
app/Resources/icons/caret-right.svg | 1 -
app/Resources/icons/chat.svg | 1 -
app/Resources/icons/check.svg | 1 -
app/Resources/icons/chevron-left.svg | 1 -
app/Resources/icons/chevron-right.svg | 1 -
app/Resources/icons/clapperboard.svg | 1 -
app/Resources/icons/clipboard.svg | 1 -
app/Resources/icons/close.svg | 1 -
app/Resources/icons/cloud-off.svg | 1 -
app/Resources/icons/dashboard.svg | 1 -
app/Resources/icons/database.svg | 1 -
app/Resources/icons/delete-bin.svg | 1 -
app/Resources/icons/disc.svg | 1 -
app/Resources/icons/download.svg | 1 -
app/Resources/icons/edit.svg | 1 -
app/Resources/icons/error-warning.svg | 1 -
app/Resources/icons/exchange-dollar.svg | 1 -
app/Resources/icons/external-link.svg | 1 -
app/Resources/icons/eye.svg | 1 -
app/Resources/icons/file-copy.svg | 1 -
app/Resources/icons/file-download.svg | 1 -
app/Resources/icons/folder-user.svg | 1 -
app/Resources/icons/forbid.svg | 1 -
app/Resources/icons/funding/_index.php | 19 ++
app/Resources/icons/funding/buymeacoffee.svg | 5 +-
app/Resources/icons/funding/default.svg | 5 +-
app/Resources/icons/funding/donorbox.svg | 5 +-
app/Resources/icons/funding/gofundme.svg | 5 +-
app/Resources/icons/funding/helloasso.svg | 5 +-
app/Resources/icons/funding/indiegogo.svg | 5 +-
app/Resources/icons/funding/kickstarter.svg | 5 +-
.../icons/funding/kisskissbankbank.svg | 5 +-
app/Resources/icons/funding/kofi.svg | 5 +-
app/Resources/icons/funding/liberapay.svg | 5 +-
app/Resources/icons/funding/patreon.svg | 5 +-
app/Resources/icons/funding/paypal.svg | 5 +-
app/Resources/icons/funding/tipeee.svg | 5 +-
app/Resources/icons/funding/ulule.svg | 5 +-
app/Resources/icons/group.svg | 1 -
app/Resources/icons/heading.svg | 1 -
app/Resources/icons/heart.svg | 1 -
app/Resources/icons/history.svg | 1 -
app/Resources/icons/home-gear.svg | 1 -
app/Resources/icons/image-add.svg | 1 -
app/Resources/icons/information.svg | 1 -
app/Resources/icons/italic.svg | 1 -
app/Resources/icons/line-chart.svg | 1 -
app/Resources/icons/link.svg | 1 -
app/Resources/icons/list-ordered.svg | 1 -
app/Resources/icons/list-unordered.svg | 1 -
app/Resources/icons/loader.svg | 1 -
app/Resources/icons/lock-unlock.svg | 1 -
app/Resources/icons/lock.svg | 1 -
app/Resources/icons/loop-left.svg | 1 -
app/Resources/icons/map-pin.svg | 1 -
app/Resources/icons/markdown.svg | 1 -
app/Resources/icons/menu.svg | 1 -
app/Resources/icons/mic.svg | 1 -
app/Resources/icons/money-dollar-circle.svg | 1 -
app/Resources/icons/more.svg | 1 -
app/Resources/icons/movie.svg | 1 -
app/Resources/icons/notification.svg | 1 -
app/Resources/icons/pages.svg | 1 -
app/Resources/icons/pause.svg | 1 -
app/Resources/icons/play-circle.svg | 1 -
app/Resources/icons/play.svg | 1 -
app/Resources/icons/podcasting/_index.php | 48 +++
app/Resources/icons/podcasting/amazon.svg | 5 +-
app/Resources/icons/podcasting/antennapod.svg | 5 +-
app/Resources/icons/podcasting/anytime.svg | 5 +-
app/Resources/icons/podcasting/apple.svg | 5 +-
app/Resources/icons/podcasting/blubrry.svg | 5 +-
app/Resources/icons/podcasting/breaker.svg | 1 +
app/Resources/icons/podcasting/breez.svg | 5 +-
app/Resources/icons/podcasting/castamatic.svg | 5 +-
app/Resources/icons/podcasting/castbox.svg | 5 +-
app/Resources/icons/podcasting/castopod.svg | 5 +-
app/Resources/icons/podcasting/castro.svg | 5 +-
app/Resources/icons/podcasting/deezer.svg | 5 +-
app/Resources/icons/podcasting/default.svg | 5 +-
.../icons/podcasting/episodes-fm.svg | 2 +-
app/Resources/icons/podcasting/fountain.svg | 5 +-
app/Resources/icons/podcasting/fyyd.svg | 5 +-
app/Resources/icons/podcasting/google.svg | 1 +
app/Resources/icons/podcasting/gpodder.svg | 5 +-
app/Resources/icons/podcasting/ivoox.svg | 5 +-
.../icons/podcasting/listennotes.svg | 5 +-
app/Resources/icons/podcasting/overcast.svg | 5 +-
app/Resources/icons/podcasting/playerfm.svg | 5 +-
app/Resources/icons/podcasting/plink.svg | 6 +-
.../icons/podcasting/pocketcasts.svg | 5 +-
app/Resources/icons/podcasting/podbean.svg | 5 +-
.../icons/podcasting/podcastaddict.svg | 5 +-
.../icons/podcasting/podcastguru.svg | 5 +-
.../icons/podcasting/podcastindex.svg | 5 +-
app/Resources/icons/podcasting/podchaser.svg | 5 +-
app/Resources/icons/podcasting/podcloud.svg | 5 +-
app/Resources/icons/podcasting/podfriend.svg | 5 +-
app/Resources/icons/podcasting/podinstall.svg | 5 +-
app/Resources/icons/podcasting/podlink.svg | 5 +-
app/Resources/icons/podcasting/podlp.svg | 5 +-
app/Resources/icons/podcasting/podnews.svg | 5 +-
app/Resources/icons/podcasting/podtail.svg | 5 +-
app/Resources/icons/podcasting/podverse.svg | 5 +-
.../icons/podcasting/radiopublic.svg | 5 +-
app/Resources/icons/podcasting/sphinxchat.svg | 5 +-
app/Resources/icons/podcasting/spotify.svg | 5 +-
app/Resources/icons/podcasting/spreaker.svg | 5 +-
app/Resources/icons/podcasting/stitcher.svg | 1 +
app/Resources/icons/podcasting/truefans.svg | 2 +-
app/Resources/icons/podcasting/tsacdop.svg | 5 +-
app/Resources/icons/podcasting/tunein.svg | 5 +-
.../icons/podcasting/youtube-music.svg | 2 +-
app/Resources/icons/question.svg | 1 -
app/Resources/icons/quote.svg | 1 -
app/Resources/icons/refresh.svg | 1 -
app/Resources/icons/repeat.svg | 1 -
app/Resources/icons/rocket-tilted.svg | 1 -
app/Resources/icons/rss.svg | 1 -
app/Resources/icons/scales.svg | 1 -
app/Resources/icons/search.svg | 1 -
app/Resources/icons/send-plane.svg | 1 -
app/Resources/icons/settings.svg | 1 -
app/Resources/icons/shield-user.svg | 1 -
app/Resources/icons/social/_index.php | 28 ++
app/Resources/icons/social/bluesky.svg | 2 +-
app/Resources/icons/social/castopod.svg | 5 +-
app/Resources/icons/social/default.svg | 5 +-
app/Resources/icons/social/discord.svg | 5 +-
app/Resources/icons/social/facebook.svg | 5 +-
app/Resources/icons/social/funkwhale.svg | 5 +-
app/Resources/icons/social/instagram.svg | 5 +-
app/Resources/icons/social/linkedin.svg | 5 +-
app/Resources/icons/social/mastodon.svg | 5 +-
app/Resources/icons/social/matrix.svg | 5 +-
app/Resources/icons/social/misskey.svg | 5 +-
app/Resources/icons/social/mobilizon.svg | 5 +-
app/Resources/icons/social/peertube.svg | 5 +-
app/Resources/icons/social/pixelfed.svg | 5 +-
app/Resources/icons/social/pleroma.svg | 5 +-
app/Resources/icons/social/plume.svg | 5 +-
app/Resources/icons/social/reddit.svg | 5 +-
app/Resources/icons/social/slack.svg | 5 +-
app/Resources/icons/social/telegram.svg | 4 +-
app/Resources/icons/social/threads.svg | 2 +-
app/Resources/icons/social/tiktok.svg | 5 +-
app/Resources/icons/social/twitch.svg | 5 +-
app/Resources/icons/social/twitter.svg | 5 +-
app/Resources/icons/social/writefreely.svg | 5 +-
app/Resources/icons/social/x.svg | 2 +-
app/Resources/icons/social/youtube.svg | 5 +-
app/Resources/icons/sort.svg | 1 -
app/Resources/icons/timer.svg | 1 -
app/Resources/icons/upload-cloud.svg | 1 -
app/Resources/icons/user-add.svg | 1 -
app/Resources/icons/user-follow.svg | 1 -
app/Resources/icons/volume-high.svg | 1 -
app/Resources/icons/volume-low.svg | 1 -
app/Resources/icons/volume-mute.svg | 1 -
app/Views/Components/Alert.php | 12 +-
app/Views/Components/Button.php | 10 +-
app/Views/Components/DashboardCard.php | 6 +-
app/Views/Components/Forms/DatetimePicker.php | 2 +-
app/Views/Components/Forms/MarkdownEditor.php | 15 +-
app/Views/Components/Icon.php | 27 --
app/Views/Components/IconButton.php | 4 +-
app/Views/Components/Pill.php | 4 +-
app/Views/errors/html/production.php | 8 +-
composer.json | 9 +-
composer.lock | 279 ++++++++++++++----
modules/Api/Rest/V1/Filters/ApiFilter.php | 1 +
modules/Fediverse/Filters/FediverseFilter.php | 2 +-
.../Filters/PodcastUnlockFilter.php | 2 +-
package.json | 2 +-
php-icons.php | 20 ++
themes/cp_admin/_layout.php | 6 +-
themes/cp_admin/_partials/_nav_aside.php | 4 +-
themes/cp_admin/_partials/_nav_header.php | 26 +-
themes/cp_admin/_partials/_nav_menu.php | 6 +-
themes/cp_admin/_sidebar.php | 14 +-
themes/cp_admin/contributor/delete.php | 2 +-
themes/cp_admin/contributor/list.php | 11 +-
themes/cp_admin/dashboard.php | 9 +-
themes/cp_admin/episode/_card.php | 10 +-
themes/cp_admin/episode/_sidebar.php | 26 +-
themes/cp_admin/episode/delete.php | 2 +-
themes/cp_admin/episode/edit.php | 22 +-
themes/cp_admin/episode/embed.php | 6 +-
themes/cp_admin/episode/list.php | 19 +-
themes/cp_admin/episode/persons.php | 6 +-
themes/cp_admin/episode/publish.php | 18 +-
themes/cp_admin/episode/publish_date_edit.php | 4 +-
themes/cp_admin/episode/publish_edit.php | 18 +-
themes/cp_admin/episode/soundbites_list.php | 5 +-
themes/cp_admin/episode/soundbites_new.php | 3 +-
themes/cp_admin/episode/unpublish.php | 2 +-
themes/cp_admin/episode/video_clips_list.php | 34 ++-
themes/cp_admin/episode/video_clips_new.php | 3 +-
.../episode/video_clips_requirements.php | 12 +-
themes/cp_admin/episode/view.php | 3 +-
themes/cp_admin/import/_queue_table.php | 28 +-
themes/cp_admin/import/add_to_queue.php | 7 +-
themes/cp_admin/import/podcast_queue.php | 3 +-
themes/cp_admin/import/queue.php | 3 +-
themes/cp_admin/page/list.php | 3 +-
themes/cp_admin/page/view.php | 3 +-
themes/cp_admin/person/_card.php | 2 +-
themes/cp_admin/person/list.php | 3 +-
themes/cp_admin/person/view.php | 3 +-
themes/cp_admin/podcast/_card.php | 14 +-
themes/cp_admin/podcast/_platform.php | 11 +-
themes/cp_admin/podcast/_sidebar.php | 40 ++-
themes/cp_admin/podcast/create.php | 8 +-
themes/cp_admin/podcast/delete.php | 2 +-
themes/cp_admin/podcast/edit.php | 14 +-
themes/cp_admin/podcast/latest_episodes.php | 4 +-
themes/cp_admin/podcast/list.php | 8 +-
themes/cp_admin/podcast/notifications.php | 18 +-
themes/cp_admin/podcast/persons.php | 6 +-
themes/cp_admin/podcast/publish.php | 18 +-
themes/cp_admin/podcast/publish_edit.php | 18 +-
themes/cp_admin/podcast/view.php | 8 +-
themes/cp_admin/settings/about.php | 8 +-
themes/cp_admin/settings/general.php | 10 +-
themes/cp_admin/subscription/delete.php | 2 +-
themes/cp_admin/subscription/list.php | 5 +-
themes/cp_admin/subscription/suspend.php | 5 +-
themes/cp_admin/user/delete.php | 2 +-
themes/cp_admin/user/list.php | 10 +-
themes/cp_app/_admin_navbar.php | 20 +-
themes/cp_app/_persons_modal.php | 2 +-
themes/cp_app/embed.php | 5 +-
themes/cp_app/episode/_layout-preview.php | 24 +-
themes/cp_app/episode/_layout.php | 16 +-
themes/cp_app/episode/_partials/card.php | 8 +-
themes/cp_app/episode/_partials/chapter.php | 4 +-
.../episode/_partials/comment_actions.php | 16 +-
.../_partials/comment_actions_from_post.php | 16 +-
.../cp_app/episode/_partials/comment_card.php | 8 +-
.../_partials/comment_reply_actions.php | 12 +-
.../_partials/comment_with_replies.php | 3 +-
.../cp_app/episode/_partials/navigation.php | 2 +-
.../cp_app/episode/_partials/preview_card.php | 8 +-
themes/cp_app/episode/activity.php | 3 +-
themes/cp_app/episode/comment.php | 2 +-
themes/cp_app/episode/comments.php | 3 +-
themes/cp_app/home.php | 13 +-
themes/cp_app/pages/_layout.php | 2 +-
themes/cp_app/pages/map.php | 6 +-
themes/cp_app/podcast/_layout.php | 12 +-
.../podcast/_partials/funding_links_modal.php | 2 +-
.../cp_app/podcast/_partials/navigation.php | 2 +-
.../podcast/_partials/premium_banner.php | 19 +-
themes/cp_app/podcast/_partials/sidebar.php | 20 +-
themes/cp_app/podcast/activity.php | 3 +-
themes/cp_app/podcast/episodes.php | 10 +-
themes/cp_app/podcast/follow.php | 7 +-
themes/cp_app/podcast/links.php | 27 +-
themes/cp_app/podcast/unlock.php | 9 +-
themes/cp_app/post/_partials/actions.php | 30 +-
.../post/_partials/post_with_replies.php | 3 +-
themes/cp_app/post/_partials/preview_card.php | 12 +-
themes/cp_app/post/_partials/reblog.php | 6 +-
.../cp_app/post/_partials/reply_actions.php | 29 +-
themes/cp_app/post/post.php | 6 +-
themes/cp_app/post/remote_action.php | 8 +-
themes/cp_auth/_layout.php | 4 +-
themes/cp_install/_layout.php | 4 +-
themes/cp_install/cache_config.php | 4 +-
themes/cp_install/create_superadmin.php | 4 +-
themes/cp_install/database_config.php | 4 +-
themes/cp_install/instance_config.php | 4 +-
themes/cp_install/manual_config.php | 4 +-
287 files changed, 1105 insertions(+), 864 deletions(-)
delete mode 100644 app/Resources/icons/account-circle.svg
delete mode 100755 app/Resources/icons/add-box.svg
delete mode 100755 app/Resources/icons/add.svg
delete mode 100755 app/Resources/icons/alert.svg
delete mode 100644 app/Resources/icons/arrow-left.svg
delete mode 100644 app/Resources/icons/arrow-right.svg
delete mode 100644 app/Resources/icons/at.svg
delete mode 100644 app/Resources/icons/bold.svg
delete mode 100644 app/Resources/icons/broadcast.svg
delete mode 100644 app/Resources/icons/calendar.svg
delete mode 100644 app/Resources/icons/caret-down.svg
delete mode 100644 app/Resources/icons/caret-right.svg
delete mode 100755 app/Resources/icons/chat.svg
delete mode 100644 app/Resources/icons/check.svg
delete mode 100644 app/Resources/icons/chevron-left.svg
delete mode 100644 app/Resources/icons/chevron-right.svg
delete mode 100644 app/Resources/icons/clapperboard.svg
delete mode 100644 app/Resources/icons/clipboard.svg
delete mode 100644 app/Resources/icons/close.svg
delete mode 100755 app/Resources/icons/cloud-off.svg
delete mode 100644 app/Resources/icons/dashboard.svg
delete mode 100644 app/Resources/icons/database.svg
delete mode 100755 app/Resources/icons/delete-bin.svg
delete mode 100644 app/Resources/icons/disc.svg
delete mode 100755 app/Resources/icons/download.svg
delete mode 100755 app/Resources/icons/edit.svg
delete mode 100644 app/Resources/icons/error-warning.svg
delete mode 100644 app/Resources/icons/exchange-dollar.svg
delete mode 100755 app/Resources/icons/external-link.svg
delete mode 100755 app/Resources/icons/eye.svg
delete mode 100755 app/Resources/icons/file-copy.svg
delete mode 100644 app/Resources/icons/file-download.svg
delete mode 100755 app/Resources/icons/folder-user.svg
delete mode 100644 app/Resources/icons/forbid.svg
create mode 100644 app/Resources/icons/funding/_index.php
delete mode 100755 app/Resources/icons/group.svg
delete mode 100644 app/Resources/icons/heading.svg
delete mode 100755 app/Resources/icons/heart.svg
delete mode 100644 app/Resources/icons/history.svg
delete mode 100644 app/Resources/icons/home-gear.svg
delete mode 100644 app/Resources/icons/image-add.svg
delete mode 100644 app/Resources/icons/information.svg
delete mode 100644 app/Resources/icons/italic.svg
delete mode 100755 app/Resources/icons/line-chart.svg
delete mode 100755 app/Resources/icons/link.svg
delete mode 100644 app/Resources/icons/list-ordered.svg
delete mode 100644 app/Resources/icons/list-unordered.svg
delete mode 100644 app/Resources/icons/loader.svg
delete mode 100644 app/Resources/icons/lock-unlock.svg
delete mode 100644 app/Resources/icons/lock.svg
delete mode 100644 app/Resources/icons/loop-left.svg
delete mode 100644 app/Resources/icons/map-pin.svg
delete mode 100644 app/Resources/icons/markdown.svg
delete mode 100755 app/Resources/icons/menu.svg
delete mode 100755 app/Resources/icons/mic.svg
delete mode 100644 app/Resources/icons/money-dollar-circle.svg
delete mode 100755 app/Resources/icons/more.svg
delete mode 100755 app/Resources/icons/movie.svg
delete mode 100644 app/Resources/icons/notification.svg
delete mode 100755 app/Resources/icons/pages.svg
delete mode 100644 app/Resources/icons/pause.svg
delete mode 100644 app/Resources/icons/play-circle.svg
delete mode 100644 app/Resources/icons/play.svg
create mode 100644 app/Resources/icons/podcasting/_index.php
create mode 100755 app/Resources/icons/podcasting/breaker.svg
create mode 100755 app/Resources/icons/podcasting/google.svg
create mode 100755 app/Resources/icons/podcasting/stitcher.svg
delete mode 100755 app/Resources/icons/question.svg
delete mode 100644 app/Resources/icons/quote.svg
delete mode 100644 app/Resources/icons/refresh.svg
delete mode 100644 app/Resources/icons/repeat.svg
delete mode 100644 app/Resources/icons/rocket-tilted.svg
delete mode 100755 app/Resources/icons/rss.svg
delete mode 100755 app/Resources/icons/scales.svg
delete mode 100644 app/Resources/icons/search.svg
delete mode 100644 app/Resources/icons/send-plane.svg
delete mode 100755 app/Resources/icons/settings.svg
delete mode 100644 app/Resources/icons/shield-user.svg
create mode 100644 app/Resources/icons/social/_index.php
delete mode 100644 app/Resources/icons/sort.svg
delete mode 100755 app/Resources/icons/timer.svg
delete mode 100755 app/Resources/icons/upload-cloud.svg
delete mode 100755 app/Resources/icons/user-add.svg
delete mode 100644 app/Resources/icons/user-follow.svg
delete mode 100644 app/Resources/icons/volume-high.svg
delete mode 100644 app/Resources/icons/volume-low.svg
delete mode 100644 app/Resources/icons/volume-mute.svg
delete mode 100644 app/Views/Components/Icon.php
create mode 100644 php-icons.php
diff --git a/app/Config/Autoload.php b/app/Config/Autoload.php
index 29878b13..45072e31 100644
--- a/app/Config/Autoload.php
+++ b/app/Config/Autoload.php
@@ -108,5 +108,5 @@ class Autoload extends AutoloadConfig
*
* @var list
*/
- public $helpers = ['auth', 'setting'];
+ public $helpers = ['auth', 'setting', 'icons'];
}
diff --git a/app/Helpers/components_helper.php b/app/Helpers/components_helper.php
index ad7485a5..9af72667 100644
--- a/app/Helpers/components_helper.php
+++ b/app/Helpers/components_helper.php
@@ -35,7 +35,7 @@ if (! function_exists('hint_tooltip')) {
$tooltip .= ' ' . $class;
}
- return $tooltip . '">' . icon('question') . '';
+ return $tooltip . '">' . icon('question-fill') . '';
}
}
@@ -156,20 +156,20 @@ if (! function_exists('publication_button')) {
$label = lang('Episode.publish');
$route = route_to('episode-publish', $podcastId, $episodeId);
$variant = 'primary';
- $iconLeft = 'upload-cloud';
+ $iconLeft = 'upload-cloud-fill'; // @icon('upload-cloud-fill')
break;
case 'with_podcast':
case 'scheduled':
$label = lang('Episode.publish_edit');
$route = route_to('episode-publish_edit', $podcastId, $episodeId);
$variant = 'warning';
- $iconLeft = 'upload-cloud';
+ $iconLeft = 'upload-cloud-fill'; // @icon('upload-cloud-fill')
break;
case 'published':
$label = lang('Episode.unpublish');
$route = route_to('episode-unpublish', $podcastId, $episodeId);
$variant = 'danger';
- $iconLeft = 'cloud-off';
+ $iconLeft = 'cloud-off-fill'; // @icon('cloud-off-fill')
break;
default:
$label = '';
@@ -350,7 +350,9 @@ if (! function_exists('location_link')) {
return anchor(
$location->url,
- icon('map-pin', 'mr-2 flex-shrink-0') . '' . esc($location->name) . '',
+ icon('map-pin-2-fill', [
+ 'class' => 'mr-2 flex-shrink-0',
+ ]) . '' . esc($location->name) . '',
[
'class' => 'w-full overflow-hidden inline-flex items-baseline hover:underline focus:ring-accent' .
($class === '' ? '' : " {$class}"),
diff --git a/app/Helpers/svg_helper.php b/app/Helpers/svg_helper.php
index a12f597a..043f4893 100644
--- a/app/Helpers/svg_helper.php
+++ b/app/Helpers/svg_helper.php
@@ -8,39 +8,6 @@ declare(strict_types=1);
* @link https://castopod.org/
*/
-if (! function_exists('icon')) {
- /**
- * Returns the inline svg icon
- *
- * @param string $name name of the icon file without the .svg extension
- * @param string $class to be added to the svg string
- * @param string|null $type type of icon to be added
- * @return string svg contents
- */
- function icon(string $name, string $class = '', string $type = null): string
- {
- if ($type !== null) {
- $name = $type . '/' . $name;
- }
-
- try {
- $svgContents = file_get_contents('assets/icons/' . $name . '.svg');
- } catch (Exception) {
- if ($type !== null) {
- return icon('default', $class, $type);
- }
-
- return '□';
- }
-
- if ($class !== '') {
- return str_replace('
\ No newline at end of file
diff --git a/app/Resources/icons/add-box.svg b/app/Resources/icons/add-box.svg
deleted file mode 100755
index f4b1942f..00000000
--- a/app/Resources/icons/add-box.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/add.svg b/app/Resources/icons/add.svg
deleted file mode 100755
index 4fed9cd0..00000000
--- a/app/Resources/icons/add.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/alert.svg b/app/Resources/icons/alert.svg
deleted file mode 100755
index ba526a18..00000000
--- a/app/Resources/icons/alert.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/arrow-left.svg b/app/Resources/icons/arrow-left.svg
deleted file mode 100644
index 29f6b7d0..00000000
--- a/app/Resources/icons/arrow-left.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/arrow-right.svg b/app/Resources/icons/arrow-right.svg
deleted file mode 100644
index 6fc0e9d5..00000000
--- a/app/Resources/icons/arrow-right.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/at.svg b/app/Resources/icons/at.svg
deleted file mode 100644
index 6a14a65b..00000000
--- a/app/Resources/icons/at.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/bold.svg b/app/Resources/icons/bold.svg
deleted file mode 100644
index 8502e2f5..00000000
--- a/app/Resources/icons/bold.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/broadcast.svg b/app/Resources/icons/broadcast.svg
deleted file mode 100644
index 3477f898..00000000
--- a/app/Resources/icons/broadcast.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/calendar.svg b/app/Resources/icons/calendar.svg
deleted file mode 100644
index 91497005..00000000
--- a/app/Resources/icons/calendar.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/caret-down.svg b/app/Resources/icons/caret-down.svg
deleted file mode 100644
index 54e5fe04..00000000
--- a/app/Resources/icons/caret-down.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/caret-right.svg b/app/Resources/icons/caret-right.svg
deleted file mode 100644
index e3079866..00000000
--- a/app/Resources/icons/caret-right.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/chat.svg b/app/Resources/icons/chat.svg
deleted file mode 100755
index 316f488d..00000000
--- a/app/Resources/icons/chat.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/check.svg b/app/Resources/icons/check.svg
deleted file mode 100644
index a195ed05..00000000
--- a/app/Resources/icons/check.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/chevron-left.svg b/app/Resources/icons/chevron-left.svg
deleted file mode 100644
index 087efae4..00000000
--- a/app/Resources/icons/chevron-left.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/chevron-right.svg b/app/Resources/icons/chevron-right.svg
deleted file mode 100644
index 48dcbb05..00000000
--- a/app/Resources/icons/chevron-right.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/clapperboard.svg b/app/Resources/icons/clapperboard.svg
deleted file mode 100644
index 1e8cca28..00000000
--- a/app/Resources/icons/clapperboard.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/clipboard.svg b/app/Resources/icons/clipboard.svg
deleted file mode 100644
index 143af421..00000000
--- a/app/Resources/icons/clipboard.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/close.svg b/app/Resources/icons/close.svg
deleted file mode 100644
index ddd46522..00000000
--- a/app/Resources/icons/close.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/cloud-off.svg b/app/Resources/icons/cloud-off.svg
deleted file mode 100755
index 34abcff2..00000000
--- a/app/Resources/icons/cloud-off.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/dashboard.svg b/app/Resources/icons/dashboard.svg
deleted file mode 100644
index 7fb04d5a..00000000
--- a/app/Resources/icons/dashboard.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/database.svg b/app/Resources/icons/database.svg
deleted file mode 100644
index fe928126..00000000
--- a/app/Resources/icons/database.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/delete-bin.svg b/app/Resources/icons/delete-bin.svg
deleted file mode 100755
index 6203485e..00000000
--- a/app/Resources/icons/delete-bin.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/disc.svg b/app/Resources/icons/disc.svg
deleted file mode 100644
index de14b2b5..00000000
--- a/app/Resources/icons/disc.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/download.svg b/app/Resources/icons/download.svg
deleted file mode 100755
index 84d71589..00000000
--- a/app/Resources/icons/download.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/edit.svg b/app/Resources/icons/edit.svg
deleted file mode 100755
index 92484f4d..00000000
--- a/app/Resources/icons/edit.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/error-warning.svg b/app/Resources/icons/error-warning.svg
deleted file mode 100644
index 04bc9aff..00000000
--- a/app/Resources/icons/error-warning.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/exchange-dollar.svg b/app/Resources/icons/exchange-dollar.svg
deleted file mode 100644
index 9e0271c0..00000000
--- a/app/Resources/icons/exchange-dollar.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/external-link.svg b/app/Resources/icons/external-link.svg
deleted file mode 100755
index f5017634..00000000
--- a/app/Resources/icons/external-link.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/eye.svg b/app/Resources/icons/eye.svg
deleted file mode 100755
index 93969ca9..00000000
--- a/app/Resources/icons/eye.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/file-copy.svg b/app/Resources/icons/file-copy.svg
deleted file mode 100755
index 4c1511b9..00000000
--- a/app/Resources/icons/file-copy.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/file-download.svg b/app/Resources/icons/file-download.svg
deleted file mode 100644
index d0a0c930..00000000
--- a/app/Resources/icons/file-download.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/folder-user.svg b/app/Resources/icons/folder-user.svg
deleted file mode 100755
index 57be0618..00000000
--- a/app/Resources/icons/folder-user.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/forbid.svg b/app/Resources/icons/forbid.svg
deleted file mode 100644
index 311f5ed3..00000000
--- a/app/Resources/icons/forbid.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/funding/_index.php b/app/Resources/icons/funding/_index.php
new file mode 100644
index 00000000..e4e34444
--- /dev/null
+++ b/app/Resources/icons/funding/_index.php
@@ -0,0 +1,19 @@
+
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/funding/default.svg b/app/Resources/icons/funding/default.svg
index 0c7876ae..7dd88909 100644
--- a/app/Resources/icons/funding/default.svg
+++ b/app/Resources/icons/funding/default.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/funding/donorbox.svg b/app/Resources/icons/funding/donorbox.svg
index 364837eb..502860a2 100644
--- a/app/Resources/icons/funding/donorbox.svg
+++ b/app/Resources/icons/funding/donorbox.svg
@@ -1,4 +1 @@
-
+
\ No newline at end of file
diff --git a/app/Resources/icons/funding/gofundme.svg b/app/Resources/icons/funding/gofundme.svg
index 976e231a..5cee4579 100755
--- a/app/Resources/icons/funding/gofundme.svg
+++ b/app/Resources/icons/funding/gofundme.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/funding/helloasso.svg b/app/Resources/icons/funding/helloasso.svg
index e32d9a3f..381aefef 100755
--- a/app/Resources/icons/funding/helloasso.svg
+++ b/app/Resources/icons/funding/helloasso.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/funding/indiegogo.svg b/app/Resources/icons/funding/indiegogo.svg
index beb3ca26..6cad95a0 100755
--- a/app/Resources/icons/funding/indiegogo.svg
+++ b/app/Resources/icons/funding/indiegogo.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/funding/kickstarter.svg b/app/Resources/icons/funding/kickstarter.svg
index a300d7be..9be7ebac 100755
--- a/app/Resources/icons/funding/kickstarter.svg
+++ b/app/Resources/icons/funding/kickstarter.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/funding/kisskissbankbank.svg b/app/Resources/icons/funding/kisskissbankbank.svg
index 4755a204..aafd6f4c 100755
--- a/app/Resources/icons/funding/kisskissbankbank.svg
+++ b/app/Resources/icons/funding/kisskissbankbank.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/funding/kofi.svg b/app/Resources/icons/funding/kofi.svg
index e27ef1b4..0bcbc636 100644
--- a/app/Resources/icons/funding/kofi.svg
+++ b/app/Resources/icons/funding/kofi.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/funding/liberapay.svg b/app/Resources/icons/funding/liberapay.svg
index 827862fc..79b03686 100755
--- a/app/Resources/icons/funding/liberapay.svg
+++ b/app/Resources/icons/funding/liberapay.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/funding/patreon.svg b/app/Resources/icons/funding/patreon.svg
index 39e20c5a..0bf9b7f0 100755
--- a/app/Resources/icons/funding/patreon.svg
+++ b/app/Resources/icons/funding/patreon.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/funding/paypal.svg b/app/Resources/icons/funding/paypal.svg
index 2b525b0c..9f3be76a 100755
--- a/app/Resources/icons/funding/paypal.svg
+++ b/app/Resources/icons/funding/paypal.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/funding/tipeee.svg b/app/Resources/icons/funding/tipeee.svg
index e3797fee..0c346332 100755
--- a/app/Resources/icons/funding/tipeee.svg
+++ b/app/Resources/icons/funding/tipeee.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/funding/ulule.svg b/app/Resources/icons/funding/ulule.svg
index c5002f2d..72f1a65a 100755
--- a/app/Resources/icons/funding/ulule.svg
+++ b/app/Resources/icons/funding/ulule.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/group.svg b/app/Resources/icons/group.svg
deleted file mode 100755
index e8cc1a1d..00000000
--- a/app/Resources/icons/group.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/heading.svg b/app/Resources/icons/heading.svg
deleted file mode 100644
index a0d8a6c1..00000000
--- a/app/Resources/icons/heading.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/heart.svg b/app/Resources/icons/heart.svg
deleted file mode 100755
index 67c57616..00000000
--- a/app/Resources/icons/heart.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/history.svg b/app/Resources/icons/history.svg
deleted file mode 100644
index eae809d5..00000000
--- a/app/Resources/icons/history.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/home-gear.svg b/app/Resources/icons/home-gear.svg
deleted file mode 100644
index ef1a6de0..00000000
--- a/app/Resources/icons/home-gear.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/image-add.svg b/app/Resources/icons/image-add.svg
deleted file mode 100644
index 2b5ada85..00000000
--- a/app/Resources/icons/image-add.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/information.svg b/app/Resources/icons/information.svg
deleted file mode 100644
index 37f63f52..00000000
--- a/app/Resources/icons/information.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/italic.svg b/app/Resources/icons/italic.svg
deleted file mode 100644
index 9cad6165..00000000
--- a/app/Resources/icons/italic.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/line-chart.svg b/app/Resources/icons/line-chart.svg
deleted file mode 100755
index 0af14c94..00000000
--- a/app/Resources/icons/line-chart.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/link.svg b/app/Resources/icons/link.svg
deleted file mode 100755
index e70aba7b..00000000
--- a/app/Resources/icons/link.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/list-ordered.svg b/app/Resources/icons/list-ordered.svg
deleted file mode 100644
index bc95fbf0..00000000
--- a/app/Resources/icons/list-ordered.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/list-unordered.svg b/app/Resources/icons/list-unordered.svg
deleted file mode 100644
index 6d4fe2e1..00000000
--- a/app/Resources/icons/list-unordered.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/loader.svg b/app/Resources/icons/loader.svg
deleted file mode 100644
index b3bbd916..00000000
--- a/app/Resources/icons/loader.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/lock-unlock.svg b/app/Resources/icons/lock-unlock.svg
deleted file mode 100644
index fc58eead..00000000
--- a/app/Resources/icons/lock-unlock.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/lock.svg b/app/Resources/icons/lock.svg
deleted file mode 100644
index 33fd4a7a..00000000
--- a/app/Resources/icons/lock.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/loop-left.svg b/app/Resources/icons/loop-left.svg
deleted file mode 100644
index ceddcd67..00000000
--- a/app/Resources/icons/loop-left.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/map-pin.svg b/app/Resources/icons/map-pin.svg
deleted file mode 100644
index e3d636be..00000000
--- a/app/Resources/icons/map-pin.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/markdown.svg b/app/Resources/icons/markdown.svg
deleted file mode 100644
index c52fbbfa..00000000
--- a/app/Resources/icons/markdown.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/menu.svg b/app/Resources/icons/menu.svg
deleted file mode 100755
index caeaa246..00000000
--- a/app/Resources/icons/menu.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/mic.svg b/app/Resources/icons/mic.svg
deleted file mode 100755
index 9ae8b850..00000000
--- a/app/Resources/icons/mic.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/money-dollar-circle.svg b/app/Resources/icons/money-dollar-circle.svg
deleted file mode 100644
index 2910102a..00000000
--- a/app/Resources/icons/money-dollar-circle.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/more.svg b/app/Resources/icons/more.svg
deleted file mode 100755
index 8d891a89..00000000
--- a/app/Resources/icons/more.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/movie.svg b/app/Resources/icons/movie.svg
deleted file mode 100755
index 4eaa280e..00000000
--- a/app/Resources/icons/movie.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/notification.svg b/app/Resources/icons/notification.svg
deleted file mode 100644
index 4e46ee6f..00000000
--- a/app/Resources/icons/notification.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/pages.svg b/app/Resources/icons/pages.svg
deleted file mode 100755
index 689353cc..00000000
--- a/app/Resources/icons/pages.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/pause.svg b/app/Resources/icons/pause.svg
deleted file mode 100644
index 86832243..00000000
--- a/app/Resources/icons/pause.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/play-circle.svg b/app/Resources/icons/play-circle.svg
deleted file mode 100644
index 4f6a4f34..00000000
--- a/app/Resources/icons/play-circle.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/play.svg b/app/Resources/icons/play.svg
deleted file mode 100644
index 726dfb60..00000000
--- a/app/Resources/icons/play.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/_index.php b/app/Resources/icons/podcasting/_index.php
new file mode 100644
index 00000000..f6b7b176
--- /dev/null
+++ b/app/Resources/icons/podcasting/_index.php
@@ -0,0 +1,48 @@
+
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/antennapod.svg b/app/Resources/icons/podcasting/antennapod.svg
index 0e0b9006..044712e6 100755
--- a/app/Resources/icons/podcasting/antennapod.svg
+++ b/app/Resources/icons/podcasting/antennapod.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/anytime.svg b/app/Resources/icons/podcasting/anytime.svg
index d7e778a7..14f22a8b 100644
--- a/app/Resources/icons/podcasting/anytime.svg
+++ b/app/Resources/icons/podcasting/anytime.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/apple.svg b/app/Resources/icons/podcasting/apple.svg
index 31e26446..74f3efc7 100755
--- a/app/Resources/icons/podcasting/apple.svg
+++ b/app/Resources/icons/podcasting/apple.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/blubrry.svg b/app/Resources/icons/podcasting/blubrry.svg
index a556a5d8..ca2a4da4 100755
--- a/app/Resources/icons/podcasting/blubrry.svg
+++ b/app/Resources/icons/podcasting/blubrry.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/breaker.svg b/app/Resources/icons/podcasting/breaker.svg
new file mode 100755
index 00000000..d4447648
--- /dev/null
+++ b/app/Resources/icons/podcasting/breaker.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/breez.svg b/app/Resources/icons/podcasting/breez.svg
index d0901c86..905542ac 100644
--- a/app/Resources/icons/podcasting/breez.svg
+++ b/app/Resources/icons/podcasting/breez.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/castamatic.svg b/app/Resources/icons/podcasting/castamatic.svg
index 6c97e493..e0914121 100644
--- a/app/Resources/icons/podcasting/castamatic.svg
+++ b/app/Resources/icons/podcasting/castamatic.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/castbox.svg b/app/Resources/icons/podcasting/castbox.svg
index 701e3721..c9f27fae 100755
--- a/app/Resources/icons/podcasting/castbox.svg
+++ b/app/Resources/icons/podcasting/castbox.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/castopod.svg b/app/Resources/icons/podcasting/castopod.svg
index 784f7818..b0d4374d 100755
--- a/app/Resources/icons/podcasting/castopod.svg
+++ b/app/Resources/icons/podcasting/castopod.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/castro.svg b/app/Resources/icons/podcasting/castro.svg
index 189e7d5a..0e075b05 100755
--- a/app/Resources/icons/podcasting/castro.svg
+++ b/app/Resources/icons/podcasting/castro.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/deezer.svg b/app/Resources/icons/podcasting/deezer.svg
index 9ac367b1..bcd3b7b3 100755
--- a/app/Resources/icons/podcasting/deezer.svg
+++ b/app/Resources/icons/podcasting/deezer.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/default.svg b/app/Resources/icons/podcasting/default.svg
index 09670128..6437d60d 100644
--- a/app/Resources/icons/podcasting/default.svg
+++ b/app/Resources/icons/podcasting/default.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/episodes-fm.svg b/app/Resources/icons/podcasting/episodes-fm.svg
index ec3b9572..e5ed1e34 100644
--- a/app/Resources/icons/podcasting/episodes-fm.svg
+++ b/app/Resources/icons/podcasting/episodes-fm.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/fountain.svg b/app/Resources/icons/podcasting/fountain.svg
index 558aea45..796047e7 100644
--- a/app/Resources/icons/podcasting/fountain.svg
+++ b/app/Resources/icons/podcasting/fountain.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/fyyd.svg b/app/Resources/icons/podcasting/fyyd.svg
index 8f93cda4..696d4983 100755
--- a/app/Resources/icons/podcasting/fyyd.svg
+++ b/app/Resources/icons/podcasting/fyyd.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/google.svg b/app/Resources/icons/podcasting/google.svg
new file mode 100755
index 00000000..ecd0e555
--- /dev/null
+++ b/app/Resources/icons/podcasting/google.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/gpodder.svg b/app/Resources/icons/podcasting/gpodder.svg
index a8e02542..b2b4b86d 100644
--- a/app/Resources/icons/podcasting/gpodder.svg
+++ b/app/Resources/icons/podcasting/gpodder.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/ivoox.svg b/app/Resources/icons/podcasting/ivoox.svg
index f6c76f4a..8cd43cb6 100755
--- a/app/Resources/icons/podcasting/ivoox.svg
+++ b/app/Resources/icons/podcasting/ivoox.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/listennotes.svg b/app/Resources/icons/podcasting/listennotes.svg
index 3f7826f1..f5336785 100755
--- a/app/Resources/icons/podcasting/listennotes.svg
+++ b/app/Resources/icons/podcasting/listennotes.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/overcast.svg b/app/Resources/icons/podcasting/overcast.svg
index 3c30ae4a..0fef49c4 100755
--- a/app/Resources/icons/podcasting/overcast.svg
+++ b/app/Resources/icons/podcasting/overcast.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/playerfm.svg b/app/Resources/icons/podcasting/playerfm.svg
index 4e0adb91..fe15dc7a 100755
--- a/app/Resources/icons/podcasting/playerfm.svg
+++ b/app/Resources/icons/podcasting/playerfm.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/plink.svg b/app/Resources/icons/podcasting/plink.svg
index 4f31d3e9..f300d7b2 100644
--- a/app/Resources/icons/podcasting/plink.svg
+++ b/app/Resources/icons/podcasting/plink.svg
@@ -1,5 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/pocketcasts.svg b/app/Resources/icons/podcasting/pocketcasts.svg
index 62b2b533..1815c259 100755
--- a/app/Resources/icons/podcasting/pocketcasts.svg
+++ b/app/Resources/icons/podcasting/pocketcasts.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/podbean.svg b/app/Resources/icons/podcasting/podbean.svg
index 71d160bd..dc522606 100755
--- a/app/Resources/icons/podcasting/podbean.svg
+++ b/app/Resources/icons/podcasting/podbean.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/podcastaddict.svg b/app/Resources/icons/podcasting/podcastaddict.svg
index 83e02432..c16a756d 100755
--- a/app/Resources/icons/podcasting/podcastaddict.svg
+++ b/app/Resources/icons/podcasting/podcastaddict.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/podcastguru.svg b/app/Resources/icons/podcasting/podcastguru.svg
index 3d3909fa..ea61e070 100644
--- a/app/Resources/icons/podcasting/podcastguru.svg
+++ b/app/Resources/icons/podcasting/podcastguru.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/podcastindex.svg b/app/Resources/icons/podcasting/podcastindex.svg
index 9c46acc6..40659726 100755
--- a/app/Resources/icons/podcasting/podcastindex.svg
+++ b/app/Resources/icons/podcasting/podcastindex.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/podchaser.svg b/app/Resources/icons/podcasting/podchaser.svg
index 5996f9d4..f3fd817b 100755
--- a/app/Resources/icons/podcasting/podchaser.svg
+++ b/app/Resources/icons/podcasting/podchaser.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/podcloud.svg b/app/Resources/icons/podcasting/podcloud.svg
index eee11508..ab39751b 100755
--- a/app/Resources/icons/podcasting/podcloud.svg
+++ b/app/Resources/icons/podcasting/podcloud.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/podfriend.svg b/app/Resources/icons/podcasting/podfriend.svg
index 7b84e85d..026b66af 100755
--- a/app/Resources/icons/podcasting/podfriend.svg
+++ b/app/Resources/icons/podcasting/podfriend.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/podinstall.svg b/app/Resources/icons/podcasting/podinstall.svg
index ccc7c5be..773cef9b 100755
--- a/app/Resources/icons/podcasting/podinstall.svg
+++ b/app/Resources/icons/podcasting/podinstall.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/podlink.svg b/app/Resources/icons/podcasting/podlink.svg
index e0ad3e83..44c9abfb 100755
--- a/app/Resources/icons/podcasting/podlink.svg
+++ b/app/Resources/icons/podcasting/podlink.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/podlp.svg b/app/Resources/icons/podcasting/podlp.svg
index f4a9a5c7..55fcc6a1 100644
--- a/app/Resources/icons/podcasting/podlp.svg
+++ b/app/Resources/icons/podcasting/podlp.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/podnews.svg b/app/Resources/icons/podcasting/podnews.svg
index 95f890cc..fd9302c8 100644
--- a/app/Resources/icons/podcasting/podnews.svg
+++ b/app/Resources/icons/podcasting/podnews.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/podtail.svg b/app/Resources/icons/podcasting/podtail.svg
index b0b10dd9..222d9086 100755
--- a/app/Resources/icons/podcasting/podtail.svg
+++ b/app/Resources/icons/podcasting/podtail.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/podverse.svg b/app/Resources/icons/podcasting/podverse.svg
index 4a710f64..e823ae45 100755
--- a/app/Resources/icons/podcasting/podverse.svg
+++ b/app/Resources/icons/podcasting/podverse.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/radiopublic.svg b/app/Resources/icons/podcasting/radiopublic.svg
index de3ff737..5c6e8893 100755
--- a/app/Resources/icons/podcasting/radiopublic.svg
+++ b/app/Resources/icons/podcasting/radiopublic.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/sphinxchat.svg b/app/Resources/icons/podcasting/sphinxchat.svg
index 95c2c4c4..b02f3575 100644
--- a/app/Resources/icons/podcasting/sphinxchat.svg
+++ b/app/Resources/icons/podcasting/sphinxchat.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/spotify.svg b/app/Resources/icons/podcasting/spotify.svg
index 43d56a18..2068709c 100755
--- a/app/Resources/icons/podcasting/spotify.svg
+++ b/app/Resources/icons/podcasting/spotify.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/spreaker.svg b/app/Resources/icons/podcasting/spreaker.svg
index 30cc454c..dcb7573f 100755
--- a/app/Resources/icons/podcasting/spreaker.svg
+++ b/app/Resources/icons/podcasting/spreaker.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/stitcher.svg b/app/Resources/icons/podcasting/stitcher.svg
new file mode 100755
index 00000000..50541d55
--- /dev/null
+++ b/app/Resources/icons/podcasting/stitcher.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/truefans.svg b/app/Resources/icons/podcasting/truefans.svg
index 63ad8fc7..e8aa9c14 100644
--- a/app/Resources/icons/podcasting/truefans.svg
+++ b/app/Resources/icons/podcasting/truefans.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/tsacdop.svg b/app/Resources/icons/podcasting/tsacdop.svg
index 0d3e288f..680bda13 100644
--- a/app/Resources/icons/podcasting/tsacdop.svg
+++ b/app/Resources/icons/podcasting/tsacdop.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/tunein.svg b/app/Resources/icons/podcasting/tunein.svg
index da721274..2e97932b 100755
--- a/app/Resources/icons/podcasting/tunein.svg
+++ b/app/Resources/icons/podcasting/tunein.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/podcasting/youtube-music.svg b/app/Resources/icons/podcasting/youtube-music.svg
index d8dc6a17..55b6d3dd 100755
--- a/app/Resources/icons/podcasting/youtube-music.svg
+++ b/app/Resources/icons/podcasting/youtube-music.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/question.svg b/app/Resources/icons/question.svg
deleted file mode 100755
index b93b2920..00000000
--- a/app/Resources/icons/question.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/quote.svg b/app/Resources/icons/quote.svg
deleted file mode 100644
index d60624ec..00000000
--- a/app/Resources/icons/quote.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/refresh.svg b/app/Resources/icons/refresh.svg
deleted file mode 100644
index 7d63f939..00000000
--- a/app/Resources/icons/refresh.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/repeat.svg b/app/Resources/icons/repeat.svg
deleted file mode 100644
index d68cd86c..00000000
--- a/app/Resources/icons/repeat.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/rocket-tilted.svg b/app/Resources/icons/rocket-tilted.svg
deleted file mode 100644
index 3b9bab8b..00000000
--- a/app/Resources/icons/rocket-tilted.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/app/Resources/icons/rss.svg b/app/Resources/icons/rss.svg
deleted file mode 100755
index ffdfe81c..00000000
--- a/app/Resources/icons/rss.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/scales.svg b/app/Resources/icons/scales.svg
deleted file mode 100755
index 65a37635..00000000
--- a/app/Resources/icons/scales.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/search.svg b/app/Resources/icons/search.svg
deleted file mode 100644
index 1f7398f4..00000000
--- a/app/Resources/icons/search.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/send-plane.svg b/app/Resources/icons/send-plane.svg
deleted file mode 100644
index 288e73c5..00000000
--- a/app/Resources/icons/send-plane.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/settings.svg b/app/Resources/icons/settings.svg
deleted file mode 100755
index 81e150cf..00000000
--- a/app/Resources/icons/settings.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/shield-user.svg b/app/Resources/icons/shield-user.svg
deleted file mode 100644
index 34088fca..00000000
--- a/app/Resources/icons/shield-user.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/social/_index.php b/app/Resources/icons/social/_index.php
new file mode 100644
index 00000000..4e6a94ac
--- /dev/null
+++ b/app/Resources/icons/social/_index.php
@@ -0,0 +1,28 @@
+
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/social/castopod.svg b/app/Resources/icons/social/castopod.svg
index 784f7818..b0d4374d 100755
--- a/app/Resources/icons/social/castopod.svg
+++ b/app/Resources/icons/social/castopod.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/social/default.svg b/app/Resources/icons/social/default.svg
index 3e1b678a..80fa3727 100644
--- a/app/Resources/icons/social/default.svg
+++ b/app/Resources/icons/social/default.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/social/discord.svg b/app/Resources/icons/social/discord.svg
index 9a63df1f..b58f33e9 100644
--- a/app/Resources/icons/social/discord.svg
+++ b/app/Resources/icons/social/discord.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/social/facebook.svg b/app/Resources/icons/social/facebook.svg
index c6ddd7e9..5246848b 100755
--- a/app/Resources/icons/social/facebook.svg
+++ b/app/Resources/icons/social/facebook.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/social/funkwhale.svg b/app/Resources/icons/social/funkwhale.svg
index 95b5abf6..8ec1da29 100755
--- a/app/Resources/icons/social/funkwhale.svg
+++ b/app/Resources/icons/social/funkwhale.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/social/instagram.svg b/app/Resources/icons/social/instagram.svg
index 7726b140..18f914d8 100755
--- a/app/Resources/icons/social/instagram.svg
+++ b/app/Resources/icons/social/instagram.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/social/linkedin.svg b/app/Resources/icons/social/linkedin.svg
index 9042d1ee..06cc775d 100755
--- a/app/Resources/icons/social/linkedin.svg
+++ b/app/Resources/icons/social/linkedin.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/social/mastodon.svg b/app/Resources/icons/social/mastodon.svg
index 7bab6080..ea82e727 100755
--- a/app/Resources/icons/social/mastodon.svg
+++ b/app/Resources/icons/social/mastodon.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/social/matrix.svg b/app/Resources/icons/social/matrix.svg
index 25644485..ae72a3bd 100644
--- a/app/Resources/icons/social/matrix.svg
+++ b/app/Resources/icons/social/matrix.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/social/misskey.svg b/app/Resources/icons/social/misskey.svg
index 2b8b3850..bd256f34 100644
--- a/app/Resources/icons/social/misskey.svg
+++ b/app/Resources/icons/social/misskey.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/social/mobilizon.svg b/app/Resources/icons/social/mobilizon.svg
index 564f3ca6..55166c3c 100755
--- a/app/Resources/icons/social/mobilizon.svg
+++ b/app/Resources/icons/social/mobilizon.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/social/peertube.svg b/app/Resources/icons/social/peertube.svg
index 4cf8e7f8..07e78d42 100755
--- a/app/Resources/icons/social/peertube.svg
+++ b/app/Resources/icons/social/peertube.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/social/pixelfed.svg b/app/Resources/icons/social/pixelfed.svg
index cb3e4d66..70d7f222 100755
--- a/app/Resources/icons/social/pixelfed.svg
+++ b/app/Resources/icons/social/pixelfed.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/social/pleroma.svg b/app/Resources/icons/social/pleroma.svg
index 657fe8ac..06795c62 100644
--- a/app/Resources/icons/social/pleroma.svg
+++ b/app/Resources/icons/social/pleroma.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/social/plume.svg b/app/Resources/icons/social/plume.svg
index 841b3c0e..17a3e787 100755
--- a/app/Resources/icons/social/plume.svg
+++ b/app/Resources/icons/social/plume.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/social/reddit.svg b/app/Resources/icons/social/reddit.svg
index 8a0d2f72..c6f879fe 100755
--- a/app/Resources/icons/social/reddit.svg
+++ b/app/Resources/icons/social/reddit.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/social/slack.svg b/app/Resources/icons/social/slack.svg
index 3737d5a2..4bddffc1 100755
--- a/app/Resources/icons/social/slack.svg
+++ b/app/Resources/icons/social/slack.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/social/telegram.svg b/app/Resources/icons/social/telegram.svg
index 3fa6cb61..127b316f 100644
--- a/app/Resources/icons/social/telegram.svg
+++ b/app/Resources/icons/social/telegram.svg
@@ -1,3 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/social/threads.svg b/app/Resources/icons/social/threads.svg
index dd499a6f..691d7276 100644
--- a/app/Resources/icons/social/threads.svg
+++ b/app/Resources/icons/social/threads.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/social/tiktok.svg b/app/Resources/icons/social/tiktok.svg
index d6a380d2..c68b6645 100755
--- a/app/Resources/icons/social/tiktok.svg
+++ b/app/Resources/icons/social/tiktok.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/social/twitch.svg b/app/Resources/icons/social/twitch.svg
index 79f77875..14747c46 100755
--- a/app/Resources/icons/social/twitch.svg
+++ b/app/Resources/icons/social/twitch.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/social/twitter.svg b/app/Resources/icons/social/twitter.svg
index 3c6492d2..1d17015b 100755
--- a/app/Resources/icons/social/twitter.svg
+++ b/app/Resources/icons/social/twitter.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/social/writefreely.svg b/app/Resources/icons/social/writefreely.svg
index 21bc015a..05965a88 100755
--- a/app/Resources/icons/social/writefreely.svg
+++ b/app/Resources/icons/social/writefreely.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/social/x.svg b/app/Resources/icons/social/x.svg
index f23e8f6d..9da09775 100755
--- a/app/Resources/icons/social/x.svg
+++ b/app/Resources/icons/social/x.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/social/youtube.svg b/app/Resources/icons/social/youtube.svg
index 3d875054..279e6b32 100755
--- a/app/Resources/icons/social/youtube.svg
+++ b/app/Resources/icons/social/youtube.svg
@@ -1,4 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/Resources/icons/sort.svg b/app/Resources/icons/sort.svg
deleted file mode 100644
index 0d67ac0c..00000000
--- a/app/Resources/icons/sort.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/app/Resources/icons/timer.svg b/app/Resources/icons/timer.svg
deleted file mode 100755
index 17530985..00000000
--- a/app/Resources/icons/timer.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/upload-cloud.svg b/app/Resources/icons/upload-cloud.svg
deleted file mode 100755
index a2974743..00000000
--- a/app/Resources/icons/upload-cloud.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/user-add.svg b/app/Resources/icons/user-add.svg
deleted file mode 100755
index ddaef56c..00000000
--- a/app/Resources/icons/user-add.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/user-follow.svg b/app/Resources/icons/user-follow.svg
deleted file mode 100644
index f4616326..00000000
--- a/app/Resources/icons/user-follow.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/volume-high.svg b/app/Resources/icons/volume-high.svg
deleted file mode 100644
index c4befea0..00000000
--- a/app/Resources/icons/volume-high.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/volume-low.svg b/app/Resources/icons/volume-low.svg
deleted file mode 100644
index b61ab667..00000000
--- a/app/Resources/icons/volume-low.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Resources/icons/volume-mute.svg b/app/Resources/icons/volume-mute.svg
deleted file mode 100644
index f3323c1f..00000000
--- a/app/Resources/icons/volume-mute.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/Views/Components/Alert.php b/app/Views/Components/Alert.php
index 59f9827f..f328e6c8 100644
--- a/app/Views/Components/Alert.php
+++ b/app/Views/Components/Alert.php
@@ -22,19 +22,19 @@ class Alert extends Component
$variants = [
'success' => [
'class' => 'text-pine-900 bg-pine-100 border-pine-300',
- 'glyph' => 'check',
+ 'glyph' => 'check-fill', // @icon('check-fill')
],
'danger' => [
'class' => 'text-red-900 bg-red-100 border-red-300',
- 'glyph' => 'close',
+ 'glyph' => 'close-fill', // @icon('close-fill')
],
'warning' => [
'class' => 'text-yellow-900 bg-yellow-100 border-yellow-300',
- 'glyph' => 'alert',
+ 'glyph' => 'alert-fill', // @icon('alert-fill')
],
'default' => [
'class' => 'text-blue-900 bg-blue-100 border-blue-300',
- 'glyph' => 'error-warning',
+ 'glyph' => 'error-warning-fill', // @icon('error-warning-fill')
],
];
@@ -42,7 +42,9 @@ class Alert extends Component
$this->variant = 'default';
}
- $glyph = icon(($this->glyph ?? $variants[$this->variant]['glyph']), 'flex-shrink-0 mr-2 text-lg');
+ $glyph = icon(($this->glyph ?? $variants[$this->variant]['glyph']), [
+ 'class' => 'flex-shrink-0 mr-2 text-lg',
+ ]);
$title = $this->title === null ? '' : '' . $this->title . '
';
$class = 'inline-flex w-full p-2 text-sm border rounded ' . $variants[$this->variant]['class'] . ' ' . $this->class;
diff --git a/app/Views/Components/Button.php b/app/Views/Components/Button.php
index def8c33f..4d024339 100644
--- a/app/Views/Components/Button.php
+++ b/app/Views/Components/Button.php
@@ -86,17 +86,15 @@ class Button extends Component
}
if ($this->iconLeft !== '') {
- $this->slot = (new Icon([
- 'glyph' => $this->iconLeft,
+ $this->slot = icon($this->iconLeft, [
'class' => 'opacity-75 ' . $iconSize[$this->size],
- ]))->render() . $this->slot;
+ ]) . $this->slot;
}
if ($this->iconRight !== '') {
- $this->slot .= (new Icon([
- 'glyph' => $this->iconRight,
+ $this->slot .= icon($this->iconRight, [
'class' => 'opacity-75 ' . $iconSize[$this->size],
- ]))->render();
+ ]);
}
unset($this->attributes['slot']);
diff --git a/app/Views/Components/DashboardCard.php b/app/Views/Components/DashboardCard.php
index 573d4955..6510fe4b 100644
--- a/app/Views/Components/DashboardCard.php
+++ b/app/Views/Components/DashboardCard.php
@@ -23,10 +23,12 @@ class DashboardCard extends Component
public function render(): string
{
- $glyph = icon($this->glyph, 'flex-shrink-0 bg-base rounded-full w-8 h-8 p-2 text-accent-base');
+ $glyph = icon($this->glyph, [
+ 'class' => 'flex-shrink-0 bg-base rounded-full w-8 h-8 p-2 text-accent-base',
+ ]);
if ($this->href !== null && $this->href !== '') {
- $chevronRight = icon('chevron-right');
+ $chevronRight = icon('arrow-right-s-fill');
$viewLang = lang('Common.view');
return <<
diff --git a/app/Views/Components/Forms/DatetimePicker.php b/app/Views/Components/Forms/DatetimePicker.php
index 1e3de877..f2d33332 100644
--- a/app/Views/Components/Forms/DatetimePicker.php
+++ b/app/Views/Components/Forms/DatetimePicker.php
@@ -15,7 +15,7 @@ class DatetimePicker extends FormComponent
$clearLabel = lang(
'Episode.publish_form.scheduled_publication_date_clear',
);
- $closeIcon = icon('close');
+ $closeIcon = icon('close-fill');
return <<
diff --git a/app/Views/Components/Forms/MarkdownEditor.php b/app/Views/Components/Forms/MarkdownEditor.php
index ef163ee8..5c6bda64 100644
--- a/app/Views/Components/Forms/MarkdownEditor.php
+++ b/app/Views/Components/Forms/MarkdownEditor.php
@@ -25,8 +25,10 @@ class MarkdownEditor extends FormComponent
$textarea = form_textarea($this->attributes, old($this->name, $this->value));
$markdownIcon = icon(
- 'markdown',
- 'mr-1 text-lg opacity-40'
+ 'markdown-fill',
+ [
+ 'class' => 'mr-1 text-lg opacity-40',
+ ]
);
$translations = [
'write' => lang('Common.forms.editor.write'),
@@ -61,15 +63,10 @@ class MarkdownEditor extends FormComponent
[
'name' => 'ordered-list',
'tag' => 'md-ordered-list ',
- 'icon' => icon('list-ordered'),
+ 'icon' => icon('list-ordered-2'),
],
],
[
- [
- 'name' => 'quote',
- 'tag' => 'md-quote',
- 'icon' => icon('quote'),
- ],
[
'name' => 'link',
'tag' => 'md-link',
@@ -78,7 +75,7 @@ class MarkdownEditor extends FormComponent
[
'name' => 'image',
'tag' => 'md-image',
- 'icon' => icon('image-add'),
+ 'icon' => icon('image-add-fill'),
],
],
];
diff --git a/app/Views/Components/Icon.php b/app/Views/Components/Icon.php
deleted file mode 100644
index f926eb45..00000000
--- a/app/Views/Components/Icon.php
+++ /dev/null
@@ -1,27 +0,0 @@
-glyph . '.svg');
- } catch (Exception) {
- return '□';
- }
-
- unset($this->attributes['glyph']);
- $attributes = stringify_attributes($this->attributes);
-
- return str_replace('
= nl2br(esc($exception)) ?>
- = icon('file-copy', 'mr-2') ?>Copy stack trace
- = icon('check', 'mr-2') ?>Copied
+ = icon('file-copy-fill', [
+ 'class' => 'mr-2',
+ ]) ?>Copy stack trace
+ = icon('check-fill', [
+ 'class' => 'mr-2',
+ ]) ?>Copied
diff --git a/composer.json b/composer.json
index d28b48be..ec81313c 100644
--- a/composer.json
+++ b/composer.json
@@ -27,6 +27,7 @@
"phpseclib/phpseclib": "~2.0.47",
"vlucas/phpdotenv": "v5.6.0",
"whichbrowser/parser": "^v2.1.8",
+ "yassinedoghri/codeigniter-icons": "dev-develop",
"yassinedoghri/podcast-feed": "dev-main"
},
"require-dev": {
@@ -62,13 +63,15 @@
"style": "vendor/bin/ecs check --ansi",
"style:fix": "vendor/bin/ecs check --fix --ansi",
"generate:auth-docs": "php spark auth:generate-docs",
+ "php-icons": "vendor/bin/php-icons scan",
"post-install-cmd": [
"@php vendor/opawg/user-agents-v2-php/src/UserAgentsGenerate.php > vendor/opawg/user-agents-v2-php/src/UserAgents.php",
"@php vendor/opawg/user-agents-v2-php/src/UserAgentsRSSGenerate.php > vendor/opawg/user-agents-v2-php/src/UserAgentsRSS.php",
"@php vendor/adaures/ipcat-php/src/IpDbGenerate.php > vendor/adaures/ipcat-php/src/IpDb.php",
"@php vendor/adaures/podcast-persons-taxonomy/src/TaxonomyGenerate.php https://raw.githubusercontent.com/Podcastindex-org/podcast-namespace/main/taxonomy-en.json > modules/Admin/Language/en/PersonsTaxonomy.php",
"@php vendor/adaures/podcast-persons-taxonomy/src/TaxonomyGenerate.php https://raw.githubusercontent.com/Podcastindex-org/podcast-namespace/main/taxonomy-fr.json > modules/Admin/Language/fr/PersonsTaxonomy.php",
- "@php vendor/adaures/podcast-persons-taxonomy/src/ReversedTaxonomyGenerate.php https://raw.githubusercontent.com/Podcastindex-org/podcast-namespace/main/taxonomy-en.json > vendor/adaures/podcast-persons-taxonomy/src/ReversedTaxonomy.php"
+ "@php vendor/adaures/podcast-persons-taxonomy/src/ReversedTaxonomyGenerate.php https://raw.githubusercontent.com/Podcastindex-org/podcast-namespace/main/taxonomy-en.json > vendor/adaures/podcast-persons-taxonomy/src/ReversedTaxonomy.php",
+ "vendor/bin/php-icons init && vendor/bin/php-icons scan"
],
"post-update-cmd": [
"@composer dump-autoload",
@@ -77,13 +80,15 @@
"@php vendor/adaures/ipcat-php/src/IpDbGenerate.php > vendor/adaures/ipcat-php/src/IpDb.php",
"@php vendor/adaures/podcast-persons-taxonomy/src/TaxonomyGenerate.php https://raw.githubusercontent.com/Podcastindex-org/podcast-namespace/main/taxonomy-en.json > modules/Admin/Language/en/PersonsTaxonomy.php",
"@php vendor/adaures/podcast-persons-taxonomy/src/TaxonomyGenerate.php https://raw.githubusercontent.com/Podcastindex-org/podcast-namespace/main/taxonomy-fr.json > modules/Admin/Language/fr/PersonsTaxonomy.php",
- "@php vendor/adaures/podcast-persons-taxonomy/src/ReversedTaxonomyGenerate.php https://raw.githubusercontent.com/Podcastindex-org/podcast-namespace/main/taxonomy-en.json > vendor/adaures/podcast-persons-taxonomy/src/ReversedTaxonomy.php"
+ "@php vendor/adaures/podcast-persons-taxonomy/src/ReversedTaxonomyGenerate.php https://raw.githubusercontent.com/Podcastindex-org/podcast-namespace/main/taxonomy-en.json > vendor/adaures/podcast-persons-taxonomy/src/ReversedTaxonomy.php",
+ "vendor/bin/php-icons init && vendor/bin/php-icons scan"
]
},
"support": {
"source": "https://code.castopod.org/adaures/castopod.git",
"discord": "https://castopod.org/discord"
},
+ "minimum-stability": "dev",
"prefer-stable": true,
"config": {
"optimize-autoloader": true,
diff --git a/composer.lock b/composer.lock
index 4559cb44..fdc0a69b 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "727f2804604279a176c2f932ab764ec8",
+ "content-hash": "063a673edd8a39e318bae89316709ef0",
"packages": [
{
"name": "adaures/ipcat-php",
@@ -73,6 +73,74 @@
"homepage": "https://code.castopod.org/adaures/podcast-persons-taxonomy",
"time": "2023-06-22T14:24:55+00:00"
},
+ {
+ "name": "adhocore/cli",
+ "version": "v1.7.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/adhocore/php-cli.git",
+ "reference": "3fde60a838912e71c82ed0f48048685dc32dbc77"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/adhocore/php-cli/zipball/3fde60a838912e71c82ed0f48048685dc32dbc77",
+ "reference": "3fde60a838912e71c82ed0f48048685dc32dbc77",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Ahc\\Cli\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": ["MIT"],
+ "authors": [
+ {
+ "name": "Jitendra Adhikari",
+ "email": "jiten.adhikary@gmail.com"
+ }
+ ],
+ "description": "Command line interface library for PHP",
+ "keywords": [
+ "argument-parser",
+ "argv-parser",
+ "cli",
+ "cli-action",
+ "cli-app",
+ "cli-color",
+ "cli-option",
+ "cli-writer",
+ "command",
+ "console",
+ "console-app",
+ "php-cli",
+ "php8",
+ "stream-input",
+ "stream-output"
+ ],
+ "support": {
+ "issues": "https://github.com/adhocore/php-cli/issues",
+ "source": "https://github.com/adhocore/php-cli/tree/v1.7.1"
+ },
+ "funding": [
+ {
+ "url": "https://paypal.me/ji10",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/adhocore",
+ "type": "github"
+ }
+ ],
+ "time": "2024-03-28T08:30:12+00:00"
+ },
{
"name": "aws/aws-crt-php",
"version": "v1.2.5",
@@ -2065,6 +2133,55 @@
},
"time": "2023-07-30T15:38:18+00:00"
},
+ {
+ "name": "nikic/php-parser",
+ "version": "v4.19.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/nikic/PHP-Parser.git",
+ "reference": "4e1b88d21c69391150ace211e9eaf05810858d0b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4e1b88d21c69391150ace211e9eaf05810858d0b",
+ "reference": "4e1b88d21c69391150ace211e9eaf05810858d0b",
+ "shasum": ""
+ },
+ "require": {
+ "ext-tokenizer": "*",
+ "php": ">=7.1"
+ },
+ "require-dev": {
+ "ircmaxell/php-yacc": "^0.0.7",
+ "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
+ },
+ "bin": ["bin/php-parse"],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.9-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "PhpParser\\": "lib/PhpParser"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": ["BSD-3-Clause"],
+ "authors": [
+ {
+ "name": "Nikita Popov"
+ }
+ ],
+ "description": "A PHP parser written in PHP",
+ "keywords": ["parser", "php"],
+ "support": {
+ "issues": "https://github.com/nikic/PHP-Parser/issues",
+ "source": "https://github.com/nikic/PHP-Parser/tree/v4.19.1"
+ },
+ "time": "2024-03-17T08:10:35+00:00"
+ },
{
"name": "opawg/user-agents-v2-php",
"version": "dev-main",
@@ -3165,6 +3282,111 @@
},
"time": "2024-04-17T12:47:41+00:00"
},
+ {
+ "name": "yassinedoghri/codeigniter-icons",
+ "version": "dev-develop",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/yassinedoghri/codeigniter-icons.git",
+ "reference": "76526f22734df74651e784de6633962a05dcbd97"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/yassinedoghri/codeigniter-icons/zipball/76526f22734df74651e784de6633962a05dcbd97",
+ "reference": "76526f22734df74651e784de6633962a05dcbd97",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1",
+ "yassinedoghri/php-icons": "dev-develop"
+ },
+ "require-dev": {
+ "codeigniter/phpstan-codeigniter": "^v1.4.3",
+ "codeigniter4/devkit": "^v1.2.2",
+ "codeigniter4/framework": "^4.3.5",
+ "phpstan/extension-installer": "^1.3.1",
+ "phpstan/phpstan": "^1.10.66",
+ "rector/rector": "^1.0.4",
+ "symplify/coding-standard": "^12.1.4",
+ "symplify/easy-coding-standard": "^12.1.14"
+ },
+ "default-branch": true,
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "CodeIgniterIcons\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": ["MIT"],
+ "authors": [
+ {
+ "name": "Yassine Doghri",
+ "email": "yassine@doghri.fr",
+ "homepage": "https://yassinedoghri.com",
+ "role": "Maintainer"
+ }
+ ],
+ "description": "A CodeIgniter4 library with convenient helper functions to render svg icons using yassinedoghri/php-icons.",
+ "keywords": ["codeigniter", "codeigniter4", "iconify", "icons"],
+ "support": {
+ "issues": "https://github.com/yassinedoghri/codeigniter-icons/issues",
+ "source": "https://github.com/yassinedoghri/codeigniter-icons/tree/develop"
+ },
+ "time": "2024-04-09T22:06:07+00:00"
+ },
+ {
+ "name": "yassinedoghri/php-icons",
+ "version": "dev-develop",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/yassinedoghri/php-icons.git",
+ "reference": "976acbd9564f5ba13b11f4086c59b007a9374a4e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/yassinedoghri/php-icons/zipball/976acbd9564f5ba13b11f4086c59b007a9374a4e",
+ "reference": "976acbd9564f5ba13b11f4086c59b007a9374a4e",
+ "shasum": ""
+ },
+ "require": {
+ "adhocore/cli": "^v1.7.1",
+ "composer-runtime-api": "^2.2",
+ "nikic/php-parser": "^v4.0",
+ "php": ">=8.1"
+ },
+ "require-dev": {
+ "kint-php/kint": "^5.1.1",
+ "phpstan/phpstan": "^1.10.67",
+ "rector/rector": "^1.0.4",
+ "symplify/coding-standard": "^12.1.4",
+ "symplify/easy-coding-standard": "^12.1.14"
+ },
+ "default-branch": true,
+ "bin": ["bin/php-icons"],
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "PHPIcons\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": ["MIT"],
+ "authors": [
+ {
+ "name": "Yassine Doghri",
+ "email": "yassine@doghri.fr",
+ "homepage": "https://yassinedoghri.com",
+ "role": "Maintainer"
+ }
+ ],
+ "description": "A PHP library based on iconify's API to download and render svg icons from popular open source icon sets.",
+ "support": {
+ "issues": "https://github.com/yassinedoghri/php-icons/issues",
+ "source": "https://github.com/yassinedoghri/php-icons/tree/develop"
+ },
+ "time": "2024-04-26T15:47:20+00:00"
+ },
{
"name": "yassinedoghri/podcast-feed",
"version": "dev-main",
@@ -3806,57 +4028,6 @@
],
"time": "2023-03-08T13:26:56+00:00"
},
- {
- "name": "nikic/php-parser",
- "version": "v5.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13",
- "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13",
- "shasum": ""
- },
- "require": {
- "ext-ctype": "*",
- "ext-json": "*",
- "ext-tokenizer": "*",
- "php": ">=7.4"
- },
- "require-dev": {
- "ircmaxell/php-yacc": "^0.0.7",
- "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
- },
- "bin": ["bin/php-parse"],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.0-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "PhpParser\\": "lib/PhpParser"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": ["BSD-3-Clause"],
- "authors": [
- {
- "name": "Nikita Popov"
- }
- ],
- "description": "A PHP parser written in PHP",
- "keywords": ["parser", "php"],
- "support": {
- "issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2"
- },
- "time": "2024-03-05T20:51:40+00:00"
- },
{
"name": "phar-io/manifest",
"version": "2.0.4",
@@ -6635,11 +6806,11 @@
}
],
"aliases": [],
- "minimum-stability": "stable",
+ "minimum-stability": "dev",
"stability-flags": {
"codeigniter4/tasks": 20,
- "james-heinrich/getid3": 10,
"opawg/user-agents-v2-php": 20,
+ "yassinedoghri/codeigniter-icons": 20,
"yassinedoghri/podcast-feed": 20
},
"prefer-stable": true,
diff --git a/modules/Api/Rest/V1/Filters/ApiFilter.php b/modules/Api/Rest/V1/Filters/ApiFilter.php
index 837acba5..85f7e538 100644
--- a/modules/Api/Rest/V1/Filters/ApiFilter.php
+++ b/modules/Api/Rest/V1/Filters/ApiFilter.php
@@ -16,6 +16,7 @@ class ApiFilter implements FilterInterface
{
/**
* @param Request $request
+ * @return RequestInterface|ResponseInterface|string|void
*/
public function before(RequestInterface $request, $arguments = null)
{
diff --git a/modules/Fediverse/Filters/FediverseFilter.php b/modules/Fediverse/Filters/FediverseFilter.php
index ddac50de..3b99cca3 100644
--- a/modules/Fediverse/Filters/FediverseFilter.php
+++ b/modules/Fediverse/Filters/FediverseFilter.php
@@ -22,7 +22,7 @@ class FediverseFilter implements FilterInterface
* etc.
*
* @param string[]|null $params
- * @return void|mixed
+ * @return RequestInterface|ResponseInterface|string|void
*/
public function before(RequestInterface $request, $params = null)
{
diff --git a/modules/PremiumPodcasts/Filters/PodcastUnlockFilter.php b/modules/PremiumPodcasts/Filters/PodcastUnlockFilter.php
index 4d149bee..965b2036 100644
--- a/modules/PremiumPodcasts/Filters/PodcastUnlockFilter.php
+++ b/modules/PremiumPodcasts/Filters/PodcastUnlockFilter.php
@@ -19,7 +19,7 @@ class PodcastUnlockFilter implements FilterInterface
*
* @param string[]|null $arguments
*
- * @return mixed
+ * @return RequestInterface|ResponseInterface|string|void
*/
public function before(RequestInterface $request, $arguments = null)
{
diff --git a/package.json b/package.json
index fcb680f7..c1bac382 100644
--- a/package.json
+++ b/package.json
@@ -14,7 +14,7 @@
"build": "tsc && vite build",
"serve": "vite preview",
"build:static": "pnpm run build:icons && pnpm run build:svg",
- "build:icons": "svgo -f app/Resources/icons -o public/assets/icons -r --config=./.svgo.icons.cjs",
+ "build:icons": "svgo -f app/Resources/icons -o app/Resources/icons -r --config=./.svgo.icons.cjs",
"build:svg": "svgo -f app/Resources/images -o public/assets/images -r --config=./.svgo.cjs",
"lint": "eslint --ext js,ts app/Resources",
"lint:fix": "eslint --ext js,ts app/Resources --fix",
diff --git a/php-icons.php b/php-icons.php
new file mode 100644
index 00000000..64c626a3
--- /dev/null
+++ b/php-icons.php
@@ -0,0 +1,20 @@
+withPaths([__DIR__ . '/app', __DIR__ . '/themes'])
+ ->withLocalIconSets([
+ 'funding' => __DIR__ . '/app/Resources/icons/funding',
+ 'podcasting' => __DIR__ . '/app/Resources/icons/podcasting',
+ 'social' => __DIR__ . '/app/Resources/icons/social',
+ ])
+ ->withDefaultIconPerSet([
+ 'funding' => 'funding:default',
+ 'podcasting' => 'podcasting:default',
+ 'social' => 'social:default',
+ ])
+ ->withDefaultPrefix('ri')
+ ->withPlaceholder('�');
diff --git a/themes/cp_admin/_layout.php b/themes/cp_admin/_layout.php
index aa452113..d8eb3e0a 100644
--- a/themes/cp_admin/_layout.php
+++ b/themes/cp_admin/_layout.php
@@ -39,7 +39,7 @@ $isEpisodeArea = isset($podcast) && isset($episode);
is_premium) || ($isPodcastArea && $podcast->is_premium)): ?>
- = ($isEpisodeArea && $episode->is_premium) ? lang('PremiumPodcasts.episode_is_premium') : lang('PremiumPodcasts.podcast_is_premium') ?>
+ = ($isEpisodeArea && $episode->is_premium) ? lang('PremiumPodcasts.episode_is_premium') : lang('PremiumPodcasts.podcast_is_premium') ?>
= $this->renderSection('pageTitle') ?>
@@ -56,7 +56,9 @@ $isEpisodeArea = isset($podcast) && isset($episode);
get('Import.current') === $podcast->handle): ?>
- = lang('PodcastImport.banner.disclaimer') ?>
+ = icon('import-fill', [
+ 'class' => 'text-base text-yellow-900',
+ ]) . lang('PodcastImport.banner.disclaimer') ?>
= lang('PodcastImport.banner.text', [
'podcastTitle' => $podcast->title,
]) ?>
diff --git a/themes/cp_admin/_partials/_nav_aside.php b/themes/cp_admin/_partials/_nav_aside.php
index ed1f0f2a..88773cae 100644
--- a/themes/cp_admin/_partials/_nav_aside.php
+++ b/themes/cp_admin/_partials/_nav_aside.php
@@ -15,7 +15,9 @@ $isEpisodeArea = isset($podcast) && isset($episode);
diff --git a/themes/cp_admin/_partials/_nav_header.php b/themes/cp_admin/_partials/_nav_header.php
index 9314fe47..0ce71700 100644
--- a/themes/cp_admin/_partials/_nav_header.php
+++ b/themes/cp_admin/_partials/_nav_header.php
@@ -5,23 +5,29 @@ $userPodcasts = get_podcasts_user_can_interact_with(auth()->user()); ?>
+ class="h-full pr-1 text-xl md:hidden focus:ring-accent focus:ring-inset" aria-label="= lang('Navigation.toggle_sidebar') ?>">= icon('menu-2-fill') ?>
+ = icon('arrow-drop-down-fill', [
+ 'class' => 'ml-auto text-2xl',
+ ]) ?>
actor_id ? icon('check', 'ml-2 bg-accent-base text-accent-contrast rounded-full') : '';
+ $checkMark = interact_as_actor_id() === $userPodcast->actor_id ? icon('check-fill', [
+ 'class' => 'ml-2 bg-accent-base text-accent-contrast rounded-full',
+ ]) : '';
$userPodcastTitle = esc($userPodcast->title);
$interactButtons .= << class="= $isSectionActive ? 'bg-navigation-active' : '' ?> [&[open]>summary::after]:rotate-90">
- = icon($data['icon'], 'opacity-60 text-2xl mr-4') ?>
+ = icon($data['icon'], [
+ 'class' => 'opacity-60 text-2xl mr-4',
+ ]) ?>
= lang($langKey . '.' . $section) ?>
= $data['count'] ?>
@@ -20,7 +22,7 @@
- = icon('add') ?>
+ = icon('add-fill') ?>
diff --git a/themes/cp_admin/_sidebar.php b/themes/cp_admin/_sidebar.php
index dd205758..8279b8e3 100644
--- a/themes/cp_admin/_sidebar.php
+++ b/themes/cp_admin/_sidebar.php
@@ -7,11 +7,11 @@ use Modules\Auth\Models\UserModel;
$navigation = [
'dashboard' => [
- 'icon' => 'dashboard',
+ 'icon' => 'dashboard-fill', // @icon('dashboard-fill')
'items' => ['admin'],
],
'podcasts' => [
- 'icon' => 'mic',
+ 'icon' => 'mic-fill', // @icon('mic-fill')
'items' => ['podcast-list', 'podcast-create', 'all-podcast-imports', 'podcast-imports-add'],
'items-permissions' => [
'podcast-create' => 'podcasts.create',
@@ -22,7 +22,7 @@ $navigation = [
'count-route' => 'podcast-list',
],
'persons' => [
- 'icon' => 'folder-user',
+ 'icon' => 'folder-user-fill', // @icon('folder-user-fill')
'items' => ['person-list', 'person-create'],
'items-permissions' => [
'person-list' => 'persons.manage',
@@ -33,7 +33,7 @@ $navigation = [
'count-route' => 'person-list',
],
'fediverse' => [
- 'icon' => 'rocket-tilted',
+ 'icon' => 'rocket-2-fill', // @icon('rocket-2-fill')
'items' => ['fediverse-blocked-actors', 'fediverse-blocked-domains'],
'items-permissions' => [
'fediverse-blocked-actors' => 'fediverse.manage-blocks',
@@ -41,7 +41,7 @@ $navigation = [
],
],
'users' => [
- 'icon' => 'group',
+ 'icon' => 'group-fill', // @icon('group-fill')
'items' => ['user-list', 'user-create'],
'items-permissions' => [
'user-list' => 'users.manage',
@@ -52,7 +52,7 @@ $navigation = [
'count-route' => 'user-list',
],
'pages' => [
- 'icon' => 'pages',
+ 'icon' => 'pages-fill', // @icon('pages-fill')
'items' => ['page-list', 'page-create'],
'items-permissions' => [
'page-list' => 'pages.manage',
@@ -63,7 +63,7 @@ $navigation = [
'count-route' => 'page-list',
],
'settings' => [
- 'icon' => 'settings',
+ 'icon' => 'settings-3-fill', // @icon('settings-3-fill')
'items' => ['settings-general', 'settings-theme', 'admin-about'],
'items-permissions' => [
'settings-general' => 'admin.settings',
diff --git a/themes/cp_admin/contributor/delete.php b/themes/cp_admin/contributor/delete.php
index 4c632831..ac250036 100644
--- a/themes/cp_admin/contributor/delete.php
+++ b/themes/cp_admin/contributor/delete.php
@@ -17,7 +17,7 @@
-
+
'link',
@@ -62,7 +64,9 @@ if ($episode->published_at === null) {
];
} else {
$label = lang('Episode.delete');
- $icon = icon('forbid', 'mr-2');
+ $icon = icon('forbid-fill', [
+ 'class' => 'mr-2',
+ ]);
$title = lang('Episode.messages.unpublishBeforeDeleteTip');
$items[] = [
'type' => 'html',
diff --git a/themes/cp_admin/episode/_sidebar.php b/themes/cp_admin/episode/_sidebar.php
index 4dd8fe95..74295f16 100644
--- a/themes/cp_admin/episode/_sidebar.php
+++ b/themes/cp_admin/episode/_sidebar.php
@@ -2,7 +2,7 @@
$episodeNavigation = [
'dashboard' => [
- 'icon' => 'dashboard',
+ 'icon' => 'dashboard-fill', // @icon('dashboard-fill')
'items' => ['episode-view', 'episode-edit', 'episode-persons-manage', 'embed-add'],
'items-permissions' => [
'episode-view' => 'episodes.view',
@@ -12,7 +12,7 @@ $episodeNavigation = [
],
],
'clips' => [
- 'icon' => 'clapperboard',
+ 'icon' => 'clapperboard-fill', // @icon('clapperboard-fill')
'items' => ['video-clips-list', 'video-clips-create', 'soundbites-list', 'soundbites-create'],
'items-permissions' => [
'video-clips-list' => 'episodes.manage-clips',
@@ -27,7 +27,9 @@ $episodeNavigation = [
]; ?>
- = icon('arrow-left', 'mr-2') ?>
+ = icon('arrow-left-line', [
+ 'class' => 'mr-2',
+ ]) ?>
is_premium): ?>
-
+ = icon('exchange-dollar-fill', [
+ 'class' => 'absolute pl-1 text-xl rounded-r-full rounded-tl-lg left-4 top-4 text-accent-contrast bg-accent-base',
+ ]) ?>
" class="inline-flex items-center text-xs hover:underline focus:ring-accent">= lang(
'EpisodeNavigation.go_to_page',
) ?>
- = icon('external-link', 'ml-1 opacity-60') ?>
+ = icon('external-link-fill', [
+ 'class' => 'ml-1 opacity-60',
+ ]) ?>
= view('_partials/_nav_menu', [
- 'navigation' => $episodeNavigation,
- 'langKey' => 'EpisodeNavigation',
- 'podcastId' => $podcast->id,
- 'episodeId' => $episode->id,
- ]) ?>
+ 'navigation' => $episodeNavigation,
+ 'langKey' => 'EpisodeNavigation',
+ 'podcastId' => $podcast->id,
+ 'episodeId' => $episode->id,
+]) ?>
diff --git a/themes/cp_admin/episode/delete.php b/themes/cp_admin/episode/delete.php
index 786ae3ff..98439dac 100644
--- a/themes/cp_admin/episode/delete.php
+++ b/themes/cp_admin/episode/delete.php
@@ -13,7 +13,7 @@