@edx/frontend-app-subscription-learner-dashboard 1.40.0 → 1.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/widgets/LearnerDashboardFooter/Footer.js +2 -2
- package/dist/widgets/LearnerDashboardFooter/Footer.js.map +1 -1
- package/dist/widgets/LearnerDashboardFooter/LinkList.js +1 -1
- package/dist/widgets/LearnerDashboardFooter/LinkList.js.map +1 -1
- package/dist/widgets/LearnerDashboardFooter/SocialLinks.js +1 -1
- package/dist/widgets/LearnerDashboardFooter/SocialLinks.js.map +1 -1
- package/dist/widgets/LearnerDashboardFooter/index.scss +5 -5
- package/package.json +1 -1
|
@@ -13,7 +13,7 @@ export default function Footer() {
|
|
|
13
13
|
useEffect(() => {
|
|
14
14
|
setUtmSource(window.location.hostname);
|
|
15
15
|
}, []);
|
|
16
|
-
return (_jsxs("div", { className: "footer py-5.5 bg-primary-500", children: [_jsxs("div", { className: "d-flex align-items-
|
|
16
|
+
return (_jsxs("div", { className: "footer py-5.5 bg-primary-500", children: [_jsxs("div", { className: "d-flex flex-column flex-lg-row gap-4 align-items-start justify-content-between mb-4.5", children: [_jsx("a", { href: "https://edx.org", "aria-label": intl.formatMessage(footerMessages['footer.logo.ariaLabel']), children: _jsx("img", { className: "footer__logo-main", src: footerLogo, alt: intl.formatMessage(footerMessages['footer.logo.altText']) }) }), _jsx(SocialIconLinks, {})] }), _jsxs("div", { className: "d-flex flex-column flex-md-row gap-4", children: [_jsx("div", { className: "d-flex flex-column flex-fill", children: _jsx(LinkList, { className: "area-2", title: "edX", links: [
|
|
17
17
|
{
|
|
18
18
|
href: `${MARKETING_BASE_URL}/about-us`,
|
|
19
19
|
title: intl.formatMessage(footerMessages['footer.edxLinks.about']),
|
|
@@ -103,6 +103,6 @@ export default function Footer() {
|
|
|
103
103
|
href: `#`,
|
|
104
104
|
title: intl.formatMessage(footerMessages['footer.legalLinks.privacyChoices']),
|
|
105
105
|
},
|
|
106
|
-
] }) }), _jsx("div", { className: "d-flex flex-column flex-fill" })] }), _jsx("div", { className: "mt-4.5 d-flex align-items-start", children: _jsxs("div", { className: "d-flex flex-column align-items-start", children: [_jsx("p", { className: "x-small text-white", children: intl.formatMessage(footerMessages['footer.copyRight']) }), _jsx("p", { className: "x-small text-white", children: intl.formatMessage(footerMessages['footer.copyRightCn']) })] }) })] }));
|
|
106
|
+
] }) }), _jsx("div", { className: "d-flex flex-column flex-fill d-md-none" })] }), _jsx("div", { className: "mt-4.5 d-flex align-items-start", children: _jsxs("div", { className: "d-flex flex-column align-items-start", children: [_jsx("p", { className: "x-small text-white", children: intl.formatMessage(footerMessages['footer.copyRight']) }), _jsx("p", { className: "x-small text-white", children: intl.formatMessage(footerMessages['footer.copyRightCn']) })] }) })] }));
|
|
107
107
|
}
|
|
108
108
|
//# sourceMappingURL=Footer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../../src/widgets/LearnerDashboardFooter/Footer.tsx"],"names":[],"mappings":"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","sourcesContent":["import './index.scss';\nimport footerLogo from '../../assets/footerLogo.svg';\n\nimport { useIntl } from '@openedx/frontend-base';\nimport SocialIconLinks from './SocialLinks';\nimport footerMessages from './messages';\nimport LinkList from './LinkList';\nimport { useEffect, useState } from 'react';\n\nconst MARKETING_BASE_URL = 'https://edx.org';\n\nexport default function Footer() {\n const intl = useIntl();\n const [utmSource, setUtmSource] = useState('edx.org');\n\n useEffect(() => {\n setUtmSource(window.location.hostname);\n }, []);\n\n return (\n <div className=\"footer py-5.5 bg-primary-500\">\n <div className=\"d-flex align-items-center justify-content-between mb-4.5\">\n <a\n href=\"https://edx.org\"\n aria-label={intl.formatMessage(\n footerMessages['footer.logo.ariaLabel'],\n )}\n >\n <img\n className=\"footer__logo-main\"\n src={footerLogo}\n alt={intl.formatMessage(footerMessages['footer.logo.altText'])}\n />\n </a>\n <SocialIconLinks />\n </div>\n <div className=\"d-flex\">\n <div className=\"d-flex flex-column flex-fill\">\n <LinkList\n className=\"area-2\"\n title=\"edX\"\n links={[\n {\n href: `${MARKETING_BASE_URL}/about-us`,\n title: intl.formatMessage(\n footerMessages['footer.edxLinks.about'],\n ),\n },\n {\n href: `https://business.edx.org/?utm_campaign=edX.org+Referral&utm_medium=Footer&utm_source=${utmSource}`,\n title: intl.formatMessage(\n footerMessages['footer.edxLinks.business'],\n ),\n },\n {\n href: `${MARKETING_BASE_URL}/affiliate-program`,\n title: intl.formatMessage(\n footerMessages['footer.edxLinks.affiliates'],\n ),\n hidden: intl.locale === 'es',\n },\n {\n href: 'http://open.edx.org',\n title: intl.formatMessage(\n footerMessages['footer.edxLinks.openEdx'],\n ),\n hidden: intl.locale === 'es',\n },\n {\n href: 'https://www.edx.org/learn/devops',\n title: intl.formatMessage(\n footerMessages['footer.legalLinks.advisory'],\n ),\n hidden: intl.locale === 'es',\n },\n {\n href: `${MARKETING_BASE_URL}/careers`,\n title: intl.formatMessage(\n footerMessages['footer.edxLinks.careers'],\n ),\n hidden: intl.locale === 'es',\n },\n {\n href: `https://press.edx.org/`,\n title: intl.formatMessage(\n footerMessages['footer.edxLinks.news'],\n ),\n },\n ]}\n />\n </div>\n <div className=\"d-flex flex-column flex-fill\">\n <LinkList\n className=\"area-4\"\n title={intl.formatMessage(\n footerMessages['footer.connectLinks.heading'],\n )}\n links={[\n {\n href: 'https://www.edx.org/resources',\n title: intl.formatMessage(\n footerMessages['footer.connectLinks.blog'],\n ),\n },\n {\n href: 'https://courses.edx.org/support/contact_us',\n title: intl.formatMessage(\n footerMessages['footer.connectLinks.contact'],\n ),\n },\n {\n href: 'https://support.edx.org',\n title: intl.formatMessage(\n footerMessages['footer.connectLinks.help'],\n ),\n },\n {\n href: `${MARKETING_BASE_URL}/policy/security`,\n title: intl.formatMessage(\n footerMessages['footer.connectLinks.security'],\n ),\n },\n {\n href: `${MARKETING_BASE_URL}/media-kit`,\n title: intl.formatMessage(\n footerMessages['footer.connectLinks.mediaKit'],\n ),\n hidden: intl.locale === 'es',\n },\n ]}\n />\n </div>\n <div className=\"d-flex flex-column flex-fill\">\n <LinkList\n className=\"area-3\"\n title={intl.formatMessage(\n footerMessages['footer.legalLinks.heading'],\n )}\n links={[\n {\n href: `${MARKETING_BASE_URL}/edx-terms-service`,\n title: intl.formatMessage(\n footerMessages['footer.legalLinks.termsOfService'],\n ),\n },\n {\n href: `${MARKETING_BASE_URL}/edx-privacy-policy`,\n title: intl.formatMessage(\n footerMessages['footer.legalLinks.privacyPolicy'],\n ),\n },\n {\n href: `${MARKETING_BASE_URL}/edx-privacy-policy/cookies`,\n title: intl.formatMessage(\n footerMessages['footer.legalLinks.cookiePolicy'],\n ),\n },\n {\n href: `${MARKETING_BASE_URL}/accessibility`,\n title: intl.formatMessage(\n footerMessages['footer.legalLinks.a11yPolicy'],\n ),\n },\n {\n href: `${MARKETING_BASE_URL}/trademarks`,\n title: intl.formatMessage(\n footerMessages['footer.legalLinks.trademarkPolicy'],\n ),\n hidden: intl.locale === 'es',\n },\n {\n href: `${MARKETING_BASE_URL}/modern-slavery-statement`,\n title: intl.formatMessage(\n footerMessages['footer.legalLinks.modernSlavery'],\n ),\n },\n {\n href: `${MARKETING_BASE_URL}/sitemap`,\n title: intl.formatMessage(\n footerMessages['footer.legalLinks.sitemap'],\n ),\n hidden: intl.locale === 'es',\n },\n {\n href: `#`,\n title: intl.formatMessage(\n footerMessages['footer.legalLinks.privacyChoices'],\n ),\n },\n ]}\n />\n </div>\n <div className=\"d-flex flex-column flex-fill\">\n {/* language selector not implemented */}\n </div>\n </div>\n\n <div className=\"mt-4.5 d-flex align-items-start\">\n <div className=\"d-flex flex-column align-items-start\">\n <p className=\"x-small text-white\">\n {intl.formatMessage(footerMessages['footer.copyRight'])}\n </p>\n <p className=\"x-small text-white\">\n {intl.formatMessage(footerMessages['footer.copyRightCn'])}\n </p>\n </div>\n </div>\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../../src/widgets/LearnerDashboardFooter/Footer.tsx"],"names":[],"mappings":"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","sourcesContent":["import './index.scss';\nimport footerLogo from '../../assets/footerLogo.svg';\n\nimport { useIntl } from '@openedx/frontend-base';\nimport SocialIconLinks from './SocialLinks';\nimport footerMessages from './messages';\nimport LinkList from './LinkList';\nimport { useEffect, useState } from 'react';\n\nconst MARKETING_BASE_URL = 'https://edx.org';\n\nexport default function Footer() {\n const intl = useIntl();\n const [utmSource, setUtmSource] = useState('edx.org');\n\n useEffect(() => {\n setUtmSource(window.location.hostname);\n }, []);\n\n return (\n <div className=\"footer py-5.5 bg-primary-500\">\n <div className=\"d-flex flex-column flex-lg-row gap-4 align-items-start justify-content-between mb-4.5\">\n <a\n href=\"https://edx.org\"\n aria-label={intl.formatMessage(\n footerMessages['footer.logo.ariaLabel'],\n )}\n >\n <img\n className=\"footer__logo-main\"\n src={footerLogo}\n alt={intl.formatMessage(footerMessages['footer.logo.altText'])}\n />\n </a>\n <SocialIconLinks />\n </div>\n <div className=\"d-flex flex-column flex-md-row gap-4\">\n <div className=\"d-flex flex-column flex-fill\">\n <LinkList\n className=\"area-2\"\n title=\"edX\"\n links={[\n {\n href: `${MARKETING_BASE_URL}/about-us`,\n title: intl.formatMessage(\n footerMessages['footer.edxLinks.about'],\n ),\n },\n {\n href: `https://business.edx.org/?utm_campaign=edX.org+Referral&utm_medium=Footer&utm_source=${utmSource}`,\n title: intl.formatMessage(\n footerMessages['footer.edxLinks.business'],\n ),\n },\n {\n href: `${MARKETING_BASE_URL}/affiliate-program`,\n title: intl.formatMessage(\n footerMessages['footer.edxLinks.affiliates'],\n ),\n hidden: intl.locale === 'es',\n },\n {\n href: 'http://open.edx.org',\n title: intl.formatMessage(\n footerMessages['footer.edxLinks.openEdx'],\n ),\n hidden: intl.locale === 'es',\n },\n {\n href: 'https://www.edx.org/learn/devops',\n title: intl.formatMessage(\n footerMessages['footer.legalLinks.advisory'],\n ),\n hidden: intl.locale === 'es',\n },\n {\n href: `${MARKETING_BASE_URL}/careers`,\n title: intl.formatMessage(\n footerMessages['footer.edxLinks.careers'],\n ),\n hidden: intl.locale === 'es',\n },\n {\n href: `https://press.edx.org/`,\n title: intl.formatMessage(\n footerMessages['footer.edxLinks.news'],\n ),\n },\n ]}\n />\n </div>\n <div className=\"d-flex flex-column flex-fill\">\n <LinkList\n className=\"area-4\"\n title={intl.formatMessage(\n footerMessages['footer.connectLinks.heading'],\n )}\n links={[\n {\n href: 'https://www.edx.org/resources',\n title: intl.formatMessage(\n footerMessages['footer.connectLinks.blog'],\n ),\n },\n {\n href: 'https://courses.edx.org/support/contact_us',\n title: intl.formatMessage(\n footerMessages['footer.connectLinks.contact'],\n ),\n },\n {\n href: 'https://support.edx.org',\n title: intl.formatMessage(\n footerMessages['footer.connectLinks.help'],\n ),\n },\n {\n href: `${MARKETING_BASE_URL}/policy/security`,\n title: intl.formatMessage(\n footerMessages['footer.connectLinks.security'],\n ),\n },\n {\n href: `${MARKETING_BASE_URL}/media-kit`,\n title: intl.formatMessage(\n footerMessages['footer.connectLinks.mediaKit'],\n ),\n hidden: intl.locale === 'es',\n },\n ]}\n />\n </div>\n <div className=\"d-flex flex-column flex-fill\">\n <LinkList\n className=\"area-3\"\n title={intl.formatMessage(\n footerMessages['footer.legalLinks.heading'],\n )}\n links={[\n {\n href: `${MARKETING_BASE_URL}/edx-terms-service`,\n title: intl.formatMessage(\n footerMessages['footer.legalLinks.termsOfService'],\n ),\n },\n {\n href: `${MARKETING_BASE_URL}/edx-privacy-policy`,\n title: intl.formatMessage(\n footerMessages['footer.legalLinks.privacyPolicy'],\n ),\n },\n {\n href: `${MARKETING_BASE_URL}/edx-privacy-policy/cookies`,\n title: intl.formatMessage(\n footerMessages['footer.legalLinks.cookiePolicy'],\n ),\n },\n {\n href: `${MARKETING_BASE_URL}/accessibility`,\n title: intl.formatMessage(\n footerMessages['footer.legalLinks.a11yPolicy'],\n ),\n },\n {\n href: `${MARKETING_BASE_URL}/trademarks`,\n title: intl.formatMessage(\n footerMessages['footer.legalLinks.trademarkPolicy'],\n ),\n hidden: intl.locale === 'es',\n },\n {\n href: `${MARKETING_BASE_URL}/modern-slavery-statement`,\n title: intl.formatMessage(\n footerMessages['footer.legalLinks.modernSlavery'],\n ),\n },\n {\n href: `${MARKETING_BASE_URL}/sitemap`,\n title: intl.formatMessage(\n footerMessages['footer.legalLinks.sitemap'],\n ),\n hidden: intl.locale === 'es',\n },\n {\n href: `#`,\n title: intl.formatMessage(\n footerMessages['footer.legalLinks.privacyChoices'],\n ),\n },\n ]}\n />\n </div>\n <div className=\"d-flex flex-column flex-fill d-md-none\">\n {/* language selector not implemented */}\n </div>\n </div>\n\n <div className=\"mt-4.5 d-flex align-items-start\">\n <div className=\"d-flex flex-column align-items-start\">\n <p className=\"x-small text-white\">\n {intl.formatMessage(footerMessages['footer.copyRight'])}\n </p>\n <p className=\"x-small text-white\">\n {intl.formatMessage(footerMessages['footer.copyRightCn'])}\n </p>\n </div>\n </div>\n </div>\n );\n}\n"]}
|
|
@@ -13,7 +13,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
13
13
|
import { Button } from '@openedx/paragon';
|
|
14
14
|
const LinkList = (_a) => {
|
|
15
15
|
var { title: listTitle, links = [] } = _a, props = __rest(_a, ["title", "links"]);
|
|
16
|
-
return (_jsxs("div", Object.assign({ className: "d-flex flex-column flex-fill" }, props, { children: [_jsx("h2", { className: "footer__section-title text-white mb-
|
|
16
|
+
return (_jsxs("div", Object.assign({ className: "d-flex flex-column flex-fill" }, props, { children: [_jsx("h2", { className: "footer__section-title text-white mb-2 small", children: listTitle }), _jsx("ul", { className: "list-unstyled p-0 m-0 footer__links", children: links.map((_a) => {
|
|
17
17
|
var { title, href, hidden } = _a, linkProps = __rest(_a, ["title", "href", "hidden"]);
|
|
18
18
|
if (hidden) {
|
|
19
19
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkList.js","sourceRoot":"","sources":["../../../src/widgets/LearnerDashboardFooter/LinkList.tsx"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAoB1C,MAAM,QAAQ,GAA4B,CAAC,EAI1C,EAAE,EAAE;QAJsC,EACzC,KAAK,EAAE,SAAS,EAChB,KAAK,GAAG,EAAE,OAEX,EADI,KAAK,cAHiC,kBAI1C,CADS;IACJ,OAAA,CACJ,6BAAK,SAAS,EAAC,8BAA8B,IAAK,KAAK,eACrD,aAAI,SAAS,EAAC,6CAA6C,YAAE,SAAS,GAAM,EAC5E,aAAI,SAAS,EAAC,qCAAqC,YAChD,KAAK,CAAC,GAAG,CAAC,CAAC,EAAqC,EAAE,EAAE;wBAAzC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,OAAgB,EAAX,SAAS,cAAnC,2BAAqC,CAAF;oBAC7C,IAAI,MAAM,EAAE,CAAC;wBACX,OAAO,IAAI,CAAC;oBACd,CAAC;oBAED,IAAI,CAAC,IAAI,EAAE,CAAC;wBACV,OAAO,CACL,uBACE,KAAC,MAAM,oBAAK,SAAS,cAAG,KAAK,IAAU,IADhC,KAAK,CAET,CACN,CAAC;oBACJ,CAAC;oBAED,OAAO,CACL,uBACE,YAAG,SAAS,EAAC,oBAAoB,EAAC,IAAI,EAAE,IAAI,YACzC,KAAK,GACJ,IAHG,GAAG,IAAI,GAAG,KAAK,EAAE,CAIrB,CACN,CAAC;gBACJ,CAAC,CAAC,GACC,KACD,CACP,CAAA;CAAA,CAAC;AAEF,eAAe,QAAQ,CAAC","sourcesContent":["import React, { HTMLAttributes } from 'react';\nimport { Button } from '@openedx/paragon';\n\ntype ButtonComponentProps = React.ComponentProps<typeof Button>;\n\nexport interface LinkItem {\n title: string,\n href?: string,\n hidden?: boolean,\n onClick?: ButtonComponentProps['onClick'],\n variant?: ButtonComponentProps['variant'],\n size?: ButtonComponentProps['size'],\n id?: ButtonComponentProps['id'],\n className?: ButtonComponentProps['className'],\n}\n\nexport interface LinkListProps extends HTMLAttributes<HTMLDivElement> {\n title: string,\n links?: LinkItem[],\n}\n\nconst LinkList: React.FC<LinkListProps> = ({\n title: listTitle,\n links = [],\n ...props\n}) => (\n <div className=\"d-flex flex-column flex-fill\" {...props}>\n <h2 className=\"footer__section-title text-white mb-
|
|
1
|
+
{"version":3,"file":"LinkList.js","sourceRoot":"","sources":["../../../src/widgets/LearnerDashboardFooter/LinkList.tsx"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAoB1C,MAAM,QAAQ,GAA4B,CAAC,EAI1C,EAAE,EAAE;QAJsC,EACzC,KAAK,EAAE,SAAS,EAChB,KAAK,GAAG,EAAE,OAEX,EADI,KAAK,cAHiC,kBAI1C,CADS;IACJ,OAAA,CACJ,6BAAK,SAAS,EAAC,8BAA8B,IAAK,KAAK,eACrD,aAAI,SAAS,EAAC,6CAA6C,YAAE,SAAS,GAAM,EAC5E,aAAI,SAAS,EAAC,qCAAqC,YAChD,KAAK,CAAC,GAAG,CAAC,CAAC,EAAqC,EAAE,EAAE;wBAAzC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,OAAgB,EAAX,SAAS,cAAnC,2BAAqC,CAAF;oBAC7C,IAAI,MAAM,EAAE,CAAC;wBACX,OAAO,IAAI,CAAC;oBACd,CAAC;oBAED,IAAI,CAAC,IAAI,EAAE,CAAC;wBACV,OAAO,CACL,uBACE,KAAC,MAAM,oBAAK,SAAS,cAAG,KAAK,IAAU,IADhC,KAAK,CAET,CACN,CAAC;oBACJ,CAAC;oBAED,OAAO,CACL,uBACE,YAAG,SAAS,EAAC,oBAAoB,EAAC,IAAI,EAAE,IAAI,YACzC,KAAK,GACJ,IAHG,GAAG,IAAI,GAAG,KAAK,EAAE,CAIrB,CACN,CAAC;gBACJ,CAAC,CAAC,GACC,KACD,CACP,CAAA;CAAA,CAAC;AAEF,eAAe,QAAQ,CAAC","sourcesContent":["import React, { HTMLAttributes } from 'react';\nimport { Button } from '@openedx/paragon';\n\ntype ButtonComponentProps = React.ComponentProps<typeof Button>;\n\nexport interface LinkItem {\n title: string,\n href?: string,\n hidden?: boolean,\n onClick?: ButtonComponentProps['onClick'],\n variant?: ButtonComponentProps['variant'],\n size?: ButtonComponentProps['size'],\n id?: ButtonComponentProps['id'],\n className?: ButtonComponentProps['className'],\n}\n\nexport interface LinkListProps extends HTMLAttributes<HTMLDivElement> {\n title: string,\n links?: LinkItem[],\n}\n\nconst LinkList: React.FC<LinkListProps> = ({\n title: listTitle,\n links = [],\n ...props\n}) => (\n <div className=\"d-flex flex-column flex-fill\" {...props}>\n <h2 className=\"footer__section-title text-white mb-2 small\">{listTitle}</h2>\n <ul className=\"list-unstyled p-0 m-0 footer__links\">\n {links.map(({ title, href, hidden, ...linkProps }) => {\n if (hidden) {\n return null;\n }\n\n if (!href) {\n return (\n <li key={title}>\n <Button {...linkProps}>{title}</Button>\n </li>\n );\n }\n\n return (\n <li key={`${href}${title}`}>\n <a className=\"text-white x-small\" href={href}>\n {title}\n </a>\n </li>\n );\n })}\n </ul>\n </div>\n);\n\nexport default LinkList;\n"]}
|
|
@@ -40,6 +40,6 @@ export default function SocialIconLinks() {
|
|
|
40
40
|
};
|
|
41
41
|
sendTrackEvent(eventName, properties);
|
|
42
42
|
};
|
|
43
|
-
return (_jsx("ul", { className: "
|
|
43
|
+
return (_jsx("ul", { className: "mb-0 d-flex gap-3 list-unstyled", children: socialIconLinks.map(({ title, url, icon }) => (_jsx("li", { children: _jsx("a", { href: url, title: title, "aria-label": title, target: "_blank", rel: "noopener noreferrer", onClick: externalLinkClickHandler, className: "text-decoration-none text-white", children: _jsx("img", { src: icon, alt: title, "aria-hidden": "true" }) }) }, url))) }));
|
|
44
44
|
}
|
|
45
45
|
//# sourceMappingURL=SocialLinks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SocialLinks.js","sourceRoot":"","sources":["../../../src/widgets/LearnerDashboardFooter/SocialLinks.tsx"],"names":[],"mappings":";AACA,OAAO,cAAc,CAAC;AAEtB,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,OAAO,MAAM,0BAA0B,CAAC;AAC/C,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,WAAW,GAAG;IAClB,WAAW,EAAE,oBAAoB;CAClC,CAAC;AAQF,MAAM,eAAe,GAAqB;IACxC;QACE,KAAK,EAAE,UAAU;QACjB,GAAG,EAAE,oCAAoC;QACzC,IAAI,EAAE,QAAQ;KACf;IACD;QACE,KAAK,EAAE,sBAAsB;QAC7B,GAAG,EAAE,+BAA+B;QACpC,IAAI,EAAE,OAAO;KACd;IACD;QACE,KAAK,EAAE,UAAU;QACjB,GAAG,EAAE,sCAAsC;QAC3C,IAAI,EAAE,QAAQ;KACf;IACD;QACE,KAAK,EAAE,QAAQ;QACf,GAAG,EAAE,8BAA8B;QACnC,IAAI,EAAE,MAAM;KACb;CACF,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,eAAe;IACrC,MAAM,wBAAwB,GAAG,CAC/B,KAA0C,EAC1C,EAAE;QACF,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAEvD,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC;QAE1C,MAAM,UAAU,GAAG;YACjB,QAAQ,EAAE,eAAe;YACzB,KAAK;SACN,CAAC;QAEF,cAAc,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACxC,CAAC,CAAC;IAEF,OAAO,CACL,aAAI,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"SocialLinks.js","sourceRoot":"","sources":["../../../src/widgets/LearnerDashboardFooter/SocialLinks.tsx"],"names":[],"mappings":";AACA,OAAO,cAAc,CAAC;AAEtB,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,OAAO,MAAM,0BAA0B,CAAC;AAC/C,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,WAAW,GAAG;IAClB,WAAW,EAAE,oBAAoB;CAClC,CAAC;AAQF,MAAM,eAAe,GAAqB;IACxC;QACE,KAAK,EAAE,UAAU;QACjB,GAAG,EAAE,oCAAoC;QACzC,IAAI,EAAE,QAAQ;KACf;IACD;QACE,KAAK,EAAE,sBAAsB;QAC7B,GAAG,EAAE,+BAA+B;QACpC,IAAI,EAAE,OAAO;KACd;IACD;QACE,KAAK,EAAE,UAAU;QACjB,GAAG,EAAE,sCAAsC;QAC3C,IAAI,EAAE,QAAQ;KACf;IACD;QACE,KAAK,EAAE,QAAQ;QACf,GAAG,EAAE,8BAA8B;QACnC,IAAI,EAAE,MAAM;KACb;CACF,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,eAAe;IACrC,MAAM,wBAAwB,GAAG,CAC/B,KAA0C,EAC1C,EAAE;QACF,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAEvD,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC;QAE1C,MAAM,UAAU,GAAG;YACjB,QAAQ,EAAE,eAAe;YACzB,KAAK;SACN,CAAC;QAEF,cAAc,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACxC,CAAC,CAAC;IAEF,OAAO,CACL,aAAI,SAAS,EAAC,iCAAiC,YAC5C,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAC7C,uBACE,YACE,IAAI,EAAE,GAAG,EACT,KAAK,EAAE,KAAK,gBACA,KAAK,EACjB,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,OAAO,EAAE,wBAAwB,EACjC,SAAS,EAAC,iCAAiC,YAE3C,cAAK,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,iBAAc,MAAM,GAAG,GAC/C,IAXG,GAAG,CAYP,CACN,CAAC,GACC,CACN,CAAC;AACJ,CAAC","sourcesContent":["import React from 'react';\nimport './index.scss';\n\nimport facebook from '../../assets/facebook.svg';\nimport twitter from '../../assets/twitter.svg';\nimport linkedin from '../../assets/linkedin.svg';\nimport reddit from '../../assets/reddit.svg';\nimport { sendTrackEvent } from '@openedx/frontend-base';\n\nconst EVENT_NAMES = {\n FOOTER_LINK: 'edx.bi.footer.link',\n};\n\ninterface SocialIconLink {\n title: string,\n url: string,\n icon: string,\n}\n\nconst socialIconLinks: SocialIconLink[] = [\n {\n title: 'Facebook',\n url: 'https://www.facebook.com/EdxOnline',\n icon: facebook,\n },\n {\n title: 'X (formerly Twitter)',\n url: 'https://twitter.com/edXOnline',\n icon: twitter,\n },\n {\n title: 'LinkedIn',\n url: 'https://www.linkedin.com/company/edx',\n icon: linkedin,\n },\n {\n title: 'Reddit',\n url: 'https://www.reddit.com/r/edx',\n icon: reddit,\n },\n];\n\nexport default function SocialIconLinks() {\n const externalLinkClickHandler = (\n event: React.MouseEvent<HTMLAnchorElement>,\n ) => {\n const label = event.currentTarget.getAttribute('href');\n\n const eventName = EVENT_NAMES.FOOTER_LINK;\n\n const properties = {\n category: 'outbound_link',\n label,\n };\n\n sendTrackEvent(eventName, properties);\n };\n\n return (\n <ul className=\"mb-0 d-flex gap-3 list-unstyled\">\n {socialIconLinks.map(({ title, url, icon }) => (\n <li key={url}>\n <a\n href={url}\n title={title}\n aria-label={title}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n onClick={externalLinkClickHandler}\n className=\"text-decoration-none text-white\"\n >\n <img src={icon} alt={title} aria-hidden=\"true\" />\n </a>\n </li>\n ))}\n </ul>\n );\n}\n"]}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
.footer {
|
|
2
|
-
padding-inline:
|
|
2
|
+
padding-inline: 3rem;
|
|
3
|
+
|
|
4
|
+
@media (min-width: --pgn-size-breakpoint-min-width-lg) {
|
|
5
|
+
padding-inline: 10.25rem;
|
|
6
|
+
}
|
|
3
7
|
|
|
4
8
|
&__logo-main {
|
|
5
9
|
max-width: 8.125rem;
|
|
@@ -9,8 +13,4 @@
|
|
|
9
13
|
font-weight: 700;
|
|
10
14
|
line-height: 1.75rem;
|
|
11
15
|
}
|
|
12
|
-
|
|
13
|
-
&__social-links {
|
|
14
|
-
gap: 1rem;
|
|
15
|
-
}
|
|
16
16
|
}
|