@anas_hameed/edly-saas-widget 0.1.5 → 0.1.6
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.
|
@@ -39,12 +39,14 @@ const FooterWidget = () => {
|
|
|
39
39
|
}, [footerData]);
|
|
40
40
|
(0, _react.useEffect)(() => {
|
|
41
41
|
const fetchData = async () => {
|
|
42
|
-
if (!config?.
|
|
42
|
+
if (!config?.MARKETING_SITE_BASE_URL) {
|
|
43
43
|
console.error("No url found for discovery", config);
|
|
44
44
|
return;
|
|
45
45
|
}
|
|
46
46
|
try {
|
|
47
|
-
const response = await fetch(`${config.
|
|
47
|
+
const response = await fetch(`${config.MARKETING_SITE_BASE_URL}/wp-json/edly-wp-routes/footer`,
|
|
48
|
+
// `https://venus.discover.multitenantsdev.edly.io/wp-json/edly-wp-routes/footer`,
|
|
49
|
+
{
|
|
48
50
|
credentials: "include"
|
|
49
51
|
});
|
|
50
52
|
if (!response.ok) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_frontendPlatform","require","_react","_dompurify","_interopRequireDefault","_jsxRuntime","e","__esModule","default","FooterWidget","footerData","setFooterData","useState","config","getConfig","useEffect","scrollBtn","document","getElementById","scrollToTop","window","scrollTo","top","behavior","toggleVisibility","scrollY","classList","add","remove","addEventListener","removeEventListener","fetchData","
|
|
1
|
+
{"version":3,"file":"index.js","names":["_frontendPlatform","require","_react","_dompurify","_interopRequireDefault","_jsxRuntime","e","__esModule","default","FooterWidget","footerData","setFooterData","useState","config","getConfig","useEffect","scrollBtn","document","getElementById","scrollToTop","window","scrollTo","top","behavior","toggleVisibility","scrollY","classList","add","remove","addEventListener","removeEventListener","fetchData","MARKETING_SITE_BASE_URL","console","error","response","fetch","credentials","ok","Error","status","jsonData","json","cleanHtml","DOMPurify","sanitize","ADD_ATTR","jsx","className","dangerouslySetInnerHTML","__html","_default","exports"],"sources":["../../src/FooterWidget/index.jsx"],"sourcesContent":["import { getConfig } from \"@edx/frontend-platform\";\nimport { useEffect, useState } from \"react\";\nimport DOMPurify from \"dompurify\";\nimport \"./main.scss\";\n\nconst FooterWidget = () => {\n const [footerData, setFooterData] = useState(\"\");\n const config = getConfig();\n\n useEffect(() => {\n const scrollBtn = document.getElementById(\"scrollToTop\");\n if (scrollBtn) {\n const scrollToTop = () => {\n window.scrollTo({ top: 0, behavior: \"smooth\" });\n };\n\n const toggleVisibility = () => {\n if (window.scrollY > 300) {\n scrollBtn.classList.add(\"show-btn\"); // We will style this class in SCSS\n } else {\n scrollBtn.classList.remove(\"show-btn\");\n }\n };\n\n scrollBtn.addEventListener(\"click\", scrollToTop);\n window.addEventListener(\"scroll\", toggleVisibility);\n\n return () => {\n scrollBtn.removeEventListener(\"click\", scrollToTop);\n window.removeEventListener(\"scroll\", toggleVisibility);\n };\n }\n }, [footerData]);\n\n useEffect(() => {\n const fetchData = async () => {\n if (!config?.MARKETING_SITE_BASE_URL) {\n console.error(\"No url found for discovery\", config);\n return;\n }\n try {\n const response = await fetch(\n `${config.MARKETING_SITE_BASE_URL}/wp-json/edly-wp-routes/footer`,\n // `https://venus.discover.multitenantsdev.edly.io/wp-json/edly-wp-routes/footer`,\n { credentials: \"include\" }\n );\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n\n const jsonData = await response.json();\n const cleanHtml = DOMPurify.sanitize(jsonData, {\n ADD_ATTR: [\"target\", \"class\"],\n });\n setFooterData(cleanHtml);\n } catch (error) {\n console.error(error);\n }\n };\n\n fetchData();\n }, []);\n\n return (\n <footer\n className=\"site-header\"\n dangerouslySetInnerHTML={{ __html: footerData }}\n />\n );\n};\n\nexport default FooterWidget;\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACAA,OAAA;AAAqB,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAErB,MAAMG,YAAY,GAAGA,CAAA,KAAM;EACzB,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAAC,EAAE,CAAC;EAChD,MAAMC,MAAM,GAAG,IAAAC,2BAAS,EAAC,CAAC;EAE1B,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAMC,SAAS,GAAGC,QAAQ,CAACC,cAAc,CAAC,aAAa,CAAC;IACxD,IAAIF,SAAS,EAAE;MACb,MAAMG,WAAW,GAAGA,CAAA,KAAM;QACxBC,MAAM,CAACC,QAAQ,CAAC;UAAEC,GAAG,EAAE,CAAC;UAAEC,QAAQ,EAAE;QAAS,CAAC,CAAC;MACjD,CAAC;MAED,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;QAC7B,IAAIJ,MAAM,CAACK,OAAO,GAAG,GAAG,EAAE;UACxBT,SAAS,CAACU,SAAS,CAACC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QACvC,CAAC,MAAM;UACLX,SAAS,CAACU,SAAS,CAACE,MAAM,CAAC,UAAU,CAAC;QACxC;MACF,CAAC;MAEDZ,SAAS,CAACa,gBAAgB,CAAC,OAAO,EAAEV,WAAW,CAAC;MAChDC,MAAM,CAACS,gBAAgB,CAAC,QAAQ,EAAEL,gBAAgB,CAAC;MAEnD,OAAO,MAAM;QACXR,SAAS,CAACc,mBAAmB,CAAC,OAAO,EAAEX,WAAW,CAAC;QACnDC,MAAM,CAACU,mBAAmB,CAAC,QAAQ,EAAEN,gBAAgB,CAAC;MACxD,CAAC;IACH;EACF,CAAC,EAAE,CAACd,UAAU,CAAC,CAAC;EAEhB,IAAAK,gBAAS,EAAC,MAAM;IACd,MAAMgB,SAAS,GAAG,MAAAA,CAAA,KAAY;MAC5B,IAAI,CAAClB,MAAM,EAAEmB,uBAAuB,EAAE;QACpCC,OAAO,CAACC,KAAK,CAAC,4BAA4B,EAAErB,MAAM,CAAC;QACnD;MACF;MACA,IAAI;QACF,MAAMsB,QAAQ,GAAG,MAAMC,KAAK,CAC1B,GAAGvB,MAAM,CAACmB,uBAAuB,gCAAgC;QACjE;QACA;UAAEK,WAAW,EAAE;QAAU,CAC3B,CAAC;QACD,IAAI,CAACF,QAAQ,CAACG,EAAE,EAAE;UAChB,MAAM,IAAIC,KAAK,CAAC,uBAAuBJ,QAAQ,CAACK,MAAM,EAAE,CAAC;QAC3D;QAEA,MAAMC,QAAQ,GAAG,MAAMN,QAAQ,CAACO,IAAI,CAAC,CAAC;QACtC,MAAMC,SAAS,GAAGC,kBAAS,CAACC,QAAQ,CAACJ,QAAQ,EAAE;UAC7CK,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO;QAC9B,CAAC,CAAC;QACFnC,aAAa,CAACgC,SAAS,CAAC;MAC1B,CAAC,CAAC,OAAOT,KAAK,EAAE;QACdD,OAAO,CAACC,KAAK,CAACA,KAAK,CAAC;MACtB;IACF,CAAC;IAEDH,SAAS,CAAC,CAAC;EACb,CAAC,EAAE,EAAE,CAAC;EAEN,oBACE,IAAA1B,WAAA,CAAA0C,GAAA;IACEC,SAAS,EAAC,aAAa;IACvBC,uBAAuB,EAAE;MAAEC,MAAM,EAAExC;IAAW;EAAE,CACjD,CAAC;AAEN,CAAC;AAAC,IAAAyC,QAAA,GAAAC,OAAA,CAAA5C,OAAA,GAEaC,YAAY","ignoreList":[]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
$primary-color:
|
|
1
|
+
$primary-color: var(--primary-color);
|
|
2
2
|
$text-color: #fff;
|
|
3
3
|
$background-color: #ffffff;
|
|
4
4
|
$submenu-bg: #ffffff;
|
|
5
5
|
$submenu-border: #d1d5db;
|
|
6
6
|
$submenu-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
|
|
7
|
-
$hover-bg:
|
|
7
|
+
$hover-bg: color-mix(in srgb, var(--primary-color) 5%, white 94%);
|
|
8
8
|
$transition-speed: 0.25s;
|
|
9
9
|
$font-family: 'Inter', sans-serif;
|
|
10
10
|
$mobile-breakpoint: 1230px;
|
|
@@ -18,8 +18,9 @@ $font-size: 1em;
|
|
|
18
18
|
p {
|
|
19
19
|
font-size: $font-size;
|
|
20
20
|
}
|
|
21
|
-
|
|
21
|
+
h2, h3 {
|
|
22
22
|
margin-bottom: 20px;
|
|
23
|
+
color: white;
|
|
23
24
|
}
|
|
24
25
|
}
|
|
25
26
|
|
|
@@ -58,6 +59,9 @@ $font-size: 1em;
|
|
|
58
59
|
display: flex;
|
|
59
60
|
li {
|
|
60
61
|
margin: 0 10px 10px 0;
|
|
62
|
+
a{
|
|
63
|
+
color: white;
|
|
64
|
+
}
|
|
61
65
|
}
|
|
62
66
|
}
|
|
63
67
|
|
|
@@ -7,6 +7,7 @@ exports.default = void 0;
|
|
|
7
7
|
var _frontendPlatform = require("@edx/frontend-platform");
|
|
8
8
|
var _react = require("react");
|
|
9
9
|
var _dompurify = _interopRequireDefault(require("dompurify"));
|
|
10
|
+
var _reactHelmet = require("react-helmet");
|
|
10
11
|
require("./main.scss");
|
|
11
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -17,7 +18,19 @@ const HeaderWidget = () => {
|
|
|
17
18
|
const [isMobile, setIsMobile] = (0, _react.useState)(window.innerWidth < WIDTH);
|
|
18
19
|
const [isLoading, setIsLoading] = (0, _react.useState)(true);
|
|
19
20
|
const config = (0, _frontendPlatform.getConfig)();
|
|
21
|
+
|
|
22
|
+
// useEffect(() => {
|
|
23
|
+
// if (isLoading) {
|
|
24
|
+
// document.body.classList.add("loader");
|
|
25
|
+
// }
|
|
26
|
+
// return () => {
|
|
27
|
+
// document.body.classList.remove("loader");
|
|
28
|
+
// };
|
|
29
|
+
// }, [isLoading]);
|
|
30
|
+
|
|
20
31
|
(0, _react.useEffect)(() => {
|
|
32
|
+
console.log("color: ", config.COLORS);
|
|
33
|
+
document.documentElement.style.setProperty("--primary-color", config?.COLORS?.primary || "#de2025");
|
|
21
34
|
const handleResize = () => {
|
|
22
35
|
setIsMobile(window.innerWidth < WIDTH);
|
|
23
36
|
if (window.innerWidth >= WIDTH) {
|
|
@@ -25,16 +38,20 @@ const HeaderWidget = () => {
|
|
|
25
38
|
}
|
|
26
39
|
};
|
|
27
40
|
window.addEventListener("resize", handleResize);
|
|
28
|
-
return () =>
|
|
41
|
+
return () => {
|
|
42
|
+
window.removeEventListener("resize", handleResize);
|
|
43
|
+
};
|
|
29
44
|
}, []);
|
|
30
45
|
(0, _react.useEffect)(() => {
|
|
31
46
|
const fetchData = async () => {
|
|
32
|
-
if (!config?.
|
|
47
|
+
if (!config?.MARKETING_SITE_BASE_URL) {
|
|
33
48
|
console.error("No url found for discovery", config);
|
|
34
49
|
return;
|
|
35
50
|
}
|
|
36
51
|
try {
|
|
37
|
-
const response = await fetch(`${config.
|
|
52
|
+
const response = await fetch(`${config.MARKETING_SITE_BASE_URL}/wp-json/edly-wp-routes/nav-menu`,
|
|
53
|
+
// "https://venus.discover.multitenantsdev.edly.io/wp-json/edly-wp-routes/nav-menu",
|
|
54
|
+
{
|
|
38
55
|
credentials: "include"
|
|
39
56
|
});
|
|
40
57
|
if (!response.ok) {
|
|
@@ -60,37 +77,45 @@ const HeaderWidget = () => {
|
|
|
60
77
|
const toggleMenu = () => {
|
|
61
78
|
setIsOpen(!isOpen);
|
|
62
79
|
};
|
|
63
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
background: "none",
|
|
71
|
-
border: "none",
|
|
72
|
-
cursor: "pointer",
|
|
73
|
-
fontSize: "24px"
|
|
74
|
-
},
|
|
75
|
-
children: isOpen ? "✖" : "☰"
|
|
80
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
81
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactHelmet.Helmet, {
|
|
82
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("link", {
|
|
83
|
+
rel: "stylesheet",
|
|
84
|
+
href: "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css",
|
|
85
|
+
crossOrigin: "anonymous"
|
|
86
|
+
})
|
|
76
87
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
77
|
-
className: `
|
|
78
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}), /*#__PURE__*/(0, _jsxRuntime.
|
|
90
|
-
className: "
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
88
|
+
className: `shadow-lg ${isMobile ? "header-frame" : ""}`,
|
|
89
|
+
children: [isMobile && /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
90
|
+
className: "menuOpner",
|
|
91
|
+
type: "button",
|
|
92
|
+
onClick: toggleMenu,
|
|
93
|
+
style: {
|
|
94
|
+
background: "none",
|
|
95
|
+
border: "none",
|
|
96
|
+
cursor: "pointer",
|
|
97
|
+
fontSize: "24px"
|
|
98
|
+
},
|
|
99
|
+
children: isOpen ? "✖" : "☰"
|
|
100
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
101
|
+
className: `header-holder ${isMobile ? "mobile-menu" : ""} ${isOpen ? "" : "mobile-hide"}`,
|
|
102
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
|
|
103
|
+
href: "/",
|
|
104
|
+
className: "custom-logo-link",
|
|
105
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
|
|
106
|
+
width: "216",
|
|
107
|
+
height: "140",
|
|
108
|
+
src: config.LOGO_URL,
|
|
109
|
+
className: "custom-logo",
|
|
110
|
+
alt: "Venus",
|
|
111
|
+
decoding: "async"
|
|
112
|
+
})
|
|
113
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("header", {
|
|
114
|
+
className: "site-header",
|
|
115
|
+
dangerouslySetInnerHTML: {
|
|
116
|
+
__html: headerData
|
|
117
|
+
}
|
|
118
|
+
})]
|
|
94
119
|
})]
|
|
95
120
|
})]
|
|
96
121
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_frontendPlatform","require","_react","_dompurify","_interopRequireDefault","_jsxRuntime","e","__esModule","default","HeaderWidget","headerData","setHeaderData","useState","isOpen","setIsOpen","WIDTH","isMobile","setIsMobile","window","innerWidth","isLoading","setIsLoading","config","getConfig","useEffect","handleResize","addEventListener","removeEventListener","fetchData","
|
|
1
|
+
{"version":3,"file":"index.js","names":["_frontendPlatform","require","_react","_dompurify","_interopRequireDefault","_reactHelmet","_jsxRuntime","e","__esModule","default","HeaderWidget","headerData","setHeaderData","useState","isOpen","setIsOpen","WIDTH","isMobile","setIsMobile","window","innerWidth","isLoading","setIsLoading","config","getConfig","useEffect","console","log","COLORS","document","documentElement","style","setProperty","primary","handleResize","addEventListener","removeEventListener","fetchData","MARKETING_SITE_BASE_URL","error","response","fetch","credentials","ok","Error","status","jsonData","json","cleanHtml","DOMPurify","sanitize","ADD_ATTR","toggleMenu","jsxs","Fragment","children","jsx","Helmet","rel","href","crossOrigin","className","type","onClick","background","border","cursor","fontSize","width","height","src","LOGO_URL","alt","decoding","dangerouslySetInnerHTML","__html","_default","exports"],"sources":["../../src/HeaderWidget/index.jsx"],"sourcesContent":["import { getConfig } from \"@edx/frontend-platform\";\nimport { useEffect, useState } from \"react\";\nimport DOMPurify from \"dompurify\";\nimport { Helmet } from \"react-helmet\";\nimport \"./main.scss\";\n\nconst HeaderWidget = () => {\n const [headerData, setHeaderData] = useState(\"\");\n const [isOpen, setIsOpen] = useState(false);\n const WIDTH = 1230;\n const [isMobile, setIsMobile] = useState(window.innerWidth < WIDTH);\n const [isLoading, setIsLoading] = useState(true);\n const config = getConfig();\n\n // useEffect(() => {\n // if (isLoading) {\n // document.body.classList.add(\"loader\");\n // }\n // return () => {\n // document.body.classList.remove(\"loader\");\n // };\n // }, [isLoading]);\n\n useEffect(() => {\n console.log(\"color: \", config.COLORS);\n document.documentElement.style.setProperty(\n \"--primary-color\",\n config?.COLORS?.primary || \"#de2025\"\n );\n\n const handleResize = () => {\n setIsMobile(window.innerWidth < WIDTH);\n if (window.innerWidth >= WIDTH) {\n setIsOpen(false);\n }\n };\n\n window.addEventListener(\"resize\", handleResize);\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n\n useEffect(() => {\n const fetchData = async () => {\n if (!config?.MARKETING_SITE_BASE_URL) {\n console.error(\"No url found for discovery\", config);\n return;\n }\n try {\n const response = await fetch(\n `${config.MARKETING_SITE_BASE_URL}/wp-json/edly-wp-routes/nav-menu`,\n // \"https://venus.discover.multitenantsdev.edly.io/wp-json/edly-wp-routes/nav-menu\",\n { credentials: \"include\" }\n );\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n\n const jsonData = await response.json();\n\n if (typeof jsonData === \"object\") {\n const cleanHtml = DOMPurify.sanitize(jsonData.primary, {\n ADD_ATTR: [\"target\", \"class\"],\n });\n setHeaderData(cleanHtml);\n } else {\n console.error(\"Data object is not json\");\n }\n } catch (error) {\n console.error(error);\n } finally {\n setIsLoading(false);\n }\n };\n\n fetchData();\n }, []);\n\n const toggleMenu = () => {\n setIsOpen(!isOpen);\n };\n\n return (\n <>\n <Helmet>\n <link\n rel=\"stylesheet\"\n href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css\"\n crossOrigin=\"anonymous\"\n />\n </Helmet>\n <div className={`shadow-lg ${isMobile ? \"header-frame\" : \"\"}`}>\n {isMobile && (\n <button\n className=\"menuOpner\"\n type=\"button\"\n onClick={toggleMenu}\n style={{\n background: \"none\",\n border: \"none\",\n cursor: \"pointer\",\n fontSize: \"24px\",\n }}\n >\n {isOpen ? \"✖\" : \"☰\"}\n </button>\n )}\n <div\n className={`header-holder ${isMobile ? \"mobile-menu\" : \"\"} ${\n isOpen ? \"\" : \"mobile-hide\"\n }`}\n >\n <a href=\"/\" className=\"custom-logo-link\">\n <img\n width=\"216\"\n height=\"140\"\n src={config.LOGO_URL}\n className=\"custom-logo\"\n alt=\"Venus\"\n decoding=\"async\"\n />\n </a>\n <header\n className=\"site-header\"\n dangerouslySetInnerHTML={{ __html: headerData }}\n />\n </div>\n </div>\n </>\n );\n};\n\nexport default HeaderWidget;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
@use "sass:color";
|
|
2
|
-
$primary-color:
|
|
2
|
+
$primary-color: var(--primary-color);
|
|
3
3
|
$text-color: #0d1321;
|
|
4
4
|
$background-color: #ffffff;
|
|
5
5
|
$submenu-bg: #ffffff;
|
|
6
6
|
$submenu-border: #d1d5db;
|
|
7
7
|
$submenu-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
|
|
8
|
-
$hover-bg: color
|
|
8
|
+
$hover-bg: color-mix(in srgb, var(--primary-color) 5%, white 94%);
|
|
9
9
|
$transition-speed: 0.25s;
|
|
10
10
|
$font-family: "Inter", sans-serif;
|
|
11
11
|
$mobile-breakpoint: 1230px;
|
|
@@ -19,6 +19,45 @@ $icon-size: 0.95em;
|
|
|
19
19
|
flex-direction: row;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
+
// .loader {
|
|
23
|
+
// width: 60px;
|
|
24
|
+
// aspect-ratio: 2;
|
|
25
|
+
// --_g: no-repeat radial-gradient(circle closest-side, #000 90%, #0000);
|
|
26
|
+
// background:
|
|
27
|
+
// var(--_g) 0% 50%,
|
|
28
|
+
// var(--_g) 50% 50%,
|
|
29
|
+
// var(--_g) 100% 50%;
|
|
30
|
+
// background-size: calc(100% / 3) 50%;
|
|
31
|
+
// animation: l3 1s infinite linear;
|
|
32
|
+
// }
|
|
33
|
+
|
|
34
|
+
// @keyframes l3 {
|
|
35
|
+
// 20% {
|
|
36
|
+
// background-position:
|
|
37
|
+
// 0% 0%,
|
|
38
|
+
// 50% 50%,
|
|
39
|
+
// 100% 50%;
|
|
40
|
+
// }
|
|
41
|
+
// 40% {
|
|
42
|
+
// background-position:
|
|
43
|
+
// 0% 100%,
|
|
44
|
+
// 50% 0%,
|
|
45
|
+
// 100% 50%;
|
|
46
|
+
// }
|
|
47
|
+
// 60% {
|
|
48
|
+
// background-position:
|
|
49
|
+
// 0% 50%,
|
|
50
|
+
// 50% 100%,
|
|
51
|
+
// 100% 0%;
|
|
52
|
+
// }
|
|
53
|
+
// 80% {
|
|
54
|
+
// background-position:
|
|
55
|
+
// 0% 50%,
|
|
56
|
+
// 50% 50%,
|
|
57
|
+
// 100% 100%;
|
|
58
|
+
// }
|
|
59
|
+
// }
|
|
60
|
+
|
|
22
61
|
.site-header {
|
|
23
62
|
width: 100%;
|
|
24
63
|
flex: inherit !important;
|
|
@@ -70,6 +109,7 @@ li.menu-item-object-menu_openedx {
|
|
|
70
109
|
}
|
|
71
110
|
|
|
72
111
|
img {
|
|
112
|
+
width: 40px;
|
|
73
113
|
border-radius: 100%;
|
|
74
114
|
overflow: hidden;
|
|
75
115
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anas_hameed/edly-saas-widget",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"description": "Frontend application template",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"repository": {
|
|
@@ -58,7 +58,8 @@
|
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
60
|
"dompurify": "^3.3.0",
|
|
61
|
-
"react-bootstrap": "^2.10.10"
|
|
61
|
+
"react-bootstrap": "^2.10.10",
|
|
62
|
+
"react-helmet": "^6.1.0"
|
|
62
63
|
},
|
|
63
64
|
"directories": {
|
|
64
65
|
"doc": "docs"
|