Commit Graph

111 Commits

Author SHA1 Message Date
Yassine Doghri de19317138 feat(soundbites): add soundbite list and creation forms with audio-clipper component 2022-01-03 13:52:07 +00:00
Yassine Doghri 602654b99b fix(audio-clipper): add mouse position offset when stretching clip to prevent content from jumping
update Forms.Section component to adapt to full width
2022-01-02 14:11:05 +00:00
Yassine Doghri db0e4272bd feat(video-clip): generate video clips in the bg using a cron job + add video clip page + tidy up UI 2021-12-29 12:10:13 +00:00
Yassine Doghri 2f6fdf9091 feat(clips): setup clip entities and model + save video clip to have it generated in the background 2021-12-29 12:10:13 +00:00
Yassine Doghri 057559183c refactor(migrations): replace 191 value with more relevant one 2021-12-29 12:10:13 +00:00
Yassine Doghri 58e2a00a87 feat(media): save audio, images, transcripts and chapters to media for episode and persons 2021-12-29 12:10:13 +00:00
Yassine Doghri fafaa7e689 feat(media): clean media api + create an entity per media type 2021-12-29 12:10:13 +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 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 902f959b30 feat: add schema.org json-ld objects to podcasts, episodes, posts and comments pages
- refactor meta-tags by generating them in the controller and injecting them into the views
- use
`melbahja/seo` library to build opengraph and twitter meta-tags + schema.org objects
2021-12-29 12:06:13 +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 5c56f3e6f0 feat(settings): add general config for instance (site name, description and icon) 2021-12-29 12:04:01 +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 932140077c feat: redesign public podcast and episode pages + remove any information clutter for better ux
- add About podcast page
- use different layout for episode pages
- improve on user feedback with
design
- restructure app theme folders
- update js packages to latest versions
2021-12-29 12:02:14 +00:00
Yassine Doghri 2c0efc6563 feat: simplify podcast page's layout for better ux 2021-12-29 12:01:40 +00:00
Yassine Doghri b9db936461 fix: pass timezone to relative time component to show the localized time in the UI 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 d86142ebe7 feat(admin): update admin layout for better ux + update brand pine colors 2021-12-29 11:55:41 +00:00
Yassine Doghri a95de8bab0 feat(components): add custom view renderer with ComponentRenderer adapted from bonfire2
- update Component class structure and remove component helper function and ComponentLoader
- update residual activitypub naming to fediverse
2021-12-29 11:54:50 +00:00
Yassine Doghri 5083cd2fda refactor(modules): extract castopod parts into a modules/ folder for a scalable HMVC structure
- create Admin, Analytics, Auth, Fediverse and Install modules in the root modules/ folder
- rename
ActivityPub to Fediverse
2021-12-29 11:54:22 +00:00
Yassine Doghri 94872f2338 feat(ui): create ViewComponents library to enable building class and view files components
- replace some helper components and forms with class components in the ui
- create viewcomponents
service and load the component function to be used in views
2021-12-29 11:54:22 +00:00
Yassine Doghri bb4752c35e feat(comments): add comments to episodes + update naming of status to post
- remove confusing counts for episode (total favourites, total reblogs)
- add comments section to
episode page to display episode comments + post replies linked to the episode
2021-12-29 11:54:22 +00:00
Yassine Doghri 3ff1364906 chore: update php dependencies to latest 2021-12-29 11:54:20 +00:00
Yassine Doghri f15f26240c feat: add codemirror to display xml editor for custom rss field
- replace hardcoded label values for play_episode_button component
2021-12-29 11:37:16 +00:00
Yassine Doghri 578022b8c5 feat: replace slug field with interactive permalink component
- create permalink-edit web component with slug editing and permalink copy functionalities
- add
@github/clipboard-copy-element
- update npm packages
- replace vscode extension lit-html with
lit-plugin to get css intellisense
2021-12-29 11:37:16 +00:00
Yassine Doghri 230e139e43 feat: make displayed publication time as relative time using @github/time-elements 2021-12-29 11:37:16 +00:00
Yassine Doghri 0e14eb4d3f feat: add js audio player on podcast, admin and embeddable player pages + fix admon episodes ux
- use vimejs as audio player
- add global audio player + play episode buttons on public pages
-
refactor admin episodes list from a grid to a data table
- arrange episode cards to be more
readable

closes #131
2021-12-29 11:37:16 +00:00
Yassine Doghri 7fdea63de7 fix(persons): set person picture as optional for better ux
- use default avatar image if person image is not set
- add thumbnail and medium default avatar
images
- set default avatar images directly in public/media folder
- remove public/media's root
folder from .gitignore
- remove unnecessary copy:images script and cpy-cli package

closes #125
2021-12-29 11:37:16 +00:00
Yassine Doghri 0dd3b7e0bf fix(rss): do not escape podcast and episode titles in the xml
- add parameter to prevent escaping value in SimpleRSSElement's addChild method
- clean prosemirror residue (typedef + DEPENDENCIES.md)
- remove type definition generation in tsconfig

fixes #138, #71
2021-12-29 11:37:16 +00:00
Yassine Doghri 9ec1cb93da fix(md-editor): build new markdown editor with lit + github/markdown-toolbar-element
- create markdown-write-preview + markdown-preview webcomponents using lit
- create
form_markdown_editor helper form component
- simplify form_dropdown and form_multiselect
components
- fix partner fields display

fixes #93, #94, #120
2021-12-29 11:37:16 +00:00
Yassine Doghri 9dd4c7741e fix: rename podcast name to podcast handle to clarify field usage
- podcast name was too vague and didn't come clearly for users: handle is more relevant
- update
package.json dependencies and remove unnused packages

closes #126
2021-12-29 11:37:16 +00:00
Yassine Doghri c5f18bb6dc fix(import): add extension when downloading file without + truncate slug if too long 2021-12-15 15:44:58 +00:00
Yassine Doghri 3f2e05608e fix: replace hardcoded style links with vite service + set default value for remote transcript url
fixes #149, #150
2021-10-26 10:27:57 +00:00
Yassine Doghri 7180ae9ec7 fix(rss): cast number type values to string in rss_helper
fixes #148
2021-10-05 13:41:58 +00:00
Benjamin Bellamy 4357cc25cc feat(map): display geolocated episodes on a map page 2021-09-17 15:50:55 +00:00
Yassine Doghri 32e8c7c16a
feat(rss): add podcast:comments tag to link to episode comments 2021-07-24 08:49:16 +00:00
Yassine Doghri 33d01b8d4f
fix(ux): allow for empty message upon episode publication and warn user on submit
- clarify distiction between the announcement post and the show notes
- change "note" occurences in UI by "post"
- show warning message explaining why the podcaster should fill the message area
- the podcaster
can choose to publish the episode with an empty message anyways
- redirect user to episode
dashboard with error message when episode publication pages are inaccessible instead of showing a
404 error
- add a cancel publication button in publish-edit form when episode is scheduled

closes #129
2021-06-23 13:34:59 +00:00
Benjamin Bellamy 1fab10eb0d feat(rss): add ˂podcast:guid˃ tag for channel 2021-06-21 11:58:43 +00:00
Yassine Doghri 3a7d97d660
fix: set episode description footer to null when empty value
change Database connection import with db_connect helper
2021-06-11 09:35:24 +00:00
Yassine Doghri 92536ddb38
fix(activity-pub): get database records using new model instances
update types and some remap logic
2021-06-11 09:35:21 +00:00
Yassine Doghri c72f4be6d8
refactor: add strict types declaration before each file and fix activitypub issues
fix some style issues
2021-06-11 09:35:19 +00:00
Yassine Doghri 8c64f25a0e
fix(category): remove uncategorized option to enforce users in choosing a category
Apple podcasts requires a category to submit a valid podcast RSS feed. The "uncategorized" category
is not a valid category.
2021-06-11 09:35:16 +00:00
Yassine Doghri 88c52db53c
build(docker): optimize Dockerfile and setup vscode devcontainer with all required dependencies
- fix: set mediaBaseURL as baseURL if not defined
- update dev documentation seting up a dev environment
2021-06-11 09:35:09 +00:00
Yassine Doghri 1a024bdec7
ci: fix rector issues for code-review job to pass 2021-06-11 09:35:07 +00:00
Yassine Doghri aa1612342e
style(ecs): add easy-coding-standard to enforce coding style rules for php
- update .devcontainer settings: remove auto-formatting
for php + set intelephense as default formatter
- remove prettier php plugin as it lacks php 8 support
- add captain hook action for checking style pre-commit
- fix style with ecs on all files except views
2021-06-11 09:34:48 +00:00