diff --git a/src/generic/tabs/Tabs.jsx b/src/generic/tabs/Tabs.jsx
index 028023bd..86f08d26 100644
--- a/src/generic/tabs/Tabs.jsx
+++ b/src/generic/tabs/Tabs.jsx
@@ -29,25 +29,28 @@ export default function Tabs({ children, className, ...attrs }) {
// Insert the overflow menu at the cut off index (even if it will be hidden
// it so it can be part of measurements)
- wrappedChildren.splice(indexOfOverflowStart, 0, (
-
= React.Children.count(children) ? invisibleStyle : null}
- ref={overflowElementRef}
- key="overflow"
- >
-
-
- {overflowChildren}
-
-
- ));
+ wrappedChildren.splice(
+ indexOfOverflowStart,
+ 0, (
+
= React.Children.count(children) ? invisibleStyle : null}
+ ref={overflowElementRef}
+ key="overflow"
+ >
+
+
+ {overflowChildren}
+
+
+ ),
+ );
return wrappedChildren;
}, [children, indexOfLastVisibleChild]);
diff --git a/src/i18n/messages/ar.json b/src/i18n/messages/ar.json
index 08a659f0..31668319 100644
--- a/src/i18n/messages/ar.json
+++ b/src/i18n/messages/ar.json
@@ -94,7 +94,7 @@
"learning.proctoringPanel.status.error": "خطأ",
"learning.proctoringPanel.status.otherCourseApproved": "معتمد من مساق آخر",
"learning.proctoringPanel.status.expiringSoon": "تنتهي صلاحيته قريبا",
- "learning.proctoringPanel.status.expired": "Expired",
+ "learning.proctoringPanel.status.expired": "منتهي الصلاحية",
"learning.proctoringPanel.status": "وضع الامتحان التحضيري حاليا:",
"learning.proctoringPanel.message.notStarted": "لم تبدأ امتحانك التحضيري.",
"learning.proctoringPanel.message.started": "لقد بدأت امتحانك التحضيري.",
@@ -104,8 +104,8 @@
"learning.proctoringPanel.message.error": "حدث خطأ أثناء امتحان التهيئة الخاص بك. رجاءً حاول إجراء الامتحان مجددًا.",
"learning.proctoringPanel.message.otherCourseApproved": "تم اعتماد امتحانك التحضيري من مساق آخر.",
"learning.proctoringPanel.detail.otherCourseApproved": "إن تغير جهازك، فإننا نصحك بإكمال الامتحان التحضيري لهذا المساق، و ذلك للتأكد من أن إعداداتك لا تزال تستوفي متطلبات المراقبة.",
- "learning.proctoringPanel.message.expiringSoon": "Your onboarding profile has been approved. However, your onboarding status is expiring soon. Please complete onboarding again to ensure that you will be able to continue taking proctored exams.",
- "learning.proctoringPanel.message.expired": "Your onboarding status has expired. Please complete onboarding again to continue taking proctored exams.",
+ "learning.proctoringPanel.message.expiringSoon": "تمت الموافقة على ملفك الشخصي التحضيري. مع ذلك فإن وضعيتك إزاء التحضير ستنتهي صلاحيتها قريبا. يرجى يرجى إتمام التحضيرات مجددًا لتضمن قدرتك على مواصلة إجراء الاختبارات المراقبة.",
+ "learning.proctoringPanel.message.expired": "انتهت صلاحية ملفك التحضيري. يرجى إتمام التحضيرات مجددًا لمواصلة إجراء الاختبارات المراقبة.",
"learning.proctoringPanel.generalInfo": "عليك إتمام إجراءات التحضير قبل إجراء أي امتحان مراقب.",
"learning.proctoringPanel.generalInfoSubmitted": "ملفك الشخصي المرسَل قيد المراجعة.",
"learning.proctoringPanel.generalTime": "قد تستغرق مراجعة الملف الشخصي للامتحان التحضيري يومي عمل على الأقل.",
@@ -335,7 +335,7 @@
"notification.tray.title": "الإشعارات",
"notification.tray.no.message": "ليست لديك إشعارات جديدة في الوقت الراهن.",
"learn.contentLock.content.locked": "المحتوى مقفل",
- "learn.contentLock.complete.prerequisite": "You must complete the prerequisite: ''{prereqSectionName}'' to access this content.",
+ "learn.contentLock.complete.prerequisite": "عليك إستيفاء المتطلب القبلي: \"{prereqSectionName}\" للوصول إلى هذا المحتوى.",
"learn.contentLock.goToSection": "انتقل إلى القسم المتطلّب.",
"learn.hiddenAfterDue.gradeAvailable": "إن كنت قد أكملت هذا الواجب، فإن درجتك ستظهر في {progressPage}.",
"learn.hiddenAfterDue.header": "انقضى أجَل هذا الواجب.",
diff --git a/src/product-tours/ProductTours.test.jsx b/src/product-tours/ProductTours.test.jsx
index 1fa09f2a..bcf697ee 100644
--- a/src/product-tours/ProductTours.test.jsx
+++ b/src/product-tours/ProductTours.test.jsx
@@ -150,14 +150,14 @@ describe('Course Home Tours', () => {
${403}
${404}
`('does not render tour components for $errorStatus response', async (errorStatus) => {
- setTourData({}, errorStatus, false);
+ setTourData({}, errorStatus, false);
- // Verify no launch tour button
- expect(await screen.queryByRole('button', { name: 'Launch tour' })).not.toBeInTheDocument();
+ // Verify no launch tour button
+ expect(await screen.queryByRole('button', { name: 'Launch tour' })).not.toBeInTheDocument();
- // Verify no Checkpoint or MarketingModal has rendered
- expect(await screen.queryByRole('dialog')).not.toBeInTheDocument();
-});
+ // Verify no Checkpoint or MarketingModal has rendered
+ expect(await screen.queryByRole('dialog')).not.toBeInTheDocument();
+ });
});
function MockUnit({ courseId, id }) { // eslint-disable-line react/prop-types
@@ -294,22 +294,22 @@ describe('Courseware Tour', () => {
${true}
${false}
`('should load courseware checkpoint correctly if tour enabled is $showCoursewareTour', async (showCoursewareTour) => {
- axiosMock.onGet(tourDataUrl).reply(200, {
- course_home_tour_status: 'no-tour',
- show_courseware_tour: showCoursewareTour,
- });
+ axiosMock.onGet(tourDataUrl).reply(200, {
+ course_home_tour_status: 'no-tour',
+ show_courseware_tour: showCoursewareTour,
+ });
- const container = await loadContainer();
+ const container = await loadContainer();
- const sequenceNavButtons = container.querySelectorAll('nav.sequence-navigation button');
- const sequenceNextButton = sequenceNavButtons[4];
- expect(sequenceNextButton).toHaveTextContent('Next');
- fireEvent.click(sequenceNextButton);
+ const sequenceNavButtons = container.querySelectorAll('nav.sequence-navigation button');
+ const sequenceNextButton = sequenceNavButtons[4];
+ expect(sequenceNextButton).toHaveTextContent('Next');
+ fireEvent.click(sequenceNextButton);
- expect(global.location.href).toEqual(`http://localhost/course/${courseId}/${defaultSequenceBlock.id}/${unitBlocks[1].id}`);
+ expect(global.location.href).toEqual(`http://localhost/course/${courseId}/${defaultSequenceBlock.id}/${unitBlocks[1].id}`);
- const checkpoint = container.querySelectorAll('#pgn__checkpoint');
- expect(checkpoint).toHaveLength(showCoursewareTour ? 1 : 0);
-});
+ const checkpoint = container.querySelectorAll('#pgn__checkpoint');
+ expect(checkpoint).toHaveLength(showCoursewareTour ? 1 : 0);
+ });
});
});