* chore: add @openedx/frontend-plugin-framework chore: move plugin page setting button to a props chore: split out app setting modal for reusability chore: add implementation of WTC plugin chore: update app setting form chore: implement the plugin form with mock chore: follow the UI design chore: remove translation plugin and move it into frontend-plugin instead * chore: add eslint ignore for env.config.jsx * chore: update package-lock.json
28 lines
681 B
JavaScript
28 lines
681 B
JavaScript
import PropTypes from 'prop-types';
|
|
import React from 'react';
|
|
import { injectIntl } from '@edx/frontend-platform/i18n';
|
|
import { CardGrid } from '@openedx/paragon';
|
|
import { PluginSlot } from '@openedx/frontend-plugin-framework';
|
|
import PageCard, { CoursePageShape } from './PageCard';
|
|
|
|
const PageGrid = ({ pages }) => (
|
|
<CardGrid columnSizes={{
|
|
xs: 12,
|
|
sm: 6,
|
|
lg: 4,
|
|
xl: 4,
|
|
}}
|
|
>
|
|
{pages.map((page) => (
|
|
<PageCard page={page} key={page.id} />
|
|
))}
|
|
<PluginSlot id="additional_course_plugin" />
|
|
</CardGrid>
|
|
);
|
|
|
|
PageGrid.propTypes = {
|
|
pages: PropTypes.arrayOf(CoursePageShape.isRequired).isRequired,
|
|
};
|
|
|
|
export default injectIntl(PageGrid);
|