@edx/frontend-plugin-advertisements 1.24.1 → 1.24.2
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.
|
@@ -26,7 +26,7 @@ function isLocalStorageAvailable() {
|
|
|
26
26
|
function useClickCount() {
|
|
27
27
|
/**
|
|
28
28
|
* Hook that tracks the number of times that a user has clicked something
|
|
29
|
-
* and stores that number in localStorage (if available)
|
|
29
|
+
* and stores that number in localStorage (if available)
|
|
30
30
|
*
|
|
31
31
|
* Returns: [clickCount, setClickCount]
|
|
32
32
|
* - clickCount (int): The current count of clicks
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","names":["_react","require","_modelStore","_frontendPlatform","CLICK_COUNT_KEY","SHOW_MODAL_CLICK_COUNT","isLocalStorageAvailable","testKey","localStorage","setItem","removeItem","e","useClickCount","localStorageAvailable","clickCount","setClickCount","useState","clickString","getItem","clicks","JSON","parse","useEffect","undefined","stringify","useInCourseUpgradeModal","nextClick","countNextClick","shouldShowModalOnClick","isExperimentEnabledForOrg","org","OPTIMIZELY_MODAL_ROLLOUT_WHITELIST","getConfig","includes","useIsModalExperimentEnabled","courseId","verifiedMode","isStaff","useModel","enrollmentMode","enabledForOrg","console","info"],"sources":["../../src/upgrade-modal/hooks.js"],"sourcesContent":["/* eslint import/no-unresolved: 0 */\nimport { useState, useEffect } from 'react';\nimport { useModel } from '@src/generic/model-store';\nimport { getConfig } from '@edx/frontend-platform';\n\nconst CLICK_COUNT_KEY = 'VTR_IN_COURSE_MODAL_NEXT_CLICK_COUNT';\nconst SHOW_MODAL_CLICK_COUNT = 3;\n\nfunction isLocalStorageAvailable() {\n // A simple helper to check if localStorage is currently available\n const testKey = 'testKey';\n try {\n localStorage.setItem(testKey, testKey);\n localStorage.removeItem(testKey);\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction useClickCount() {\n /**\n * Hook that tracks the number of times that a user has clicked something\n * and stores that number in localStorage (if available)
|
|
1
|
+
{"version":3,"file":"hooks.js","names":["_react","require","_modelStore","_frontendPlatform","CLICK_COUNT_KEY","SHOW_MODAL_CLICK_COUNT","isLocalStorageAvailable","testKey","localStorage","setItem","removeItem","e","useClickCount","localStorageAvailable","clickCount","setClickCount","useState","clickString","getItem","clicks","JSON","parse","useEffect","undefined","stringify","useInCourseUpgradeModal","nextClick","countNextClick","shouldShowModalOnClick","isExperimentEnabledForOrg","org","OPTIMIZELY_MODAL_ROLLOUT_WHITELIST","getConfig","includes","useIsModalExperimentEnabled","courseId","verifiedMode","isStaff","useModel","enrollmentMode","enabledForOrg","console","info"],"sources":["../../src/upgrade-modal/hooks.js"],"sourcesContent":["/* eslint import/no-unresolved: 0 */\nimport { useState, useEffect } from 'react';\nimport { useModel } from '@src/generic/model-store';\nimport { getConfig } from '@edx/frontend-platform';\n\nconst CLICK_COUNT_KEY = 'VTR_IN_COURSE_MODAL_NEXT_CLICK_COUNT';\nconst SHOW_MODAL_CLICK_COUNT = 3;\n\nfunction isLocalStorageAvailable() {\n // A simple helper to check if localStorage is currently available\n const testKey = 'testKey';\n try {\n localStorage.setItem(testKey, testKey);\n localStorage.removeItem(testKey);\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction useClickCount() {\n /**\n * Hook that tracks the number of times that a user has clicked something\n * and stores that number in localStorage (if available)\n *\n * Returns: [clickCount, setClickCount]\n * - clickCount (int): The current count of clicks\n * - setClickCount (func): Function to update the number of clicks\n */\n const localStorageAvailable = isLocalStorageAvailable();\n const [clickCount, setClickCount] = useState(() => {\n if (!localStorageAvailable) { return 0; }\n const clickString = localStorage.getItem(CLICK_COUNT_KEY);\n const clicks = JSON.parse(clickString);\n return clicks || 0;\n });\n\n useEffect(() => {\n // When clickCount changes, this will update it in localStorage\n if (clickCount === undefined) { return; }\n if (!localStorageAvailable) { return; }\n localStorage.setItem(CLICK_COUNT_KEY, JSON.stringify(clickCount));\n }, [clickCount, localStorageAvailable]);\n\n return [clickCount, setClickCount];\n}\n\nfunction useInCourseUpgradeModal() {\n /**\n * Hook that wraps around useClickCount to handle the \"modal show\" logic\n */\n const [clickCount, setClickCount] = useClickCount();\n const nextClick = clickCount + 1;\n const countNextClick = () => { setClickCount(nextClick); };\n const shouldShowModalOnClick = nextClick % SHOW_MODAL_CLICK_COUNT === 0;\n return [shouldShowModalOnClick, countNextClick];\n}\n\nfunction isExperimentEnabledForOrg(org) {\n const { OPTIMIZELY_MODAL_ROLLOUT_WHITELIST } = getConfig();\n if (!OPTIMIZELY_MODAL_ROLLOUT_WHITELIST) { return false; }\n return OPTIMIZELY_MODAL_ROLLOUT_WHITELIST.includes(org);\n}\n\nfunction useIsModalExperimentEnabled(courseId) {\n /** The following must be true for the experiment to be activated:\n * - The user must be an audit learner\n * - The user must not be staff\n * - The course must have a verified mode\n * - (During rollout) The org must be whitelisted\n */\n const {\n verifiedMode,\n org,\n isStaff,\n } = useModel('courseHomeMeta', courseId);\n const { enrollmentMode } = useModel('coursewareMeta', courseId);\n const enabledForOrg = isExperimentEnabledForOrg(org);\n // eslint-disable-next-line no-console\n console.info({\n org, enabledForOrg, enrollmentMode, isStaff, verifiedMode,\n });\n return enrollmentMode === 'audit' && !!verifiedMode && !isStaff && enabledForOrg;\n}\n\nexport {\n useInCourseUpgradeModal,\n useIsModalExperimentEnabled,\n};\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@edx/frontend-plugin-advertisements",
|
|
3
|
-
"version": "1.24.
|
|
3
|
+
"version": "1.24.2",
|
|
4
4
|
"description": "Frontend plugin for edX in course advertisements",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"repository": {
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
},
|
|
57
57
|
"peerDependencies": {
|
|
58
58
|
"@edx/brand": "npm:@edx/brand-edx.org@^2.1.2",
|
|
59
|
-
"@edx/frontend-platform": "^7.1.
|
|
59
|
+
"@edx/frontend-platform": "^7.1.4",
|
|
60
60
|
"@fortawesome/fontawesome-svg-core": "1.3.0",
|
|
61
61
|
"@fortawesome/free-brands-svg-icons": "5.15.4",
|
|
62
62
|
"@fortawesome/free-regular-svg-icons": "5.15.4",
|