A generic footer for Open edX micro-frontend applications. It includes a logo and an optional language selector dropdown.
This component uses @edx/frontend-platform
services such as i18n, analytics, configuration, and the AppContext
React component, and expects that it has been loaded into a micro-frontend that has been properly initialized via @edx/frontend-platform
's initialize
function. Please visit the frontend template application to see an example.
This component requires that the following environment variable be set by the consuming micro-frontend.
LMS_BASE_URL
- The URL of the LMS of your Open edX instance.LOGO_TRADEMARK_URL
- This is a URL to a logo for use in the footer. This is a different environment variable thanLOGO_URL
(used in frontend-component-header) to accommodate sites that would like to have additional trademark information on a logo in the footer, such as a (tm) or (r) symbol.
To install this footer into your Open edX micro-frontend, run the following command in your MFE:
npm i --save @edx/frontend-component-footer
This will make the component available to be imported into your application.
This library has the following exports:
(default)
: The footer as a React component.messages
: Internationalization messages suitable for use with @edx/frontend-platform/i18ndist/footer.scss
: A SASS file which contains style information for the component. It should be imported into the micro-frontend's own SCSS file.
- onLanguageSelected: Provides the footer with an event handler for when the user selects a language from its dropdown.
- supportedLanguages: An array of objects representing available languages. See example below for object shape.
Component Usage Example:
import Footer, { messages } from '@edx/frontend-component-footer'; ... <Footer onLanguageSelected={(languageCode) => {/* set language */}} supportedLanguages={[ { label: 'English', value: 'en'}, { label: 'Español', value: 'es' }, ]} />
Install dependencies:
npm i
Start the development server:
npm start
Build a production distribution:
npm run build