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