chore(deps): update paragon and frontend-build to openedx scope
This commit is contained in:
committed by
Adolfo R. Brandes
parent
3a7b7054e7
commit
1a2068d52f
@@ -1,4 +1,4 @@
|
|||||||
const { createConfig } = require('@edx/frontend-build');
|
const { createConfig } = require('@openedx/frontend-build');
|
||||||
|
|
||||||
module.exports = createConfig(
|
module.exports = createConfig(
|
||||||
'eslint',
|
'eslint',
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const { createConfig } = require('@edx/frontend-build');
|
const { createConfig } = require('@openedx/frontend-build');
|
||||||
|
|
||||||
module.exports = createConfig('jest', {
|
module.exports = createConfig('jest', {
|
||||||
// setupFilesAfterEnv is used after the jest environment has been loaded. In general this is what you want.
|
// setupFilesAfterEnv is used after the jest environment has been loaded. In general this is what you want.
|
||||||
|
|||||||
13502
package-lock.json
generated
13502
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
11
package.json
11
package.json
@@ -34,11 +34,11 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@edx/brand": "npm:@openedx/brand-openedx@^1.2.2",
|
"@edx/brand": "npm:@openedx/brand-openedx@^1.2.2",
|
||||||
"@edx/frontend-component-footer": "12.6.1",
|
"@edx/frontend-component-footer": "^13.0.2",
|
||||||
"@edx/frontend-component-header": "4.10.1",
|
"@edx/frontend-component-header": "^5.0.2",
|
||||||
"@edx/frontend-platform": "5.6.1",
|
"@edx/frontend-platform": "^7.1.0",
|
||||||
"@edx/openedx-atlas": "^0.6.0",
|
"@edx/openedx-atlas": "^0.6.0",
|
||||||
"@edx/paragon": "20.46.3",
|
"@openedx/paragon": "^22.1.1",
|
||||||
"@reduxjs/toolkit": "1.9.7",
|
"@reduxjs/toolkit": "1.9.7",
|
||||||
"@tinymce/tinymce-react": "3.13.1",
|
"@tinymce/tinymce-react": "3.13.1",
|
||||||
"babel-polyfill": "6.26.0",
|
"babel-polyfill": "6.26.0",
|
||||||
@@ -62,11 +62,12 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@edx/browserslist-config": "1.2.0",
|
"@edx/browserslist-config": "1.2.0",
|
||||||
"@edx/frontend-build": "13.0.14",
|
"@openedx/frontend-build": "^13.0.28",
|
||||||
"@edx/reactifex": "1.1.0",
|
"@edx/reactifex": "1.1.0",
|
||||||
"@testing-library/jest-dom": "5.17.0",
|
"@testing-library/jest-dom": "5.17.0",
|
||||||
"@testing-library/react": "12.1.5",
|
"@testing-library/react": "12.1.5",
|
||||||
"@testing-library/user-event": "13.5.0",
|
"@testing-library/user-event": "13.5.0",
|
||||||
|
"axios": "^0.28.0",
|
||||||
"axios-mock-adapter": "1.22.0",
|
"axios-mock-adapter": "1.22.0",
|
||||||
"babel-plugin-react-intl": "8.2.25",
|
"babel-plugin-react-intl": "8.2.25",
|
||||||
"eslint-plugin-simple-import-sort": "7.0.0",
|
"eslint-plugin-simple-import-sort": "7.0.0",
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
import React, { useCallback, useMemo, useState } from 'react';
|
import React, { useCallback, useMemo, useState } from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import {
|
||||||
|
Collapsible, Form, Icon, Spinner,
|
||||||
|
} from '@openedx/paragon';
|
||||||
|
import { Tune } from '@openedx/paragon/icons';
|
||||||
import { capitalize, toString } from 'lodash';
|
import { capitalize, toString } from 'lodash';
|
||||||
import { useSelector } from 'react-redux';
|
import { useSelector } from 'react-redux';
|
||||||
|
|
||||||
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
|
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
|
||||||
import {
|
|
||||||
Collapsible, Form, Icon, Spinner,
|
|
||||||
} from '@edx/paragon';
|
|
||||||
import { Tune } from '@edx/paragon/icons';
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
PostsStatusFilter, RequestStatus,
|
PostsStatusFilter, RequestStatus,
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { Form, TransitionReplace } from '@openedx/paragon';
|
||||||
import { getIn, useFormikContext } from 'formik';
|
import { getIn, useFormikContext } from 'formik';
|
||||||
|
|
||||||
import { Form, TransitionReplace } from '@edx/paragon';
|
|
||||||
|
|
||||||
const FormikErrorFeedback = ({ name }) => {
|
const FormikErrorFeedback = ({ name }) => {
|
||||||
const { touched, errors } = useFormikContext();
|
const { touched, errors } = useFormikContext();
|
||||||
const fieldTouched = getIn(touched, name);
|
const fieldTouched = getIn(touched, name);
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
@import "~@edx/brand/paragon/fonts.scss";
|
@import "~@edx/brand/paragon/fonts.scss";
|
||||||
@import "~@edx/brand/paragon/variables.scss";
|
@import "~@edx/brand/paragon/variables.scss";
|
||||||
@import "~@edx/paragon/scss/core/core.scss";
|
@import "~@openedx/paragon/scss/core/core.scss";
|
||||||
@import "~@edx/brand/paragon/overrides.scss";
|
@import "~@edx/brand/paragon/overrides.scss";
|
||||||
|
|
||||||
$fa-font-path: "~font-awesome/fonts";
|
$fa-font-path: "~font-awesome/fonts";
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import React, { useMemo } from 'react';
|
import React, { useMemo } from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { Dropdown } from '@openedx/paragon';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
|
|
||||||
import { FormattedMessage } from '@edx/frontend-platform/i18n';
|
import { FormattedMessage } from '@edx/frontend-platform/i18n';
|
||||||
import { Dropdown } from '@edx/paragon';
|
|
||||||
|
|
||||||
import useIndexOfLastVisibleChild from './useIndexOfLastVisibleChild';
|
import useIndexOfLastVisibleChild from './useIndexOfLastVisibleChild';
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { useLayoutEffect, useRef, useState } from 'react';
|
import { useLayoutEffect, useRef, useState } from 'react';
|
||||||
|
|
||||||
import { useWindowSize } from '@edx/paragon';
|
import { useWindowSize } from '@openedx/paragon';
|
||||||
|
|
||||||
const invisibleStyle = {
|
const invisibleStyle = {
|
||||||
position: 'absolute',
|
position: 'absolute',
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
import React, { useState } from 'react';
|
import React, { useState } from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { Button, Icon, IconButton } from '@openedx/paragon';
|
||||||
|
import { Close } from '@openedx/paragon/icons';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { Button, Icon, IconButton } from '@edx/paragon';
|
|
||||||
import { Close } from '@edx/paragon/icons';
|
|
||||||
|
|
||||||
import messages from '../discussions/posts/post-editor/messages';
|
import messages from '../discussions/posts/post-editor/messages';
|
||||||
import HTMLLoader from './HTMLLoader';
|
import HTMLLoader from './HTMLLoader';
|
||||||
|
|||||||
@@ -2,12 +2,12 @@ import React, {
|
|||||||
useCallback, useContext, useEffect, useRef, useState,
|
useCallback, useContext, useEffect, useRef, useState,
|
||||||
} from 'react';
|
} from 'react';
|
||||||
|
|
||||||
|
import { Icon, SearchField } from '@openedx/paragon';
|
||||||
|
import { Search as SearchIcon } from '@openedx/paragon/icons';
|
||||||
import camelCase from 'lodash/camelCase';
|
import camelCase from 'lodash/camelCase';
|
||||||
import { useDispatch, useSelector } from 'react-redux';
|
import { useDispatch, useSelector } from 'react-redux';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { Icon, SearchField } from '@edx/paragon';
|
|
||||||
import { Search as SearchIcon } from '@edx/paragon/icons';
|
|
||||||
|
|
||||||
import DiscussionContext from '../discussions/common/context';
|
import DiscussionContext from '../discussions/common/context';
|
||||||
import { setUsernameSearch } from '../discussions/learners/data';
|
import { setUsernameSearch } from '../discussions/learners/data';
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { Button, Icon } from '@openedx/paragon';
|
||||||
|
import { Search } from '@openedx/paragon/icons';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { Button, Icon } from '@edx/paragon';
|
|
||||||
import { Search } from '@edx/paragon/icons';
|
|
||||||
|
|
||||||
import { RequestStatus } from '../data/constants';
|
import { RequestStatus } from '../data/constants';
|
||||||
import messages from '../discussions/posts/post-actions-bar/messages';
|
import messages from '../discussions/posts/post-actions-bar/messages';
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
|
||||||
import { Spinner as ParagonSpinner } from '@edx/paragon';
|
import { Spinner as ParagonSpinner } from '@openedx/paragon';
|
||||||
|
|
||||||
const Spinner = () => (
|
const Spinner = () => (
|
||||||
<div className="spinner-container" data-testid="spinner">
|
<div className="spinner-container" data-testid="spinner">
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import React, { useCallback, useEffect, useState } from 'react';
|
import React, { useCallback, useEffect, useState } from 'react';
|
||||||
|
|
||||||
|
import { ActionRow, AlertModal, Button } from '@openedx/paragon';
|
||||||
import { Editor } from '@tinymce/tinymce-react';
|
import { Editor } from '@tinymce/tinymce-react';
|
||||||
import { useLocation, useParams } from 'react-router-dom';
|
import { useLocation, useParams } from 'react-router-dom';
|
||||||
// TinyMCE so the global var exists
|
// TinyMCE so the global var exists
|
||||||
@@ -7,7 +8,6 @@ import { useLocation, useParams } from 'react-router-dom';
|
|||||||
import tinymce from 'tinymce/tinymce';
|
import tinymce from 'tinymce/tinymce';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { ActionRow, AlertModal, Button } from '@edx/paragon';
|
|
||||||
|
|
||||||
import { MAX_UPLOAD_FILE_SIZE } from '../data/constants';
|
import { MAX_UPLOAD_FILE_SIZE } from '../data/constants';
|
||||||
import messages from '../discussions/messages';
|
import messages from '../discussions/messages';
|
||||||
|
|||||||
@@ -2,11 +2,11 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { Icon, OverlayTrigger, Tooltip } from '@openedx/paragon';
|
||||||
|
import { HelpOutline, PostOutline, Report } from '@openedx/paragon/icons';
|
||||||
import { useSelector } from 'react-redux';
|
import { useSelector } from 'react-redux';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { Icon, OverlayTrigger, Tooltip } from '@edx/paragon';
|
|
||||||
import { HelpOutline, PostOutline, Report } from '@edx/paragon/icons';
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
selectUserHasModerationPrivileges,
|
selectUserHasModerationPrivileges,
|
||||||
|
|||||||
@@ -3,14 +3,14 @@ import React, {
|
|||||||
} from 'react';
|
} from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import {
|
||||||
|
Button, Dropdown, Icon, IconButton, ModalPopup, useToggle,
|
||||||
|
} from '@openedx/paragon';
|
||||||
|
import { MoreHoriz } from '@openedx/paragon/icons';
|
||||||
import { useSelector } from 'react-redux';
|
import { useSelector } from 'react-redux';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { logError } from '@edx/frontend-platform/logging';
|
import { logError } from '@edx/frontend-platform/logging';
|
||||||
import {
|
|
||||||
Button, Dropdown, Icon, IconButton, ModalPopup, useToggle,
|
|
||||||
} from '@edx/paragon';
|
|
||||||
import { MoreHoriz } from '@edx/paragon/icons';
|
|
||||||
|
|
||||||
import { ContentActions } from '../../data/constants';
|
import { ContentActions } from '../../data/constants';
|
||||||
import { selectIsPostingEnabled } from '../data/selectors';
|
import { selectIsPostingEnabled } from '../data/selectors';
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { Alert } from '@openedx/paragon';
|
||||||
|
import { Report } from '@openedx/paragon/icons';
|
||||||
import { useSelector } from 'react-redux';
|
import { useSelector } from 'react-redux';
|
||||||
|
|
||||||
import { getAuthenticatedUser } from '@edx/frontend-platform/auth';
|
import { getAuthenticatedUser } from '@edx/frontend-platform/auth';
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { Alert } from '@edx/paragon';
|
|
||||||
import { Report } from '@edx/paragon/icons';
|
|
||||||
|
|
||||||
import { AvatarOutlineAndLabelColors } from '../../data/constants';
|
import { AvatarOutlineAndLabelColors } from '../../data/constants';
|
||||||
import {
|
import {
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { Alert } from '@openedx/paragon';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { Alert } from '@edx/paragon';
|
|
||||||
|
|
||||||
import messages from '../post-comments/messages';
|
import messages from '../post-comments/messages';
|
||||||
import AuthorLabel from './AuthorLabel';
|
import AuthorLabel from './AuthorLabel';
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
import React, { useContext, useMemo } from 'react';
|
import React, { useContext, useMemo } from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { Icon, OverlayTrigger, Tooltip } from '@openedx/paragon';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import { generatePath, Link } from 'react-router-dom';
|
import { generatePath, Link } from 'react-router-dom';
|
||||||
import * as timeago from 'timeago.js';
|
import * as timeago from 'timeago.js';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { Icon, OverlayTrigger, Tooltip } from '@edx/paragon';
|
|
||||||
|
|
||||||
import { Routes } from '../../data/constants';
|
import { Routes } from '../../data/constants';
|
||||||
import messages from '../messages';
|
import messages from '../messages';
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { ActionRow, Button, ModalDialog } from '@openedx/paragon';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { ActionRow, Button, ModalDialog } from '@edx/paragon';
|
|
||||||
|
|
||||||
import messages from '../messages';
|
import messages from '../messages';
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import React, { useContext } from 'react';
|
import React, { useContext } from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { Alert, Icon } from '@openedx/paragon';
|
||||||
|
import { CheckCircle, Verified } from '@openedx/paragon/icons';
|
||||||
import * as timeago from 'timeago.js';
|
import * as timeago from 'timeago.js';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { Alert, Icon } from '@edx/paragon';
|
|
||||||
import { CheckCircle, Verified } from '@edx/paragon/icons';
|
|
||||||
|
|
||||||
import { ThreadType } from '../../data/constants';
|
import { ThreadType } from '../../data/constants';
|
||||||
import messages from '../post-comments/messages';
|
import messages from '../post-comments/messages';
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
import React, { useContext } from 'react';
|
import React, { useContext } from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import {
|
||||||
|
Button, Icon, IconButton, OverlayTrigger, Tooltip,
|
||||||
|
} from '@openedx/paragon';
|
||||||
|
import {
|
||||||
|
StarFilled, StarOutline, ThumbUpFilled, ThumbUpOutline,
|
||||||
|
} from '@openedx/paragon/icons';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import {
|
|
||||||
Button, Icon, IconButton, OverlayTrigger, Tooltip,
|
|
||||||
} from '@edx/paragon';
|
|
||||||
import {
|
|
||||||
StarFilled, StarOutline, ThumbUpFilled, ThumbUpOutline,
|
|
||||||
} from '@edx/paragon/icons';
|
|
||||||
|
|
||||||
import { ThreadType } from '../../data/constants';
|
import { ThreadType } from '../../data/constants';
|
||||||
import { useUserPostingEnabled } from '../data/hooks';
|
import { useUserPostingEnabled } from '../data/hooks';
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
import React, { useCallback } from 'react';
|
import React, { useCallback } from 'react';
|
||||||
import propTypes from 'prop-types';
|
import propTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { Button } from '@openedx/paragon';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import { useSelector } from 'react-redux';
|
import { useSelector } from 'react-redux';
|
||||||
|
|
||||||
import { getConfig } from '@edx/frontend-platform';
|
import { getConfig } from '@edx/frontend-platform';
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { Button } from '@edx/paragon';
|
|
||||||
|
|
||||||
import ContentUnavailableIcon from '../../assets/ContentUnavailable';
|
import ContentUnavailableIcon from '../../assets/ContentUnavailable';
|
||||||
import selectCourseTabs from '../../components/NavigationBar/data/selectors';
|
import selectCourseTabs from '../../components/NavigationBar/data/selectors';
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import {
|
|||||||
useContext, useEffect, useMemo, useRef, useState,
|
useContext, useEffect, useMemo, useRef, useState,
|
||||||
} from 'react';
|
} from 'react';
|
||||||
|
|
||||||
|
import { breakpoints, useWindowSize } from '@openedx/paragon';
|
||||||
import { useDispatch, useSelector } from 'react-redux';
|
import { useDispatch, useSelector } from 'react-redux';
|
||||||
import {
|
import {
|
||||||
matchPath, useLocation, useMatch, useNavigate,
|
matchPath, useLocation, useMatch, useNavigate,
|
||||||
@@ -11,7 +12,6 @@ import {
|
|||||||
import { getAuthenticatedUser } from '@edx/frontend-platform/auth';
|
import { getAuthenticatedUser } from '@edx/frontend-platform/auth';
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { AppContext } from '@edx/frontend-platform/react';
|
import { AppContext } from '@edx/frontend-platform/react';
|
||||||
import { breakpoints, useWindowSize } from '@edx/paragon';
|
|
||||||
|
|
||||||
import fetchTab from '../../components/NavigationBar/data/thunks';
|
import fetchTab from '../../components/NavigationBar/data/thunks';
|
||||||
import { RequestStatus, Routes } from '../../data/constants';
|
import { RequestStatus, Routes } from '../../data/constants';
|
||||||
|
|||||||
@@ -3,14 +3,13 @@ import React, {
|
|||||||
} from 'react';
|
} from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { useWindowSize } from '@openedx/paragon';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import { useSelector } from 'react-redux';
|
import { useSelector } from 'react-redux';
|
||||||
import {
|
import {
|
||||||
Navigate, Route, Routes,
|
Navigate, Route, Routes,
|
||||||
} from 'react-router-dom';
|
} from 'react-router-dom';
|
||||||
|
|
||||||
import { useWindowSize } from '@edx/paragon';
|
|
||||||
|
|
||||||
import Spinner from '../../components/Spinner';
|
import Spinner from '../../components/Spinner';
|
||||||
import { RequestStatus, Routes as ROUTES } from '../../data/constants';
|
import { RequestStatus, Routes as ROUTES } from '../../data/constants';
|
||||||
import DiscussionContext from '../common/context';
|
import DiscussionContext from '../common/context';
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import React, { useCallback, useState } from 'react';
|
import React, { useCallback, useState } from 'react';
|
||||||
|
|
||||||
|
import { PageBanner } from '@openedx/paragon';
|
||||||
import { useSelector } from 'react-redux';
|
import { useSelector } from 'react-redux';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { PageBanner } from '@edx/paragon';
|
|
||||||
|
|
||||||
import { RequestStatus } from '../../data/constants';
|
import { RequestStatus } from '../../data/constants';
|
||||||
import { selectConfigLoadingStatus, selectIsPostingEnabled } from '../data/selectors';
|
import { selectConfigLoadingStatus, selectIsPostingEnabled } from '../data/selectors';
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import propTypes from 'prop-types';
|
import propTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { Button } from '@openedx/paragon';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
|
|
||||||
import { Button } from '@edx/paragon';
|
|
||||||
|
|
||||||
import EmptyIcon from '../../assets/Empty';
|
import EmptyIcon from '../../assets/Empty';
|
||||||
|
|
||||||
const EmptyPage = ({
|
const EmptyPage = ({
|
||||||
|
|||||||
@@ -2,11 +2,11 @@ import React, {
|
|||||||
useCallback, useContext, useEffect, useMemo,
|
useCallback, useContext, useEffect, useMemo,
|
||||||
} from 'react';
|
} from 'react';
|
||||||
|
|
||||||
|
import { Spinner } from '@openedx/paragon';
|
||||||
import { useDispatch, useSelector } from 'react-redux';
|
import { useDispatch, useSelector } from 'react-redux';
|
||||||
import { useLocation } from 'react-router-dom';
|
import { useLocation } from 'react-router-dom';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { Spinner } from '@edx/paragon';
|
|
||||||
|
|
||||||
import { RequestStatus, Routes } from '../../data/constants';
|
import { RequestStatus, Routes } from '../../data/constants';
|
||||||
import DiscussionContext from '../common/context';
|
import DiscussionContext from '../common/context';
|
||||||
|
|||||||
@@ -2,12 +2,11 @@ import React, {
|
|||||||
useCallback, useContext, useEffect, useMemo,
|
useCallback, useContext, useEffect, useMemo,
|
||||||
} from 'react';
|
} from 'react';
|
||||||
|
|
||||||
|
import { Spinner } from '@openedx/paragon';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import isEmpty from 'lodash/isEmpty';
|
import isEmpty from 'lodash/isEmpty';
|
||||||
import { useDispatch, useSelector } from 'react-redux';
|
import { useDispatch, useSelector } from 'react-redux';
|
||||||
|
|
||||||
import { Spinner } from '@edx/paragon';
|
|
||||||
|
|
||||||
import SearchInfo from '../../components/SearchInfo';
|
import SearchInfo from '../../components/SearchInfo';
|
||||||
import { RequestStatus } from '../../data/constants';
|
import { RequestStatus } from '../../data/constants';
|
||||||
import DiscussionContext from '../common/context';
|
import DiscussionContext from '../common/context';
|
||||||
|
|||||||
@@ -151,6 +151,7 @@ describe('InContext Topics View', () => {
|
|||||||
const sectionGroups = await screen.getAllByTestId('section-group');
|
const sectionGroups = await screen.getAllByTestId('section-group');
|
||||||
|
|
||||||
coursewareTopics.forEach(async (topic, index) => {
|
coursewareTopics.forEach(async (topic, index) => {
|
||||||
|
await waitFor(async () => {
|
||||||
const stats = await sectionGroups[index].querySelectorAll('.icon-size:not([data-testid="subsection-group"].icon-size)');
|
const stats = await sectionGroups[index].querySelectorAll('.icon-size:not([data-testid="subsection-group"].icon-size)');
|
||||||
const subsectionGroups = await within(sectionGroups[index]).getAllByTestId('subsection-group');
|
const subsectionGroups = await within(sectionGroups[index]).getAllByTestId('subsection-group');
|
||||||
|
|
||||||
@@ -159,6 +160,7 @@ describe('InContext Topics View', () => {
|
|||||||
expect(subsectionGroups).toHaveLength(2);
|
expect(subsectionGroups).toHaveLength(2);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
});
|
||||||
|
|
||||||
it('The subsection should have a title name, be clickable, and have the stats', async () => {
|
it('The subsection should have a title name, be clickable, and have the stats', async () => {
|
||||||
await setupMockResponse();
|
await setupMockResponse();
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { Icon, IconButton, Spinner } from '@openedx/paragon';
|
||||||
|
import { ArrowBack } from '@openedx/paragon/icons';
|
||||||
import { useNavigate } from 'react-router-dom';
|
import { useNavigate } from 'react-router-dom';
|
||||||
|
|
||||||
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
|
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
|
||||||
import { Icon, IconButton, Spinner } from '@edx/paragon';
|
|
||||||
import { ArrowBack } from '@edx/paragon/icons';
|
|
||||||
|
|
||||||
import messages from '../messages';
|
import messages from '../messages';
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import React, { useCallback, useContext, useEffect } from 'react';
|
import React, { useCallback, useContext, useEffect } from 'react';
|
||||||
|
|
||||||
|
import { Icon, SearchField } from '@openedx/paragon';
|
||||||
|
import { Search as SearchIcon } from '@openedx/paragon/icons';
|
||||||
import { useDispatch, useSelector } from 'react-redux';
|
import { useDispatch, useSelector } from 'react-redux';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { Icon, SearchField } from '@edx/paragon';
|
|
||||||
import { Search as SearchIcon } from '@edx/paragon/icons';
|
|
||||||
|
|
||||||
import DiscussionContext from '../../common/context';
|
import DiscussionContext from '../../common/context';
|
||||||
import postsMessages from '../../posts/post-actions-bar/messages';
|
import postsMessages from '../../posts/post-actions-bar/messages';
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
|
||||||
|
import { SearchField } from '@openedx/paragon';
|
||||||
import { useDispatch } from 'react-redux';
|
import { useDispatch } from 'react-redux';
|
||||||
|
|
||||||
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
|
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
|
||||||
import { SearchField } from '@edx/paragon';
|
|
||||||
|
|
||||||
import { setFilter } from '../data';
|
import { setFilter } from '../data';
|
||||||
import messages from '../messages';
|
import messages from '../messages';
|
||||||
|
|||||||
@@ -2,15 +2,15 @@ import React, {
|
|||||||
useCallback, useContext, useEffect, useMemo,
|
useCallback, useContext, useEffect, useMemo,
|
||||||
} from 'react';
|
} from 'react';
|
||||||
|
|
||||||
|
import {
|
||||||
|
Button, Icon, IconButton, Spinner,
|
||||||
|
} from '@openedx/paragon';
|
||||||
|
import { ArrowBack } from '@openedx/paragon/icons';
|
||||||
import capitalize from 'lodash/capitalize';
|
import capitalize from 'lodash/capitalize';
|
||||||
import { useDispatch, useSelector } from 'react-redux';
|
import { useDispatch, useSelector } from 'react-redux';
|
||||||
import { useLocation, useNavigate } from 'react-router-dom';
|
import { useLocation, useNavigate } from 'react-router-dom';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import {
|
|
||||||
Button, Icon, IconButton, Spinner,
|
|
||||||
} from '@edx/paragon';
|
|
||||||
import { ArrowBack } from '@edx/paragon/icons';
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
RequestStatus,
|
RequestStatus,
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import React, { useCallback, useEffect, useMemo } from 'react';
|
import React, { useCallback, useEffect, useMemo } from 'react';
|
||||||
|
|
||||||
|
import { Button, Spinner } from '@openedx/paragon';
|
||||||
import { useDispatch, useSelector } from 'react-redux';
|
import { useDispatch, useSelector } from 'react-redux';
|
||||||
import { useParams } from 'react-router-dom';
|
import { useParams } from 'react-router-dom';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { Button, Spinner } from '@edx/paragon';
|
|
||||||
|
|
||||||
import SearchInfo from '../../components/SearchInfo';
|
import SearchInfo from '../../components/SearchInfo';
|
||||||
import { RequestStatus } from '../../data/constants';
|
import { RequestStatus } from '../../data/constants';
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import { Avatar } from '@edx/paragon';
|
import { Avatar } from '@openedx/paragon';
|
||||||
|
|
||||||
const LearnerAvatar = ({ username }) => (
|
const LearnerAvatar = ({ username }) => (
|
||||||
<div className="mr-3 mt-1">
|
<div className="mr-3 mt-1">
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
import React, { useCallback, useState } from 'react';
|
import React, { useCallback, useState } from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { Collapsible, Form, Icon } from '@openedx/paragon';
|
||||||
|
import { Check, Tune } from '@openedx/paragon/icons';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import { useDispatch, useSelector } from 'react-redux';
|
import { useDispatch, useSelector } from 'react-redux';
|
||||||
|
|
||||||
import { sendTrackEvent } from '@edx/frontend-platform/analytics';
|
import { sendTrackEvent } from '@edx/frontend-platform/analytics';
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { Collapsible, Form, Icon } from '@edx/paragon';
|
|
||||||
import { Check, Tune } from '@edx/paragon/icons';
|
|
||||||
|
|
||||||
import { LearnersOrdering } from '../../../data/constants';
|
import { LearnersOrdering } from '../../../data/constants';
|
||||||
import { selectUserHasModerationPrivileges, selectUserIsGroupTa } from '../../data/selectors';
|
import { selectUserHasModerationPrivileges, selectUserIsGroupTa } from '../../data/selectors';
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { Icon, OverlayTrigger, Tooltip } from '@openedx/paragon';
|
||||||
|
import {
|
||||||
|
Edit, QuestionAnswerOutline, Report, ReportGmailerrorred,
|
||||||
|
} from '@openedx/paragon/icons';
|
||||||
import { useSelector } from 'react-redux';
|
import { useSelector } from 'react-redux';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { Icon, OverlayTrigger, Tooltip } from '@edx/paragon';
|
|
||||||
import {
|
|
||||||
Edit, QuestionAnswerOutline, Report, ReportGmailerrorred,
|
|
||||||
} from '@edx/paragon/icons';
|
|
||||||
|
|
||||||
import { selectUserHasModerationPrivileges, selectUserIsGroupTa } from '../../data/selectors';
|
import { selectUserHasModerationPrivileges, selectUserIsGroupTa } from '../../data/selectors';
|
||||||
import messages from '../messages';
|
import messages from '../messages';
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { Dropdown, DropdownButton } from '@openedx/paragon';
|
||||||
import { Link } from 'react-router-dom';
|
import { Link } from 'react-router-dom';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { Dropdown, DropdownButton } from '@edx/paragon';
|
|
||||||
|
|
||||||
import messages from './messages';
|
import messages from './messages';
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import React, { useContext, useMemo } from 'react';
|
import React, { useContext, useMemo } from 'react';
|
||||||
|
|
||||||
|
import { Nav } from '@openedx/paragon';
|
||||||
import { matchPath, NavLink, useLocation } from 'react-router-dom';
|
import { matchPath, NavLink, useLocation } from 'react-router-dom';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { Nav } from '@edx/paragon';
|
|
||||||
|
|
||||||
import { Routes } from '../../../data/constants';
|
import { Routes } from '../../../data/constants';
|
||||||
import DiscussionContext from '../../common/context';
|
import DiscussionContext from '../../common/context';
|
||||||
|
|||||||
@@ -2,11 +2,11 @@ import React, {
|
|||||||
Suspense, useCallback, useContext, useEffect, useMemo, useState,
|
Suspense, useCallback, useContext, useEffect, useMemo, useState,
|
||||||
} from 'react';
|
} from 'react';
|
||||||
|
|
||||||
|
import { Button, Icon, IconButton } from '@openedx/paragon';
|
||||||
|
import { ArrowBack } from '@openedx/paragon/icons';
|
||||||
import { useLocation, useNavigate } from 'react-router-dom';
|
import { useLocation, useNavigate } from 'react-router-dom';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { Button, Icon, IconButton } from '@edx/paragon';
|
|
||||||
import { ArrowBack } from '@edx/paragon/icons';
|
|
||||||
|
|
||||||
import Spinner from '../../components/Spinner';
|
import Spinner from '../../components/Spinner';
|
||||||
import {
|
import {
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
import React, { useCallback, useEffect, useState } from 'react';
|
import React, { useCallback, useEffect, useState } from 'react';
|
||||||
|
|
||||||
|
import {
|
||||||
|
Button, Dropdown, ModalPopup, useToggle,
|
||||||
|
} from '@openedx/paragon';
|
||||||
|
import { ExpandLess, ExpandMore } from '@openedx/paragon/icons';
|
||||||
import { useDispatch, useSelector } from 'react-redux';
|
import { useDispatch, useSelector } from 'react-redux';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import {
|
|
||||||
Button, Dropdown, ModalPopup, useToggle,
|
|
||||||
} from '@edx/paragon';
|
|
||||||
import { ExpandLess, ExpandMore } from '@edx/paragon/icons';
|
|
||||||
|
|
||||||
import { updateUserDiscussionsTourByName } from '../../tours/data';
|
import { updateUserDiscussionsTourByName } from '../../tours/data';
|
||||||
import { selectCommentSortOrder } from '../data/selectors';
|
import { selectCommentSortOrder } from '../data/selectors';
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
import React, { useCallback, useContext, useState } from 'react';
|
import React, { useCallback, useContext, useState } from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { Button, Spinner } from '@openedx/paragon';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { Button, Spinner } from '@edx/paragon';
|
|
||||||
|
|
||||||
import { EndorsementStatus } from '../../../data/constants';
|
import { EndorsementStatus } from '../../../data/constants';
|
||||||
import { useUserPostingEnabled } from '../../data/hooks';
|
import { useUserPostingEnabled } from '../../data/hooks';
|
||||||
|
|||||||
@@ -3,11 +3,11 @@ import React, {
|
|||||||
} from 'react';
|
} from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { Button, useToggle } from '@openedx/paragon';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import { useDispatch, useSelector } from 'react-redux';
|
import { useDispatch, useSelector } from 'react-redux';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { Button, useToggle } from '@edx/paragon';
|
|
||||||
|
|
||||||
import HTMLLoader from '../../../../components/HTMLLoader';
|
import HTMLLoader from '../../../../components/HTMLLoader';
|
||||||
import { ContentActions, EndorsementStatus } from '../../../../data/constants';
|
import { ContentActions, EndorsementStatus } from '../../../../data/constants';
|
||||||
|
|||||||
@@ -3,13 +3,13 @@ import React, {
|
|||||||
} from 'react';
|
} from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { Button, Form, StatefulButton } from '@openedx/paragon';
|
||||||
import { Formik } from 'formik';
|
import { Formik } from 'formik';
|
||||||
import { useSelector } from 'react-redux';
|
import { useSelector } from 'react-redux';
|
||||||
import * as Yup from 'yup';
|
import * as Yup from 'yup';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { AppContext } from '@edx/frontend-platform/react';
|
import { AppContext } from '@edx/frontend-platform/react';
|
||||||
import { Button, Form, StatefulButton } from '@edx/paragon';
|
|
||||||
|
|
||||||
import { TinyMCEEditor } from '../../../../components';
|
import { TinyMCEEditor } from '../../../../components';
|
||||||
import FormikErrorFeedback from '../../../../components/FormikErrorFeedback';
|
import FormikErrorFeedback from '../../../../components/FormikErrorFeedback';
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { Avatar } from '@openedx/paragon';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
|
|
||||||
import { Avatar } from '@edx/paragon';
|
|
||||||
|
|
||||||
import { AvatarOutlineAndLabelColors } from '../../../../data/constants';
|
import { AvatarOutlineAndLabelColors } from '../../../../data/constants';
|
||||||
import { AuthorLabel } from '../../../common';
|
import { AuthorLabel } from '../../../common';
|
||||||
import { useAlertBannerVisible } from '../../../data/hooks';
|
import { useAlertBannerVisible } from '../../../data/hooks';
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import React, { useCallback, useMemo, useState } from 'react';
|
import React, { useCallback, useMemo, useState } from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { Avatar, useToggle } from '@openedx/paragon';
|
||||||
import { useDispatch, useSelector } from 'react-redux';
|
import { useDispatch, useSelector } from 'react-redux';
|
||||||
import * as timeago from 'timeago.js';
|
import * as timeago from 'timeago.js';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { Avatar, useToggle } from '@edx/paragon';
|
|
||||||
|
|
||||||
import HTMLLoader from '../../../../components/HTMLLoader';
|
import HTMLLoader from '../../../../components/HTMLLoader';
|
||||||
import { AvatarOutlineAndLabelColors, ContentActions } from '../../../../data/constants';
|
import { AvatarOutlineAndLabelColors, ContentActions } from '../../../../data/constants';
|
||||||
|
|||||||
@@ -3,11 +3,11 @@ import React, {
|
|||||||
} from 'react';
|
} from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { Button, Spinner } from '@openedx/paragon';
|
||||||
import { useDispatch, useSelector } from 'react-redux';
|
import { useDispatch, useSelector } from 'react-redux';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { AppContext } from '@edx/frontend-platform/react';
|
import { AppContext } from '@edx/frontend-platform/react';
|
||||||
import { Button, Spinner } from '@edx/paragon';
|
|
||||||
|
|
||||||
import { RequestStatus } from '../../data/constants';
|
import { RequestStatus } from '../../data/constants';
|
||||||
import DiscussionContext from '../common/context';
|
import DiscussionContext from '../common/context';
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
import React, { useCallback, useContext } from 'react';
|
import React, { useCallback, useContext } from 'react';
|
||||||
|
|
||||||
|
import {
|
||||||
|
Button, Icon, IconButton,
|
||||||
|
} from '@openedx/paragon';
|
||||||
|
import { Close } from '@openedx/paragon/icons';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import { useDispatch, useSelector } from 'react-redux';
|
import { useDispatch, useSelector } from 'react-redux';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import {
|
|
||||||
Button, Icon, IconButton,
|
|
||||||
} from '@edx/paragon';
|
|
||||||
import { Close } from '@edx/paragon/icons';
|
|
||||||
|
|
||||||
import Search from '../../../components/Search';
|
import Search from '../../../components/Search';
|
||||||
import { RequestStatus } from '../../../data/constants';
|
import { RequestStatus } from '../../../data/constants';
|
||||||
|
|||||||
@@ -3,6 +3,10 @@ import React, {
|
|||||||
} from 'react';
|
} from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import {
|
||||||
|
Button, Form, Spinner, StatefulButton,
|
||||||
|
} from '@openedx/paragon';
|
||||||
|
import { Help, Post } from '@openedx/paragon/icons';
|
||||||
import { Formik } from 'formik';
|
import { Formik } from 'formik';
|
||||||
import { isEmpty } from 'lodash';
|
import { isEmpty } from 'lodash';
|
||||||
import { useDispatch, useSelector } from 'react-redux';
|
import { useDispatch, useSelector } from 'react-redux';
|
||||||
@@ -11,10 +15,6 @@ import * as Yup from 'yup';
|
|||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { AppContext } from '@edx/frontend-platform/react';
|
import { AppContext } from '@edx/frontend-platform/react';
|
||||||
import {
|
|
||||||
Button, Form, Spinner, StatefulButton,
|
|
||||||
} from '@edx/paragon';
|
|
||||||
import { Help, Post } from '@edx/paragon/icons';
|
|
||||||
|
|
||||||
import { TinyMCEEditor } from '../../../components';
|
import { TinyMCEEditor } from '../../../components';
|
||||||
import FormikErrorFeedback from '../../../components/FormikErrorFeedback';
|
import FormikErrorFeedback from '../../../components/FormikErrorFeedback';
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
import React, { useContext } from 'react';
|
import React, { useContext } from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { Card, Form } from '@openedx/paragon';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
|
|
||||||
import { Card, Form } from '@edx/paragon';
|
|
||||||
|
|
||||||
import DiscussionContext from '../../common/context';
|
import DiscussionContext from '../../common/context';
|
||||||
|
|
||||||
const PostTypeCard = ({
|
const PostTypeCard = ({
|
||||||
|
|||||||
@@ -3,6 +3,10 @@ import React, {
|
|||||||
} from 'react';
|
} from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import {
|
||||||
|
Collapsible, Form, Icon, Spinner,
|
||||||
|
} from '@openedx/paragon';
|
||||||
|
import { Check, Tune } from '@openedx/paragon/icons';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import { capitalize, isEmpty, toString } from 'lodash';
|
import { capitalize, isEmpty, toString } from 'lodash';
|
||||||
import { useDispatch, useSelector } from 'react-redux';
|
import { useDispatch, useSelector } from 'react-redux';
|
||||||
@@ -10,10 +14,6 @@ import { useParams } from 'react-router-dom';
|
|||||||
|
|
||||||
import { sendTrackEvent } from '@edx/frontend-platform/analytics';
|
import { sendTrackEvent } from '@edx/frontend-platform/analytics';
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import {
|
|
||||||
Collapsible, Form, Icon, Spinner,
|
|
||||||
} from '@edx/paragon';
|
|
||||||
import { Check, Tune } from '@edx/paragon/icons';
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
PostsStatusFilter, RequestStatus,
|
PostsStatusFilter, RequestStatus,
|
||||||
|
|||||||
@@ -3,15 +3,15 @@ import React, {
|
|||||||
} from 'react';
|
} from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import { useSelector } from 'react-redux';
|
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
|
||||||
import {
|
import {
|
||||||
ActionRow,
|
ActionRow,
|
||||||
Button,
|
Button,
|
||||||
Form,
|
Form,
|
||||||
ModalDialog,
|
ModalDialog,
|
||||||
} from '@edx/paragon';
|
} from '@openedx/paragon';
|
||||||
|
import { useSelector } from 'react-redux';
|
||||||
|
|
||||||
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
|
|
||||||
import { selectModerationSettings } from '../../data/selectors';
|
import { selectModerationSettings } from '../../data/selectors';
|
||||||
import messages from './messages';
|
import messages from './messages';
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
import React, { useCallback } from 'react';
|
import React, { useCallback } from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
|
||||||
import {
|
import {
|
||||||
Icon, IconButton, OverlayTrigger, Tooltip,
|
Icon, IconButton, OverlayTrigger, Tooltip,
|
||||||
} from '@edx/paragon';
|
} from '@openedx/paragon';
|
||||||
import { ThumbUpFilled, ThumbUpOutline } from '@edx/paragon/icons';
|
import { ThumbUpFilled, ThumbUpOutline } from '@openedx/paragon/icons';
|
||||||
|
|
||||||
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
|
|
||||||
import messages from './messages';
|
import messages from './messages';
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import React, { useCallback, useContext, useMemo } from 'react';
|
import React, { useCallback, useContext, useMemo } from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { Hyperlink, useToggle } from '@openedx/paragon';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import { toString } from 'lodash';
|
import { toString } from 'lodash';
|
||||||
import { useDispatch, useSelector } from 'react-redux';
|
import { useDispatch, useSelector } from 'react-redux';
|
||||||
@@ -8,7 +9,6 @@ import { useLocation, useNavigate } from 'react-router-dom';
|
|||||||
|
|
||||||
import { getConfig } from '@edx/frontend-platform';
|
import { getConfig } from '@edx/frontend-platform';
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { Hyperlink, useToggle } from '@edx/paragon';
|
|
||||||
|
|
||||||
import HTMLLoader from '../../../components/HTMLLoader';
|
import HTMLLoader from '../../../components/HTMLLoader';
|
||||||
import { ContentActions, getFullUrl } from '../../../data/constants';
|
import { ContentActions, getFullUrl } from '../../../data/constants';
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
import React, { useCallback } from 'react';
|
import React, { useCallback } from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import {
|
||||||
|
Icon, IconButton, OverlayTrigger, Tooltip,
|
||||||
|
} from '@openedx/paragon';
|
||||||
|
import {
|
||||||
|
Locked, People, StarFilled, StarOutline,
|
||||||
|
} from '@openedx/paragon/icons';
|
||||||
import { useDispatch } from 'react-redux';
|
import { useDispatch } from 'react-redux';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import {
|
|
||||||
Icon, IconButton, OverlayTrigger, Tooltip,
|
|
||||||
} from '@edx/paragon';
|
|
||||||
import {
|
|
||||||
Locked, People, StarFilled, StarOutline,
|
|
||||||
} from '@edx/paragon/icons';
|
|
||||||
|
|
||||||
import { updateExistingThread } from '../data/thunks';
|
import { updateExistingThread } from '../data/thunks';
|
||||||
import LikeButton from './LikeButton';
|
import LikeButton from './LikeButton';
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import React, { useMemo } from 'react';
|
import React, { useMemo } from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { Avatar, Badge, Icon } from '@openedx/paragon';
|
||||||
|
import { Question } from '@openedx/paragon/icons';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { Avatar, Badge, Icon } from '@edx/paragon';
|
|
||||||
import { Question } from '@edx/paragon/icons';
|
|
||||||
|
|
||||||
import { AvatarOutlineAndLabelColors, ThreadType } from '../../../data/constants';
|
import { AvatarOutlineAndLabelColors, ThreadType } from '../../../data/constants';
|
||||||
import { AuthorLabel } from '../../common';
|
import { AuthorLabel } from '../../common';
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
import React, { useContext, useMemo } from 'react';
|
import React, { useContext, useMemo } from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { Badge, Icon } from '@openedx/paragon';
|
||||||
|
import { CheckCircle, PushPin } from '@openedx/paragon/icons';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import { useSelector } from 'react-redux';
|
import { useSelector } from 'react-redux';
|
||||||
import { Link, useLocation } from 'react-router-dom';
|
import { Link, useLocation } from 'react-router-dom';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { Badge, Icon } from '@edx/paragon';
|
|
||||||
import { CheckCircle, PushPin } from '@edx/paragon/icons';
|
|
||||||
|
|
||||||
import { AvatarOutlineAndLabelColors, Routes, ThreadType } from '../../../data/constants';
|
import { AvatarOutlineAndLabelColors, Routes, ThreadType } from '../../../data/constants';
|
||||||
import AuthorLabel from '../../common/AuthorLabel';
|
import AuthorLabel from '../../common/AuthorLabel';
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import {
|
||||||
|
Badge, Icon, OverlayTrigger, Tooltip,
|
||||||
|
} from '@openedx/paragon';
|
||||||
|
import {
|
||||||
|
People, QuestionAnswer, QuestionAnswerOutline,
|
||||||
|
StarFilled, StarOutline, ThumbUpFilled, ThumbUpOutline,
|
||||||
|
} from '@openedx/paragon/icons';
|
||||||
import { useSelector } from 'react-redux';
|
import { useSelector } from 'react-redux';
|
||||||
import * as timeago from 'timeago.js';
|
import * as timeago from 'timeago.js';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import {
|
|
||||||
Badge, Icon, OverlayTrigger, Tooltip,
|
|
||||||
} from '@edx/paragon';
|
|
||||||
import {
|
|
||||||
People, QuestionAnswer, QuestionAnswerOutline,
|
|
||||||
StarFilled, StarOutline, ThumbUpFilled, ThumbUpOutline,
|
|
||||||
} from '@edx/paragon/icons';
|
|
||||||
|
|
||||||
import timeLocale from '../../common/time-locale';
|
import timeLocale from '../../common/time-locale';
|
||||||
import { selectUserHasModerationPrivileges } from '../../data/selectors';
|
import { selectUserHasModerationPrivileges } from '../../data/selectors';
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
import React, { useCallback, useContext } from 'react';
|
import React, { useCallback, useContext } from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { Icon, OverlayTrigger, Tooltip } from '@openedx/paragon';
|
||||||
|
import { HelpOutline, PostOutline, Report } from '@openedx/paragon/icons';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import { useSelector } from 'react-redux';
|
import { useSelector } from 'react-redux';
|
||||||
import { Link, useLocation, useParams } from 'react-router-dom';
|
import { Link, useLocation, useParams } from 'react-router-dom';
|
||||||
|
|
||||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||||
import { Icon, OverlayTrigger, Tooltip } from '@edx/paragon';
|
|
||||||
import { HelpOutline, PostOutline, Report } from '@edx/paragon/icons';
|
|
||||||
|
|
||||||
import { Routes } from '../../../../data/constants';
|
import { Routes } from '../../../../data/constants';
|
||||||
import DiscussionContext from '../../../common/context';
|
import DiscussionContext from '../../../common/context';
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
import React, { useEffect } from 'react';
|
import React, { useEffect } from 'react';
|
||||||
|
|
||||||
|
import { ProductTour } from '@openedx/paragon';
|
||||||
import isEmpty from 'lodash/isEmpty';
|
import isEmpty from 'lodash/isEmpty';
|
||||||
import { useDispatch } from 'react-redux';
|
import { useDispatch } from 'react-redux';
|
||||||
|
|
||||||
import { ProductTour } from '@edx/paragon';
|
|
||||||
|
|
||||||
import { useTourConfiguration } from '../data/hooks';
|
import { useTourConfiguration } from '../data/hooks';
|
||||||
import { fetchDiscussionTours } from './data/thunks';
|
import { fetchDiscussionTours } from './data/thunks';
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,10 @@
|
|||||||
import { useCallback, useContext, useMemo } from 'react';
|
import { useCallback, useContext, useMemo } from 'react';
|
||||||
|
|
||||||
|
import {
|
||||||
|
CheckCircle, CheckCircleOutline, Delete, Edit, InsertLink,
|
||||||
|
Institution, Lock, LockOpen, Pin, Report, School,
|
||||||
|
Verified, VerifiedOutline,
|
||||||
|
} from '@openedx/paragon/icons';
|
||||||
import { getIn } from 'formik';
|
import { getIn } from 'formik';
|
||||||
import { uniqBy } from 'lodash';
|
import { uniqBy } from 'lodash';
|
||||||
import { useSelector } from 'react-redux';
|
import { useSelector } from 'react-redux';
|
||||||
@@ -8,11 +13,6 @@ import {
|
|||||||
} from 'react-router-dom';
|
} from 'react-router-dom';
|
||||||
|
|
||||||
import { getConfig } from '@edx/frontend-platform';
|
import { getConfig } from '@edx/frontend-platform';
|
||||||
import {
|
|
||||||
CheckCircle, CheckCircleOutline, Delete, Edit, InsertLink,
|
|
||||||
Institution, Lock, LockOpen, Pin, Report, School,
|
|
||||||
Verified, VerifiedOutline,
|
|
||||||
} from '@edx/paragon/icons';
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
ContentActions, Routes, ThreadType,
|
ContentActions, Routes, ThreadType,
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
|
import { messages as paragonMessages } from '@openedx/paragon';
|
||||||
|
|
||||||
import { messages as footerMessages } from '@edx/frontend-component-footer';
|
import { messages as footerMessages } from '@edx/frontend-component-footer';
|
||||||
import { messages as headerMessages } from '@edx/frontend-component-header';
|
import { messages as headerMessages } from '@edx/frontend-component-header';
|
||||||
import { messages as paragonMessages } from '@edx/paragon';
|
|
||||||
|
|
||||||
import arMessages from './messages/ar.json';
|
import arMessages from './messages/ar.json';
|
||||||
import csMessages from './messages/cs.json';
|
import csMessages from './messages/cs.json';
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
@import "~@edx/brand/paragon/fonts.scss";
|
@import "~@edx/brand/paragon/fonts.scss";
|
||||||
@import "~@edx/brand/paragon/variables.scss";
|
@import "~@edx/brand/paragon/variables.scss";
|
||||||
@import "~@edx/paragon/scss/core/core.scss";
|
@import "~@openedx/paragon/scss/core/core.scss";
|
||||||
@import "~@edx/brand/paragon/overrides.scss";
|
@import "~@edx/brand/paragon/overrides.scss";
|
||||||
|
|
||||||
@import "~@edx/frontend-component-footer/dist/footer";
|
@import "~@edx/frontend-component-footer/dist/footer";
|
||||||
|
|||||||
Reference in New Issue
Block a user