32 Commits

Author SHA1 Message Date
Yassine Doghri
f981937645 fix: add downloads_count to episodes table, computed every hour
This removes computing latency when retrieving episodes list with download count in admin.
The more
analytics records, the more it took to calculate the sum of hits to get the downloads count for each
episode.
2024-12-29 13:24:42 +00:00
Yassine Doghri
8cf9c6dc83 feat(plugins): add html field type + CodeEditor component + rework html head generation
update php and js packages to latest
2024-12-17 15:11:45 +00:00
Yassine Doghri
dfb7888aeb feat(plugins): add aside with plugin metadata next to plugin's readme
- enhance plugin card ui
- refactor components to be more consistent
- invert toggler label for better UX
- edit view components regex
2024-06-14 15:53:33 +00:00
Yassine Doghri
51b064d67a refactor(icons): use php-icons library to load and display icons 2024-04-26 17:57:25 +00:00
Yassine Doghri
f4ffa30ec4 fix(admin): remove episode title truncation + display description in two lines in episode list
fixes #386
2023-11-17 17:29:05 +00:00
Yassine Doghri
7ff1dbe903 fix: remove fediverse prefix to prevent migration error + load routes during podcast import
refactor migration queries to use forge functions
2023-09-09 10:23:34 +00:00
Yassine Doghri
d8e1d4031d feat(import): run podcast imports' processes asynchronously using tasks
- use codeigniter4/tasks project to handle cron tasks
- use yassinedoghri/podcast-feed project to parse feeds for imports
2023-06-21 16:17:11 +00:00
Yassine Doghri
2a50f6e4d2 style: update ecs config to align associative arrays arrows
update composer dependencies to latest
2023-06-12 15:12:49 +00:00
Yassine Doghri
b63c1dc9b1 feat: add downloads count to episode list 2023-02-28 16:53:58 +00:00
Yassine Doghri
3234500e2d feat: add premium podcasts to manage subscriptions for premium episodes
closes #193
2022-09-28 15:02:09 +00:00
Yassine Doghri
6be5d12877 feat(admin): add search form in podcast episodes list
closes #26
2022-06-17 12:52:36 +00:00
Ola Hneini
eb9ff522c2 feat(episodes): replace soft delete with permanent delete
+ add constraint to prevent deleting an episode when published
2022-05-05 15:48:16 +00:00
Yassine Doghri
1253096197 fix: add explicit int conversion when formatting episode duration 2022-03-15 15:50:07 +00:00
Yassine Doghri
cd2e1e1dc3 fix(security): add csrf filter + prevent xss attacks by escaping user input
- update CI4 to v4.1.9's stable production package
- update php and js dependencies to latest
2022-03-04 14:36:32 +00:00
Yassine Doghri
f0685e4479 perf: defer javascript + lazy load images for faster page loads 2022-01-21 18:07:43 +00:00
Yassine Doghri
d0cb964b0f refactor: harmonize redirects after submitting forms
go back to form after submitting an edit form
2022-01-05 14:58:53 +00:00
Yassine Doghri
6ecf2866cf feat: add media entity and link documents, images and audio files to it 2021-12-29 12:09:32 +00:00
Yassine Doghri
827ca03f61 refactor(color-themes): set themes declaration as a config property + generate css file dynamically 2021-12-29 12:09:32 +00:00
Yassine Doghri
fee2c1c0d0 feat(pwa): add service-worker + webmanifest for each podcasts to have them install on devices
- configure service-worker using vite-plugin-pwa
- refactor Image entity to generate images of
different types based on size config
- add requirement for webp library for php gd to generate webp
images for instance
- add action to regenerate all instance images for eventual Images config
changes
- enhance google lighthouse metrics for pwa
2021-12-29 12:09:31 +00:00
Yassine Doghri
a746a781b4 feat(themes): set generic css variables for colors to enable instance themes
- set new colors using the css variables for theming in tailwind.config.js
- replace admin and
public colors with new variable enabled colors
2021-12-29 12:06:10 +00:00
Yassine Doghri
4a8147bfbb feat: add podcast banner field for each podcast + refactor images configuration
- rename image fields on podcast, episode and persons for better clarity
- set different sizes
config for podcast cover, banner and persons avatars
- add tiny size for covers
- fix responsive
on admin forms
2021-12-29 12:04:04 +00:00
Yassine Doghri
a505a1de56 feat: restyle episode and person cards + add focus style to interactive elements for a11y
fix components in follow and remote action pages by calling new instances directly
2021-12-29 12:02:53 +00:00
Yassine Doghri
025b2f42e6 refactor: replace "embeddable-player" occurrences to "embed" 2021-12-29 12:02:53 +00:00
Yassine Doghri
be5a28787f fix(layouts): replace holy-grail layout with tailwind config + widen public podcast layout
- add rounded classes with conditional border-radius depending on screen width
- add ring-castopod
class to use on focus states
2021-12-29 12:02:51 +00:00
Yassine Doghri
e3bd9df00e refactor: update podcast card style + create partial for public navigation 2021-12-29 12:01:42 +00:00
Yassine Doghri
abb7fbac27 feat: add DropdownMenu component + remove global audio player in admin 2021-12-29 12:00:55 +00:00
Yassine Doghri
99a3b8d33e fix: set episode numbers during import + remove all custom form_helpers + minor ui issues 2021-12-29 11:58:06 +00:00
Yassine Doghri
b05d177f1b fix: update MarkdownEditor component + restyle Button and other components 2021-12-29 11:55:43 +00:00
Yassine Doghri
746b518789 refactor: replace ui function components with class components + fix
soundbites js
2021-12-29 11:55:43 +00:00
Yassine Doghri
23bdc6f8e3 feat: add heading component + update ecs rules to fix views 2021-12-29 11:55:43 +00:00
Yassine Doghri
a50abc138d feat: update pine colors + create charts components 2021-12-29 11:55:43 +00:00
Yassine Doghri
7a276764e6 feat(themes): add ViewThemes library to set views in root themes folder
app, admin, install and authentication views are now located in root themes/ folder
2021-12-29 11:54:52 +00:00