Commit Graph

494 Commits

Author SHA1 Message Date
Brian Smith
13eea81fe7 fix(deps): regenerate package-lock.json (#1855)
* fix(deps): regenerate package-lock.json

Co-Authored-By: Claude Code <noreply@anthropic.com>

* fix(deps): regenerate package-lock.json

Moved @openedx/frontend-build from dependencies to devDependencies.
Removed direct jest devDependency which was causing ts-jest hoisting issues.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(tests): use require() for MockedPluginSlot in jest.mock

Jest hoists jest.mock() calls to the top of the file, which caused
MockedPluginSlot to be undefined when the mock factory executed.
Using require() inside the factory ensures it loads at runtime.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(types): handle nullable breakpoint types

Paragon's breakpoint types now have optional minWidth/maxWidth properties.
Added non-null assertions since these values are always defined in practice.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(tests): add IntlProvider to ContentIFrame tests

Paragon's ModalDialog now uses useIntl() (openedx/paragon#3624),
requiring an IntlProvider in the component ancestry.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(tests): await async operations in Course tests

Fixed dangling waitFor blocks that weren't awaited, causing tests
to not actually wait for async operations. Changed to properly use
await with screen.findBy*() queries.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(tests): use dynamic imports in LearnerToolsSlot tests

Jest hoists mock calls but ES imports run before the test body.
Using dynamic imports in beforeEach ensures mocks are set up
before modules are loaded.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Code <noreply@anthropic.com>
2026-02-13 17:29:07 -05:00
Maniraja Raman
b282bc05df feat: update chat component to use PluginSlot and simplify logic (#1810) 2025-11-18 22:19:30 -05:00
Jansen Kantor
f91af211f6 feat: add plugin slot for content iframe error component (#1771)
* feat: add plugin slot for content iframe error component

* style: quality

* fix: copilot suggestions
2025-10-20 12:03:07 -04:00
Agrendalath
870263001e fix: ensure iframe visibility tracking is triggered on load
The previous implementation had a race condition that sometimes prevented
XBlocks from being marked as viewed. Users had to scroll or resize the window
to trigger visibility tracking instead of having it happen once content loads.
2025-09-18 16:49:07 +05:30
Diana Olarte
e9121f9261 feat: display the certificate available date if available in progress tab 2025-08-01 16:21:36 +05:30
Diana Villalvazo
33d7d669d9 test: deprecate react-unit-test-utils 1/2 (#1750) 2025-07-28 12:48:53 -04:00
Diana Villalvazo
a75c89cd14 test: deprecate react-test-utils 2/2 (#1751) 2025-07-28 12:12:32 -04:00
Ihor Romaniuk
06902d8ae8 feat: remove waffle flags for managing course outline sidebar (#1713)
* feat: remove waffle flags for managing course outline sidebar

* fix: flag and tests

* fix: product-tours tests

* fix: remove default content for SequenceNavigationSlot and update tests

* fix: remove default content for CourseBreadcrumbsSlot

* fix: update plugin-slots version and documentation

* revert: update plugin-slots version

* fix: update tests
2025-07-21 14:57:43 -04:00
Farhaan Bukhsh
b0505352be fix: Fixes the auto_advance feature for video XBlock
The commit adds eventlistener which picks up the autoAdvance message and
triggers the next sequence. This has the same effect of clicking the
next button.

Signed-off-by: Farhaan Bukhsh <farhaan@opencraft.com>
2025-06-24 19:22:33 +05:30
Brian Smith
ddbc2124ef feat!: add design tokens support (#1737)
BREAKING CHANGE: Pre-design-tokens theming is no longer supported.

Co-authored-by: Diana Olarte <diana.olarte@edunext.co>
2025-06-18 12:07:01 -04:00
sundasnoreen12
7eddc918bb fix: fixed right panel closing issue (#1732)
* fix: fixed right panel closing issue

* fix: fixed status of notificationTrayStatus in session storage

* test: added test cases to close or open notification tray
2025-06-13 10:33:14 -04:00
wgu-jesse-stewart
ab3f5fd7bc fix: ensure full-height layout (#1724)
When content within a sequence was shorter than the height of the browser viewport, the `.sequence-container > .outline-sidebar-wrapper` element does not expand appropriately.  This caused the course outline sidebar to be partially or completely hidden from view.
2025-06-06 15:55:15 -03:00
ayesha waris
73eaf61261 revert: "temp: reverse stack order of discussions and upsell in sidebar (#1705)" (#1712)
This reverts commit 2ce833341b.
2025-06-05 13:25:22 -04:00
jacobo-dominguez-wgu
7edac93752 fix: removing '-1 +' from media queries (#1727) 2025-06-04 16:27:04 -07:00
Javier Ontiveros
d1dede568e feat: hide sidebar on screen resize (#1720)
Adds an event handler on the window resize to check if the sidebar isOpen and the size of the viewport is smaller than the sidebar display to hide the sidebar and prevent it from blocking the course view.
2025-06-04 16:22:01 -03:00
Javier Ontiveros
31b02d777f feat: disable completion item icons on flag (#1714)
* feat: base modifications to disable completion checks when flag enabled

* chore: started updating tests

* chore: udpated tests

* chore: added missing negative test

---------

Co-authored-by: Adolfo R. Brandes <adolfo@axim.org>
2025-06-04 15:33:12 -03:00
Ihor Romaniuk
a71152b008 feat: move sequence navigation to plugin slot (#1716) 2025-05-29 12:05:00 -04:00
wgu-jesse-stewart
d14c2a9ffd fix: sidebar not showing sections on pending courses (#1679) 2025-05-27 13:47:21 -04:00
Jorg Are
b6c29df0a0 chore: add identifiers to some upgrade links/buttons (#1686) 2025-05-21 08:45:19 -04:00
ayesha waris
2ce833341b temp: reverse stack order of discussions and upsell in sidebar (#1705)
Co-authored-by: Ayesha Waris <ayesha.waris@192.168.10.27>
2025-05-19 11:45:32 -04:00
Jansen Kantor
b1ee8a3713 feat: add course end dashboard plugin slots (#1658)
* feat: add additional course end plugin slots

* fix: bring plugin slot names in line with new naming scheme

* refactor: change plugin files to tsx,remove propTypes

* fixup! refactor: change plugin files to tsx,remove propTypes

* fixup! fixup! refactor: change plugin files to tsx,remove propTypes

* fixup! fixup! fixup! refactor: change plugin files to tsx,remove propTypes

* fix: accidentally committed test code

* fix: plugin-slot fixes

* chore: add ENTERPRISE_LEARNER_PORTAL_URL env var
2025-05-08 14:23:41 -04:00
Braden MacDonald
1484bc50f7 refactor: replace query-string pkg, remove unused <ShareButton> (#1676) 2025-05-05 09:56:09 -07:00
Maxim Beder
1412bfe209 feat: update certificate icons
Old certificates icons contained edX trademark logos, which were not
suitable for the open source repos. Replaced with icons that contain
Open edX logos.
2025-04-30 10:27:27 -03:00
Brian Smith
fb6f110732 feat: standardize slot ids (#1685) 2025-04-24 07:27:23 -04:00
KristinAoki
903fe28ff6 refactor: change to useIntl 2025-04-15 10:45:26 -07:00
Adolfo R. Brandes
14c662dc53 feat: removes Upgrade Notification as default content
As a follow-up to
https://github.com/openedx/frontend-app-learning/pull/1368, remove the
UpgradeNotification component from the sidebar's default content.
2025-04-14 16:50:55 -03:00
KristinAoki
b827db800d fix: lint errors 2025-04-10 11:14:16 -04:00
KristinAoki
5b7f76b43d fix: breadcrumb preview link 2025-04-10 11:14:16 -04:00
KristinAoki
cf4bea3604 fix: unit link in preview mode 2025-04-10 11:14:16 -04:00
Feanil Patel
85e6e9266d feat: Drop canShowUpgradeSock course data.
DEPR: https://github.com/openedx/edx-platform/issues/36429

This piece of data is not being used anywhere but was still being
consumed so just drop the data so that the backend can be updated to no
longer provide the data.

The backend API is being updated in https://github.com/openedx/edx-platform/pull/36436
2025-04-09 10:13:24 -04:00
Brian Smith
360af1f0e9 feat: upgrade to react 18 (#1663) 2025-04-07 14:58:51 -04:00
Brian Smith
c06f2c37ab chore(deps): update @openedx dependencies to versions that support React 18 (#1656) 2025-04-02 09:49:49 -04:00
Kristin Aoki
81b621195e fix: button hover background color (#1653)
This PR updates the hover background for the top navigation buttons that are shown when the left side navigation is enabled. The hover background is updated to match the hover background of other existing IconButton components, see DiscussionNotificationTrigger.jsx, on the page.
2025-03-25 17:03:29 +00:00
Kristin Aoki
dae1d63e23 feat: update unit title plugin (#1643)
This PR updates the unit title plugin to include all the elements that are part of the unit title, which includes the unit title, bookmark button, and navigation buttons (if left sidebar navigation is enabled).
2025-03-24 11:46:02 -04:00
Michael Roytman
e5f04d92b9 fix: useExamAccess hook does not make call to fetchExamAccessToken after isExam changes (#1644)
This commit fixes a bug that prevents the fetchExamAccessToken hook in the useExamAccess hook from running. This occurs when the value of isExam returned by the useIsExam hook changes from false to true. Because the dependency array of the useEffect hook within the useExamAccess hook was ['id'], the useEffect hook would not rerun on changes to isExam. The fix is to add isExam to the dependency array.
2025-03-20 15:01:40 -04:00
Kristin Aoki
72724bcafb fix: use sentence casing (#1640)
* fix: use sentence casing

* fix: failing tests
2025-03-18 15:28:59 -04:00
Kristin Aoki
964abbe0c3 fix: right sidebar icon behavior (#1636)
When using the right new-sidebar with the left sidebar navigation, the icon for the right sidebar changed whenever the left sidebar was open. The icon change is supposed to indicate to users that the right sidebar is open. It is confusing to users when the left sidebar navigation is open and the right sidebar icon is filled instead of outlined.
2025-03-17 09:31:23 -04:00
Rodrigo Martin
679caa61f3 feat: Update link styling (#1631) 2025-03-11 12:06:28 -03:00
Rodrigo Martin
d76d4db097 feat: remove align-items-center from unit title main header (#1628) 2025-03-06 12:52:12 -03:00
Jansen Kantor
0ac127e4c9 feat: add plugin slot for course end course recommendations (#1618) 2025-03-04 15:12:53 -05:00
Rodrigo Martin
06e5fb5a44 feat: Update previous and next unit navigation buttons design (#1617)
* feat: Update previous and next unit navigation buttons design

* feat: add unit test

* feat: move unit navigation to be inline with unit title
2025-03-04 11:05:39 -03:00
Agrendalath
2235737490 feat: close sidebar on mobile after selecting a unit 2025-03-03 13:28:59 -08:00
Rodrigo Martin
46889c2aba feat(AU-2375): Update breadcrumbs and outline navigation bar UI (#1582)
* feat: extend CourseOutlineSidebarTriggerSlot props

* feat: Remove courseId from CourseOutlineSidebarTriggerPlugin props

* feat: update useContextId to use courseware data along with coursehome

* feat: extend useCourseOutlineSidebar values with sequenceStatus
2025-02-27 11:24:05 -03:00
Kristin Aoki
3cbbb0272b fix: update outline sidebar hooks for plugins (#1586)
* fix: update outline sidebar hooks for plugins

* docs: explain UnitLinkWrapper
2025-02-21 14:49:52 -05:00
Kristin Aoki
9dc45e192d fix: accessibility issues on outline and unit pages (#1580)
This PR fixes the following accessibility issues:

1. Header used for screenreader only text
2. Element focus when expanding and dismissing welcome message
3. Bookmark button using wrong ARIA attributing while processing bookmark status
2025-01-31 14:18:28 -05:00
Marcos Rigoli
bd9c97c269 fix: Unify Xpert audit trial eligibility between backend and frontend (#1581)
* fix: Refactored Chat to be easier to read

* chore: Fixed comment typo
2025-01-30 16:35:39 -03:00
Kristin Aoki
8823cfaa0a feat: update next unit button plugin for left sidebar navigation usage (#1578)
* feat: move unit next button slot to plugins folder

* feat: update unit navigation at top to use next unit plugin

* fix: remove 2u plugin specific code
2025-01-28 13:01:18 -05:00
Braden MacDonald
826f1382dd * fix(deps): update @openedx/paragon to v22.13.0, fix minor TypeScript warning (#1572)
* fix(deps): update dependency @openedx/paragon to v22.13.0

* fix: update use of useWindowSize() to reflect accurate data types

* chore: allow slightly larger bundle size for new paragon :/

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-10 10:09:17 -08:00
Rodrigo Martin
cbe5b28762 fix(AU-2174): Fix left sidebar throwing 404 (#1556) 2024-12-20 13:09:10 -03:00
Abdur Rahman Asad
4a80532b8d fix: update iframe feature policy
This is needed to fix Xblock video play button not working in Chrome for youtube videos due to iframe security policy.
2024-12-18 09:38:00 -08:00