-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feat / Restructure and a11y #435
Feat / Restructure and a11y #435
Conversation
refactor(project): move poster aspect to constants refactor(project): move test fixtures and utils refactor: move hooks to react-hooks package chore: configurations and testing refactor: add mockService helper chore: remove .only from useLiveChannels test refactor: move components, containers and pages to ui-react package refactor: rename @jwplayer org to @jwp chore: fix epg fixtures for testing chore: fix unmet peer dependency warnings chore: fix e2e typings
chore(i18n): update i18next scripts
) * refactor: replace meta env imports with common env object * refactor(tests): fix broken ui-react unit tests * refactor(project): add scss typings * refactor(project): remove obsolete ts rule * refactor(tests): make sure mode and dev are globally available * refactor(project): minor code upgrade Co-authored-by: Christiaan Scheermeijer <[email protected]> --------- Co-authored-by: Christiaan Scheermeijer <[email protected]>
* refactor: replace meta env imports with common env object * refactor(tests): fix broken ui-react unit tests * refactor(project): add scss typings * refactor(project): remove obsolete ts rule * refactor(tests): make sure mode and dev are globally available * refactor(project): remove react and react-router-dom from common * refactor(project): replace react-query with tanstack/query-core in common * refactor(project): add location.search string failsafe
Co-authored-by: Mike van Veenhuijzen <[email protected]>
chore: fix scss module import autocomplete in IDE chore: cleanup chore: rename calculate_intergration_type fix: jwp account service injection chore: fix unit tests refactor: move get integration type check # Conflicts: # packages/common/src/services/integrations/cleeng/CleengSubscriptionService.ts # packages/ui-react/src/containers/AdyenPaymentDetails/AdyenPaymentDetails.tsx # packages/ui-react/src/pages/Home/__snapshots__/Home.test.tsx.snap
* feat(a11y): correct heading structure * refactor(a11y): modal id and a11y style selector * refactor(home): add home scss file * chore(a11y): add hidden h1 element to payment page * refactor(project): move accessibility import to main scss file * refactor(e2e): update tests after changes to header hierarchy * refactor(project): update styling import * refactor(tests): update account snapshot * feat(a11y): correct heading structure * refactor(a11y): modal id and a11y style selector * feat(a11y): add skiplink to header and update translations * refactor(project): add tabIndex prop and update translations * refactor(project): update import and move styling variable * refactor(project): add hidden h1 element to correct eelements * refactor(a11y): move hidden header element in dom structure * feat(a11y): link underlines, role attribute and page titles * feat(a11y): add an underline to links at all times * feat(a11y): add role attribute to dialogs * feat(a11y): add role attribute to dialogs * chore(a11y): apply aria-labelledby * chore(a11y): useOpaqueId for id * chore(a11y): improve role attribute value for test * chore: fix merge mistake --------- Co-authored-by: Mike van Veenhuijzen <[email protected]> --------- Co-authored-by: Roy Schut <[email protected]> Co-authored-by: Mike van Veenhuijzen <[email protected]>
* fix(a11y): role=“alertdialog” for alert component with id fix * fix(a11y): add aria-modal to alert component --------- Co-authored-by: Mike van Veenhuijzen <[email protected]>
* fix(a11y): add prop arialabeledby to account sections * fix(tests): update useOpaqueId and snapshots * fix(a11y): update paymnents page sections with the correct prop --------- Co-authored-by: Rachid <[email protected]> # Conflicts: # packages/ui-react/src/components/Payment/Payment.tsx
* fix(a11y): card optimized for screen readers * chore: update snapshots * chore: rewrite unit tests for image with empty alt * fix(e2e): rewrite aria-label with data-label for testing purposes --------- Co-authored-by: Mike van Veenhuijzen <[email protected]> # Conflicts: # packages/ui-react/src/components/Card/Card.tsx # packages/ui-react/src/pages/Home/__snapshots__/Home.test.tsx.snap
Co-authored-by: Rachid <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This one actually wasn't too bad to review. I added a few small questions just to add more comments and details around things. Otherwise, I think I would ask if we can start a doc file to summarize the monorepo workspace approach. A couple things to describe there would be:
- Overall structure, workspace layout, approach for monorepo
- the eslintrc architecture and reasons
- syncpack - usage and reasons
- vite workspace
- tsconfig heirarchy
Thank you very much for reviewing @dbudzins! I'm glad to hear that it wasn't too bad 😄 I think all your comments make sense. I will work on that soon. Do you want to do that before merging this PR, or can I submit a separate PR to develop? |
# Conflicts: # package.json
@dbudzins I've merged develop and also created a PR in our fork with some documentation updates: |
I think it would be best if we have at least a rough version of an overview doc included with the first merge, in case anyone tries to grab the latest and start working with it, they'll be able to navigate the basics. It doesn't have to be a full, in depth doc, we can always add and refine later. |
@dbudzins, the docs are updated to reflect the directory changes. I've also added an initial version of the workspaces documentation. I've prefixed three workflows that are exclusively web only. The only questionable workflow is Let me know what you think! 😄 |
packages/common/src/services/integrations/cleeng/CleengAccountService.ts
Show resolved
Hide resolved
* refactor: initialize workspace and separate services, stores and utils * chore: update configurations and set up linting * refactor(project): move web assets to theme package refactor(project): move poster aspect to constants refactor(project): move test fixtures and utils refactor: move hooks to react-hooks package chore: configurations and testing refactor: add mockService helper chore: remove .only from useLiveChannels test refactor: move components, containers and pages to ui-react package refactor: rename @jwplayer org to @jwp chore: fix epg fixtures for testing chore: fix unmet peer dependency warnings chore: fix e2e typings * docs: add i18n package readme chore(i18n): update i18next scripts * refactor: store supported languages in config store * chore: update release workflow * refactor: move web into platforms directory * chore: update web platform directory in workflows * chore: update gitignore * chore: fix epg fixtures * refactor(project): remove vite from common, ui-react and hooks-react (#8) * refactor: replace meta env imports with common env object * refactor(tests): fix broken ui-react unit tests * refactor(project): add scss typings * refactor(project): remove obsolete ts rule * refactor(tests): make sure mode and dev are globally available * refactor(project): minor code upgrade Co-authored-by: Christiaan Scheermeijer <[email protected]> --------- Co-authored-by: Christiaan Scheermeijer <[email protected]> * feat: remove browser typings from common * refactor(project): remove react from common package (#9) * refactor: replace meta env imports with common env object * refactor(tests): fix broken ui-react unit tests * refactor(project): add scss typings * refactor(project): remove obsolete ts rule * refactor(tests): make sure mode and dev are globally available * refactor(project): remove react and react-router-dom from common * refactor(project): replace react-query with tanstack/query-core in common * refactor(project): add location.search string failsafe * feat(player): show nice error message when media item is geo blocked Co-authored-by: Mike van Veenhuijzen <[email protected]> * refactor(project): move icons to theme folder (#21) * refactor(project): add createURL util to replace all url utils * refactor(project): remove react-router from hooks-react package * refactor: allow custom integration registration via container chore: fix scss module import autocomplete in IDE chore: cleanup chore: rename calculate_intergration_type fix: jwp account service injection chore: fix unit tests refactor: move get integration type check # Conflicts: # packages/common/src/services/integrations/cleeng/CleengSubscriptionService.ts # packages/ui-react/src/containers/AdyenPaymentDetails/AdyenPaymentDetails.tsx # packages/ui-react/src/pages/Home/__snapshots__/Home.test.tsx.snap * refactor(project): split url creation from location based * feat(accessibility): accessibility improvements and quick wins * feat(a11y): correct heading structure * refactor(a11y): modal id and a11y style selector * refactor(home): add home scss file * chore(a11y): add hidden h1 element to payment page * refactor(project): move accessibility import to main scss file * refactor(e2e): update tests after changes to header hierarchy * refactor(project): update styling import * refactor(tests): update account snapshot * feat(a11y): correct heading structure * refactor(a11y): modal id and a11y style selector * feat(a11y): add skiplink to header and update translations * refactor(project): add tabIndex prop and update translations * refactor(project): update import and move styling variable * refactor(project): add hidden h1 element to correct eelements * refactor(a11y): move hidden header element in dom structure * feat(a11y): link underlines, role attribute and page titles * feat(a11y): add an underline to links at all times * feat(a11y): add role attribute to dialogs * feat(a11y): add role attribute to dialogs * chore(a11y): apply aria-labelledby * chore(a11y): useOpaqueId for id * chore(a11y): improve role attribute value for test * chore: fix merge mistake --------- Co-authored-by: Mike van Veenhuijzen <[email protected]> --------- Co-authored-by: Roy Schut <[email protected]> Co-authored-by: Mike van Veenhuijzen <[email protected]> * fix(a11y): alertdialog with aria-modal for alert component * fix(a11y): role=“alertdialog” for alert component with id fix * fix(a11y): add aria-modal to alert component --------- Co-authored-by: Mike van Veenhuijzen <[email protected]> * fix(a11y): apply section to account and payment pages * fix(a11y): add prop arialabeledby to account sections * fix(tests): update useOpaqueId and snapshots * fix(a11y): update paymnents page sections with the correct prop --------- Co-authored-by: Rachid <[email protected]> # Conflicts: # packages/ui-react/src/components/Payment/Payment.tsx * refactor(a11y): refactor language menu switch for accessibility compliance * fix(a11y): cards optimized for screen readers * fix(a11y): card optimized for screen readers * chore: update snapshots * chore: rewrite unit tests for image with empty alt * fix(e2e): rewrite aria-label with data-label for testing purposes --------- Co-authored-by: Mike van Veenhuijzen <[email protected]> # Conflicts: # packages/ui-react/src/components/Card/Card.tsx # packages/ui-react/src/pages/Home/__snapshots__/Home.test.tsx.snap * feat(i18n): reflect language switching in root html lang tag. Co-authored-by: Rachid <[email protected]> * feat(a11y): make user menu keyboard accessible * fix: language menu button * fix: slow login and preventable errors * fix: load subscription after restoring SVOD session * fix(auth): set the correct loading state after logging the user in account-controller * fix: refresh entitlements on tvod purchase * chore: fix depcheck errors * fix: infinite loader when buying a subscription * docs(project): update documentation for workspaces * chore: rename web specific workflows * chore: pr feedback * chore: move build packages to configs directory * fix: epg service bindings --------- Co-authored-by: Roy Schut <[email protected]> Co-authored-by: langemike <[email protected]> Co-authored-by: Mike van Veenhuijzen <[email protected]> Co-authored-by: Melissa Hart <[email protected]> Co-authored-by: Roy Schut <[email protected]> Co-authored-by: Rachid Angelista <[email protected]> Co-authored-by: Rachid <[email protected]>
* refactor: initialize workspace and separate services, stores and utils * chore: update configurations and set up linting * refactor(project): move web assets to theme package refactor(project): move poster aspect to constants refactor(project): move test fixtures and utils refactor: move hooks to react-hooks package chore: configurations and testing refactor: add mockService helper chore: remove .only from useLiveChannels test refactor: move components, containers and pages to ui-react package refactor: rename @jwplayer org to @jwp chore: fix epg fixtures for testing chore: fix unmet peer dependency warnings chore: fix e2e typings * docs: add i18n package readme chore(i18n): update i18next scripts * refactor: store supported languages in config store * chore: update release workflow * refactor: move web into platforms directory * chore: update web platform directory in workflows * chore: update gitignore * chore: fix epg fixtures * refactor(project): remove vite from common, ui-react and hooks-react (#8) * refactor: replace meta env imports with common env object * refactor(tests): fix broken ui-react unit tests * refactor(project): add scss typings * refactor(project): remove obsolete ts rule * refactor(tests): make sure mode and dev are globally available * refactor(project): minor code upgrade Co-authored-by: Christiaan Scheermeijer <[email protected]> --------- Co-authored-by: Christiaan Scheermeijer <[email protected]> * feat: remove browser typings from common * refactor(project): remove react from common package (#9) * refactor: replace meta env imports with common env object * refactor(tests): fix broken ui-react unit tests * refactor(project): add scss typings * refactor(project): remove obsolete ts rule * refactor(tests): make sure mode and dev are globally available * refactor(project): remove react and react-router-dom from common * refactor(project): replace react-query with tanstack/query-core in common * refactor(project): add location.search string failsafe * feat(player): show nice error message when media item is geo blocked Co-authored-by: Mike van Veenhuijzen <[email protected]> * refactor(project): move icons to theme folder (#21) * refactor(project): add createURL util to replace all url utils * refactor(project): remove react-router from hooks-react package * refactor: allow custom integration registration via container chore: fix scss module import autocomplete in IDE chore: cleanup chore: rename calculate_intergration_type fix: jwp account service injection chore: fix unit tests refactor: move get integration type check # Conflicts: # packages/common/src/services/integrations/cleeng/CleengSubscriptionService.ts # packages/ui-react/src/containers/AdyenPaymentDetails/AdyenPaymentDetails.tsx # packages/ui-react/src/pages/Home/__snapshots__/Home.test.tsx.snap * refactor(project): split url creation from location based * feat(accessibility): accessibility improvements and quick wins * feat(a11y): correct heading structure * refactor(a11y): modal id and a11y style selector * refactor(home): add home scss file * chore(a11y): add hidden h1 element to payment page * refactor(project): move accessibility import to main scss file * refactor(e2e): update tests after changes to header hierarchy * refactor(project): update styling import * refactor(tests): update account snapshot * feat(a11y): correct heading structure * refactor(a11y): modal id and a11y style selector * feat(a11y): add skiplink to header and update translations * refactor(project): add tabIndex prop and update translations * refactor(project): update import and move styling variable * refactor(project): add hidden h1 element to correct eelements * refactor(a11y): move hidden header element in dom structure * feat(a11y): link underlines, role attribute and page titles * feat(a11y): add an underline to links at all times * feat(a11y): add role attribute to dialogs * feat(a11y): add role attribute to dialogs * chore(a11y): apply aria-labelledby * chore(a11y): useOpaqueId for id * chore(a11y): improve role attribute value for test * chore: fix merge mistake --------- Co-authored-by: Mike van Veenhuijzen <[email protected]> --------- Co-authored-by: Roy Schut <[email protected]> Co-authored-by: Mike van Veenhuijzen <[email protected]> * fix(a11y): alertdialog with aria-modal for alert component * fix(a11y): role=“alertdialog” for alert component with id fix * fix(a11y): add aria-modal to alert component --------- Co-authored-by: Mike van Veenhuijzen <[email protected]> * fix(a11y): apply section to account and payment pages * fix(a11y): add prop arialabeledby to account sections * fix(tests): update useOpaqueId and snapshots * fix(a11y): update paymnents page sections with the correct prop --------- Co-authored-by: Rachid <[email protected]> # Conflicts: # packages/ui-react/src/components/Payment/Payment.tsx * refactor(a11y): refactor language menu switch for accessibility compliance * fix(a11y): cards optimized for screen readers * fix(a11y): card optimized for screen readers * chore: update snapshots * chore: rewrite unit tests for image with empty alt * fix(e2e): rewrite aria-label with data-label for testing purposes --------- Co-authored-by: Mike van Veenhuijzen <[email protected]> # Conflicts: # packages/ui-react/src/components/Card/Card.tsx # packages/ui-react/src/pages/Home/__snapshots__/Home.test.tsx.snap * feat(i18n): reflect language switching in root html lang tag. Co-authored-by: Rachid <[email protected]> * feat(a11y): make user menu keyboard accessible * fix: language menu button * fix: slow login and preventable errors * fix: load subscription after restoring SVOD session * fix(auth): set the correct loading state after logging the user in account-controller * fix: refresh entitlements on tvod purchase * chore: fix depcheck errors * fix: infinite loader when buying a subscription * docs(project): update documentation for workspaces * chore: rename web specific workflows * chore: pr feedback * chore: move build packages to configs directory * fix: epg service bindings --------- Co-authored-by: Roy Schut <[email protected]> Co-authored-by: langemike <[email protected]> Co-authored-by: Mike van Veenhuijzen <[email protected]> Co-authored-by: Melissa Hart <[email protected]> Co-authored-by: Roy Schut <[email protected]> Co-authored-by: Rachid Angelista <[email protected]> Co-authored-by: Rachid <[email protected]>
* feat(project)!: restructure for multiplatforms with workspaces (#435) * refactor: initialize workspace and separate services, stores and utils * chore: update configurations and set up linting * refactor(project): move web assets to theme package refactor(project): move poster aspect to constants refactor(project): move test fixtures and utils refactor: move hooks to react-hooks package chore: configurations and testing refactor: add mockService helper chore: remove .only from useLiveChannels test refactor: move components, containers and pages to ui-react package refactor: rename @jwplayer org to @jwp chore: fix epg fixtures for testing chore: fix unmet peer dependency warnings chore: fix e2e typings * docs: add i18n package readme chore(i18n): update i18next scripts * refactor: store supported languages in config store * chore: update release workflow * refactor: move web into platforms directory * chore: update web platform directory in workflows * chore: update gitignore * chore: fix epg fixtures * refactor(project): remove vite from common, ui-react and hooks-react (#8) * refactor: replace meta env imports with common env object * refactor(tests): fix broken ui-react unit tests * refactor(project): add scss typings * refactor(project): remove obsolete ts rule * refactor(tests): make sure mode and dev are globally available * refactor(project): minor code upgrade Co-authored-by: Christiaan Scheermeijer <[email protected]> --------- Co-authored-by: Christiaan Scheermeijer <[email protected]> * feat: remove browser typings from common * refactor(project): remove react from common package (#9) * refactor: replace meta env imports with common env object * refactor(tests): fix broken ui-react unit tests * refactor(project): add scss typings * refactor(project): remove obsolete ts rule * refactor(tests): make sure mode and dev are globally available * refactor(project): remove react and react-router-dom from common * refactor(project): replace react-query with tanstack/query-core in common * refactor(project): add location.search string failsafe * feat(player): show nice error message when media item is geo blocked Co-authored-by: Mike van Veenhuijzen <[email protected]> * refactor(project): move icons to theme folder (#21) * refactor(project): add createURL util to replace all url utils * refactor(project): remove react-router from hooks-react package * refactor: allow custom integration registration via container chore: fix scss module import autocomplete in IDE chore: cleanup chore: rename calculate_intergration_type fix: jwp account service injection chore: fix unit tests refactor: move get integration type check # Conflicts: # packages/common/src/services/integrations/cleeng/CleengSubscriptionService.ts # packages/ui-react/src/containers/AdyenPaymentDetails/AdyenPaymentDetails.tsx # packages/ui-react/src/pages/Home/__snapshots__/Home.test.tsx.snap * refactor(project): split url creation from location based * feat(accessibility): accessibility improvements and quick wins * feat(a11y): correct heading structure * refactor(a11y): modal id and a11y style selector * refactor(home): add home scss file * chore(a11y): add hidden h1 element to payment page * refactor(project): move accessibility import to main scss file * refactor(e2e): update tests after changes to header hierarchy * refactor(project): update styling import * refactor(tests): update account snapshot * feat(a11y): correct heading structure * refactor(a11y): modal id and a11y style selector * feat(a11y): add skiplink to header and update translations * refactor(project): add tabIndex prop and update translations * refactor(project): update import and move styling variable * refactor(project): add hidden h1 element to correct eelements * refactor(a11y): move hidden header element in dom structure * feat(a11y): link underlines, role attribute and page titles * feat(a11y): add an underline to links at all times * feat(a11y): add role attribute to dialogs * feat(a11y): add role attribute to dialogs * chore(a11y): apply aria-labelledby * chore(a11y): useOpaqueId for id * chore(a11y): improve role attribute value for test * chore: fix merge mistake --------- Co-authored-by: Mike van Veenhuijzen <[email protected]> --------- Co-authored-by: Roy Schut <[email protected]> Co-authored-by: Mike van Veenhuijzen <[email protected]> * fix(a11y): alertdialog with aria-modal for alert component * fix(a11y): role=“alertdialog” for alert component with id fix * fix(a11y): add aria-modal to alert component --------- Co-authored-by: Mike van Veenhuijzen <[email protected]> * fix(a11y): apply section to account and payment pages * fix(a11y): add prop arialabeledby to account sections * fix(tests): update useOpaqueId and snapshots * fix(a11y): update paymnents page sections with the correct prop --------- Co-authored-by: Rachid <[email protected]> # Conflicts: # packages/ui-react/src/components/Payment/Payment.tsx * refactor(a11y): refactor language menu switch for accessibility compliance * fix(a11y): cards optimized for screen readers * fix(a11y): card optimized for screen readers * chore: update snapshots * chore: rewrite unit tests for image with empty alt * fix(e2e): rewrite aria-label with data-label for testing purposes --------- Co-authored-by: Mike van Veenhuijzen <[email protected]> # Conflicts: # packages/ui-react/src/components/Card/Card.tsx # packages/ui-react/src/pages/Home/__snapshots__/Home.test.tsx.snap * feat(i18n): reflect language switching in root html lang tag. Co-authored-by: Rachid <[email protected]> * feat(a11y): make user menu keyboard accessible * fix: language menu button * fix: slow login and preventable errors * fix: load subscription after restoring SVOD session * fix(auth): set the correct loading state after logging the user in account-controller * fix: refresh entitlements on tvod purchase * chore: fix depcheck errors * fix: infinite loader when buying a subscription * docs(project): update documentation for workspaces * chore: rename web specific workflows * chore: pr feedback * chore: move build packages to configs directory * fix: epg service bindings --------- Co-authored-by: Roy Schut <[email protected]> Co-authored-by: langemike <[email protected]> Co-authored-by: Mike van Veenhuijzen <[email protected]> Co-authored-by: Melissa Hart <[email protected]> Co-authored-by: Roy Schut <[email protected]> Co-authored-by: Rachid Angelista <[email protected]> Co-authored-by: Rachid <[email protected]> * feat(project): dynamic gtm snippet Co-authored-by: Mike van Veenhuijzen <[email protected]> * refactor(project): make route definitions static and improve url utils * refactor: refactor typings * fix(auth): capture error to prevent misleading “wrong combination” error Co-authored-by: Mike van Veenhuijzen <[email protected]> * feat(project): customizable footer through env-var Co-authored-by: Mike van Veenhuijzen <[email protected]> * refactor(project): add replaceable components to ui-react * feat(project): favicons in different sizes Co-authored-by: Mike van Veenhuijzen <[email protected]> * chore(project): dynamic manifest.json Co-authored-by: Mike van Veenhuijzen <[email protected]> * chore: update depcheck * fix(player): inlineplayer not supporting tvod * fix(user): tvod subscription not reloaded after login for authvod/avod * refactor(payment): fix hasTVODOffers not properly defined * docs(project): update url signing link * fix(payment): subscription offer panel shown for authvod+tvod * refactor(payment): simplify useOffers hook * refactor(user): prevent unnecessary subscription calls * refactor(user): let reloadSubscriptions handle all access modals * refactor: Cleeng and Inplayer account typings * fix(project): show footer when custom footer is provided Co-authored-by: Mike van Veenhuijzen <[email protected]> * fix/checkout bugs * fix(account): delete account error * refactor: move controllers and refactor form logic * fix: favorites and history validation error * fix(payment): redirect after incorrect couponcode entry * fix(payment): tvod offer not showing in AuthVOD platform * fix(payment): incorrect couponCode success message * fix: root error screen for unexpected errors * fix(project): undouble serieIds to prevent crash * fix: hide start watching button in avod platform * fix: e2e test optimisations and small fixes * refactor: revisit login and register try catch flow * refactor: move form validation error and pass all errors * refactor: add loading state for publisher consents * fix: set wrong loading state in early return * fix: update order error handling * refactor: simplify path constants * refactor: use keyed object in submit paypal method * chore: revert config footer text removal * refactor: render error to component * fix: restore personal shelves after registration * fix: personal shelves restoration * feat(a11y): many accessibility optimisations fix(a11y): prevent double ids on inputs by requiring a name feat(a11y): apply aria-modal attribute and move header landmark (#48) feat(a11y): update button role and html structure of account and player pages (#47) feat(a11y): add correct text markups and aria attributes (#46) feat(home): add (geo) error message when all playlists are empty feat(a11y): add form error announcement feat(a11y): add solid header background color to ensure accessibility feat(a11y): implement aria-invalid and aria-described by to inputs on error feat(project): add google fonts from env vars feat: keyboard accessible LayoutGrid feat: optimize featured shelf slider for accessibility feat(a11y): accessible sidebar & <main> landmark feat(a11y): enhance dialog and modals accessibility fix(a11y): alt text for images for EPG fix(a11y): empty alt for image because of adjacent text alternative fix(a11y): fix arrow keys for offer radio buttons fix(a11y): skiplink first element feat(a11y): improve html structure for VideoListItem fix(e2e): cardgrid card navigation feat(a11y): apply lang attribute to custom fields feat(a11y): accessible focus outline * fix(project): create missing pwa icons Co-authored-by: Mike van Veenhuijzen <[email protected]> * feat(a11y): update font colors for contrast and adjust active state in header (#76) * fix(a11y): prevent duplicate global a11y selectors * fix(a11y): shelf item navigation with screen reader Co-authored-by: Mike van Veenhuijzen <[email protected]> * chore: update snapshots * fix: language menu icon not centered * fix(a11y): remove outline when user is not tabbing * fix(a11y): format date call caused an error to be raised * fix(menu): ensure logo does not exceed width of the header * refactor(a11y): remove double account header and add translations * fix(a11y): constrast enhancement for search field * feat: underline for active header item and add lineair gradient * fix: enter key not closing the account modal * fix: logo and header layout issues * fix(a11y): close search bar when pressing escape * fix: e2e tests for a11y * fix: related videos title layout issue * fix: footer overlap fix * fix: click not working in layout grid * refactor: remove reactive focus from layout grid * fix: layout grid home and page down problem * fix: layout grid arrow down and end problem * fix(project): fix live stream duration check for ott plugin (#460) * feat: accessibility improvements and bug fixes * chore: add pr deployment previews workflows * fix(payment): redirect to wrong media after payment * chore: add version number to footer text Co-authored-by: Melissa Hart <[email protected]> * fix: show error on email field when invalid * fix(project): favicons & preconnect jwapp.com * fix: broken checkbox in personal details form * fix: hide disabled questions in personal details screen * fix: improve consents required form error * fix: show error when delete account fails * fix: hide optional label in season select dropdown * fix: shelf margin and grid loading state * chore: add default config and set demo mode on for build (#127) * feat: Render favicons dynamically Co-authored-by: Mike van Veenhuijzen <[email protected]> * refactor(payment): improve choose offer flow * fix(payment): ui not updating after paypal payment * refactor: add strict util for modal urls from window location * feat(a11y): add auto focus to play/pause button of players * fix(menu): prevent text to go on two lines in buttons * fix(a11y): ensure wcag compliance with 1.5 line-height for texts (#109) * feat(a11y): apply the autocomplete attribute to input fields(#115) * feat(a11y): apply correct aria attributes and improve searchbar (#117) * feat(a11y): video meta data items separated (#116) Co-authored-by: Mike van Veenhuijzen <[email protected]> * fix(a11y): only set focus programmatically on keyboard navigation Co-authored-by: Mike van Veenhuijzen <[email protected]> * feat(a11y): form validation improvements for screen readers Co-authored-by: Mike van Veenhuijzen <[email protected]> * fix(a11y): apply aria-hidden to checkbox asterisk (#121) * feat(a11y): slide chevron buttons hitarea increased Co-authored-by: Mike van Veenhuijzen <[email protected]> * fix(a11y): usermenu item count & correct html structure Co-authored-by: Mike van Veenhuijzen <[email protected]> * fix(a11y): roles and aria-attributes regarding modals (#125) * feat(a11y): slider navigation optimized * chore: fix react warning * fix(payment): layout of invoices on mobile * fix(a11y): optimize footer for accessibility * feat(a11y): improve accessibility of sidebar * feat(a11y): optimize profile menu * fix(a11y): improve screenreader focus on start watching button * fix(a11y): videoplayer focus (iOS) & restoration Co-authored-by: Mike van Veenhuijzen <[email protected]> * fix: active state of language menu and apply aria-current * fix(search): prevent keyboard from persisting in searchbar on submit * fix(a11y): ensure correct focus on first sidebar menu item * fix(user): update question value while typing Co-authored-by: Mike van Veenhuijzen <[email protected]> * fix(videodetail): don’t render empty duration metadata * fix(user): error when updating customer * fix(project): checkbox values for customer consents * fix(menu): ensure sidebar is scrollable * refactor(menu): apply dynamic viewport height for sidebar * fix(project): overall styling of the hub page * fix(payment): fix new subscription not showing in UI * fix: cinema not covering full viewport height * fix(videodetail): page behind player too wide * fix(videodetail): buttons not aligning properly * feat: align sidebar backdrop with modal * fix(a11y): add selected state to season filters * fix(a11y): add role to make lock icon readable refactor(tests): update snapshots * fix(a11y): add aria-pressed to password icon and underline to footer links * fix: video metadata styling with status icon for live events * chore: format package files * fix(player): back button not working * fix(player): title overlay fade animation * chore(project): maintenance 2024-q1 * chore: enable verbatimModuleSyntax * chore: use cjs for lighthouse config * chore: add comment to s3 workflow * refactor: extract metadata utils * chore: cleanup translations --------- Co-authored-by: Vincent Couzij <[email protected]> Co-authored-by: Melissa Hart <[email protected]> Co-authored-by: Mike van Veenhuijzen <[email protected]> Co-authored-by: langemike <[email protected]> Co-authored-by: Roy Schut <[email protected]> Co-authored-by: Roy Schut <[email protected]> Co-authored-by: Melissa 't Hart <[email protected]> * feat(watchhistory): change max items limit (#418) * feat(watchhistory): change max items limit * feat(payment): disable deprecated receipts cleeng (#458) * chore: replace depcheck with knip (#462) * chore: replace depcheck with knip * chore: run prettier on knip.config.ts * chore: revert to knip entry instead of package exports * chore: fix prettier * docs(project): update docs for workspaces * docs: spellcheck and fix feedback * feat(project): update default content-type schemas * fix(project): unused dep * fix(project): ensure modals obscure underlying elements * feat(project): add app content search * chore(release): v6.0.0 * feat(project): update translations * fix(project): fix es translations --------- Co-authored-by: Christiaan Scheermeijer <[email protected]> Co-authored-by: Roy Schut <[email protected]> Co-authored-by: langemike <[email protected]> Co-authored-by: Mike van Veenhuijzen <[email protected]> Co-authored-by: Melissa Hart <[email protected]> Co-authored-by: Roy Schut <[email protected]> Co-authored-by: Rachid Angelista <[email protected]> Co-authored-by: Rachid <[email protected]> Co-authored-by: Anton Lantukh <[email protected]> Co-authored-by: Melissa 't Hart <[email protected]> Co-authored-by: Vincent Couzij <[email protected]> Co-authored-by: Conventional Changelog Action <[email protected]>
Description
Sorry in advance for dropping this PR 😅...
I initially planned to rebase the changes from the develop branch for a linear history, but unfortunately, there were too many commits and conflicts.
We talked about restructuring the OTT Web App for multi-platform purposes a few weeks ago. A lot of code can be reused for different platforms, but because it is currently a single package (web platform), it's hard to extract the code for a, let's say React Native app.
Most of the structure changes you've seen and reviewed already. We've worked hard for the last 3 weeks to finalize the restructure by cleaning up dependencies and ensuring the common package doesn't use browser typings or React.
Besides that, we've also addressed a lot of accessibility bugs. We aim to achieve at least WCAG 2.1 AA, but we're not there yet. In the next sprint we will address even more accessibility issues and submit this later as PR(s). The accessibility fixes are mainly applied to components and SCSS files.
The most significant changes made since you last reviewed the restructure are:
We also addressed some issues found while testing:
listProfiles
query with a few retriesWe have found a few more problems but didn't have the time to fix these in this sprint. We've confirmed that these bugs are currently also present in the latest release.
There is 1 more PR open (almost ready to merge) that fixes a problem we've had while testing but was harder to fix, unfortunately.
Videodock#31
PS. You can also view each PR (with reviews) separately: https://github.com/Videodock/ott-web-app/pulls?q=is%3Apr+is%3Aclosed
In the next sprint, we'll continue working on more a11y issues and refactoring some services, controllers, containers, and hooks. Specifically, we want to move most logic from components, containers and hooks to services/controllers.