* feat: pagination studio home for courses * chore: addressing some comments * refactor: addressing pr comments * test: adding test for studio home slice * feat: search input and filters for course home * fix: using open edx paragon * feat: usedebounce hook for searching courses * fix: filters params for searching coruses * feat: adding coursekey when course name is empty * chore: remove edit in studio button * fix: message changed when courses were not found * refactor: support courses tab filters and pagination * test: more cases for course filters component * refactor: coverage for onsubmit search field * test: unit test for courses tab component * feat: loading for search input and layout of course tab * fix: linter problems * test: adding more tests for courses tab * refactor: don't ignore empty string as a case for searching * refactor: manage empty search bar as special case for searching * fix: remove expected dispatch mock for clear button --------- Co-authored-by: Maria Grimaldi <maria.grimaldi@edunext.co>
37 lines
806 B
JavaScript
37 lines
806 B
JavaScript
import React from 'react';
|
|
import PropTypes from 'prop-types';
|
|
import { Spinner } from '@openedx/paragon';
|
|
import { FormattedMessage } from '@edx/frontend-platform/i18n';
|
|
|
|
export const LoadingSpinner = ({ size }) => (
|
|
<Spinner
|
|
animation="border"
|
|
role="status"
|
|
variant="primary"
|
|
size={size}
|
|
screenReaderText={(
|
|
<FormattedMessage
|
|
id="authoring.loading"
|
|
defaultMessage="Loading..."
|
|
description="Screen-reader message for when a page is loading."
|
|
/>
|
|
)}
|
|
/>
|
|
);
|
|
|
|
LoadingSpinner.defaultProps = {
|
|
size: undefined,
|
|
};
|
|
|
|
LoadingSpinner.propTypes = {
|
|
size: PropTypes.string,
|
|
};
|
|
|
|
const Loading = () => (
|
|
<div className="d-flex justify-content-center align-items-center flex-column vh-100">
|
|
<LoadingSpinner />
|
|
</div>
|
|
);
|
|
|
|
export default Loading;
|