@redhat-cloud-services/chrome 0.0.5 → 0.0.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.
Files changed (39) hide show
  1. package/ChromeContext/ChromeContext.d.ts +4 -2
  2. package/ChromeContext/ChromeContext.js +3 -0
  3. package/ChromeContext/ChromeContext.js.map +1 -1
  4. package/ChromeProvider/ChromeProvider.js +13 -20
  5. package/ChromeProvider/ChromeProvider.js.map +1 -1
  6. package/ChromeProvider/chromeState.d.ts +11 -4
  7. package/ChromeProvider/chromeState.js +16 -0
  8. package/ChromeProvider/chromeState.js.map +1 -1
  9. package/ChromeProvider/index.d.ts +1 -1
  10. package/ChromeProvider/index.js.map +1 -1
  11. package/esm/ChromeContext/ChromeContext.js +3 -0
  12. package/esm/ChromeContext/ChromeContext.js.map +1 -1
  13. package/esm/ChromeProvider/ChromeProvider.js +14 -21
  14. package/esm/ChromeProvider/ChromeProvider.js.map +1 -1
  15. package/esm/ChromeProvider/chromeState.js +16 -0
  16. package/esm/ChromeProvider/chromeState.js.map +1 -1
  17. package/esm/ChromeProvider/index.js.map +1 -1
  18. package/esm/index.js +1 -0
  19. package/esm/index.js.map +1 -1
  20. package/esm/useVisitedBundles/index.js +3 -0
  21. package/esm/useVisitedBundles/index.js.map +1 -0
  22. package/esm/useVisitedBundles/useVisitedBundles.js +77 -0
  23. package/esm/useVisitedBundles/useVisitedBundles.js.map +1 -0
  24. package/esm/utils/fetch.js +2 -0
  25. package/esm/utils/fetch.js.map +1 -1
  26. package/index.d.ts +1 -0
  27. package/index.js +1 -0
  28. package/index.js.map +1 -1
  29. package/package.json +1 -2
  30. package/useVisitedBundles/index.d.ts +2 -0
  31. package/useVisitedBundles/index.js +11 -0
  32. package/useVisitedBundles/index.js.map +1 -0
  33. package/useVisitedBundles/package.json +1 -0
  34. package/useVisitedBundles/useVisitedBundles.d.ts +6 -0
  35. package/useVisitedBundles/useVisitedBundles.js +82 -0
  36. package/useVisitedBundles/useVisitedBundles.js.map +1 -0
  37. package/utils/fetch.d.ts +2 -0
  38. package/utils/fetch.js +3 -1
  39. package/utils/fetch.js.map +1 -1
@@ -1,10 +1,12 @@
1
1
  /// <reference types="react" />
2
2
  declare const ChromeContext: import("react").Context<{
3
- getState: () => import("../ChromeProvider/chromeState").ChromeContextState;
3
+ getState: () => import("../ChromeProvider/chromeState").UserIdentity;
4
4
  setLastVisited: (pages: import("../ChromeProvider/chromeState").LastVisitedPage[]) => void;
5
+ setIdentity: (userIdentity: import("../ChromeProvider/chromeState").UserIdentity) => void;
5
6
  setFavoritePages: (pages: import("../ChromeProvider/chromeState").FavoritePage[]) => void;
7
+ setVisitedBundles: (visitedBundles: import("../ChromeProvider/chromeState").VisitedBundles) => void;
6
8
  subscribe: (event: import("../ChromeProvider/chromeState").UpdateEvents, onUpdate: () => void) => number;
7
9
  unsubscribe: (id: number, event: import("../ChromeProvider/chromeState").UpdateEvents) => void;
8
- update: (event: import("../ChromeProvider/chromeState").UpdateEvents, attributes: Partial<import("../ChromeProvider/chromeState").ChromeContextState>) => void;
10
+ update: (event: import("../ChromeProvider/chromeState").UpdateEvents, attributes: Partial<import("../ChromeProvider/chromeState").UserIdentity>) => void;
9
11
  }>;
10
12
  export default ChromeContext;
@@ -7,10 +7,13 @@ var ChromeContext = (0, react_1.createContext)({
7
7
  setFavoritePages: function () { return undefined; },
8
8
  subscribe: function () { return 0; },
9
9
  unsubscribe: function () { return undefined; },
10
+ setIdentity: function () { return undefined; },
11
+ setVisitedBundles: function () { return undefined; },
10
12
  getState: function () { return ({
11
13
  lastVisitedPages: [],
12
14
  subscribtions: {},
13
15
  favoritePages: [],
16
+ visitedBundles: {},
14
17
  }); },
15
18
  });
16
19
  exports.default = ChromeContext;
@@ -1 +1 @@
1
- {"version":3,"file":"ChromeContext.js","sourceRoot":"","sources":["../src/ChromeContext/ChromeContext.ts"],"names":[],"mappings":";;AAAA,+BAAsC;AAGtC,IAAM,aAAa,GAAG,IAAA,qBAAa,EAAiC;IAClE,MAAM,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;IACvB,cAAc,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;IAC/B,gBAAgB,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;IACjC,SAAS,EAAE,cAAM,OAAA,CAAC,EAAD,CAAC;IAClB,WAAW,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;IAC5B,QAAQ,EAAE,cAAM,OAAA,CAAC;QACf,gBAAgB,EAAE,EAAE;QACpB,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,EAAE;KAClB,CAAC,EAJc,CAId;CACH,CAAC,CAAC;AAEH,kBAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"ChromeContext.js","sourceRoot":"","sources":["../src/ChromeContext/ChromeContext.ts"],"names":[],"mappings":";;AAAA,+BAAsC;AAGtC,IAAM,aAAa,GAAG,IAAA,qBAAa,EAAiC;IAClE,MAAM,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;IACvB,cAAc,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;IAC/B,gBAAgB,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;IACjC,SAAS,EAAE,cAAM,OAAA,CAAC,EAAD,CAAC;IAClB,WAAW,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;IAC5B,WAAW,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;IAC5B,iBAAiB,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;IAClC,QAAQ,EAAE,cAAM,OAAA,CAAC;QACf,gBAAgB,EAAE,EAAE;QACpB,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,EAAE;QACjB,cAAc,EAAE,EAAE;KACnB,CAAC,EALc,CAKd;CACH,CAAC,CAAC;AAEH,kBAAe,aAAa,CAAC"}
@@ -17,44 +17,37 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  var jsx_runtime_1 = require("react/jsx-runtime");
18
18
  var react_1 = require("react");
19
19
  var react_router_dom_1 = require("react-router-dom");
20
- var proxy_client_react_1 = require("@unleash/proxy-client-react");
21
20
  var ChromeContext_1 = require("../ChromeContext");
22
21
  var chromeState_1 = __importDefault(require("./chromeState"));
23
22
  var fetch_1 = require("../utils/fetch");
24
- var getLastVisited = function () { return (0, fetch_1.get)(fetch_1.LAST_VISITED_URL); };
25
- var getFavoritePages = function () { return (0, fetch_1.get)("".concat(fetch_1.FAVORITE_PAGE_URL, "?getAll=true")); };
26
- var useLastPageVisitedUploader = function (providerState, chromeBackendEnabled, bundle) {
23
+ var getUserIdentity = function () { return (0, fetch_1.get)(fetch_1.IDENTITY_URL); };
24
+ var useLastPageVisitedUploader = function (providerState, bundle) {
27
25
  if (bundle === void 0) { bundle = ''; }
28
26
  var pathname = (0, react_router_dom_1.useLocation)().pathname;
29
27
  (0, react_1.useEffect)(function () {
30
- if (chromeBackendEnabled) {
31
- (0, fetch_1.post)(fetch_1.LAST_VISITED_URL, {
32
- pathname: pathname,
33
- title: document.title,
34
- bundle: bundle,
35
- }).then(function (data) { return providerState.setLastVisited(data); });
36
- }
28
+ (0, fetch_1.post)(fetch_1.LAST_VISITED_URL, {
29
+ pathname: pathname,
30
+ title: document.title,
31
+ bundle: bundle,
32
+ }).then(function (data) { return providerState.setLastVisited(data); });
37
33
  }, [pathname]);
38
34
  };
39
35
  var ChromeProvider = function (_a) {
40
36
  var children = _a.children, bundle = _a.bundle;
41
- var chromeBackendEnabled = (0, proxy_client_react_1.useFlag)('platform.chrome.chrome-service');
42
37
  var isMounted = (0, react_1.useRef)(false);
43
38
  var _b = (0, react_1.useState)(false), initialRequest = _b[0], setInitialRequest = _b[1];
44
39
  var providerState = (0, react_1.useRef)();
45
40
  if (!providerState.current) {
46
41
  providerState.current = (0, chromeState_1.default)();
47
42
  }
48
- useLastPageVisitedUploader(providerState.current, chromeBackendEnabled, bundle);
43
+ useLastPageVisitedUploader(providerState.current, bundle);
49
44
  (0, react_1.useEffect)(function () {
50
45
  isMounted.current = true;
51
- if (chromeBackendEnabled && !initialRequest) {
52
- Promise.all([getLastVisited(), getFavoritePages()]).then(function (_a) {
53
- var _b, _c;
54
- var lastVisited = _a[0], favoritePages = _a[1];
46
+ if (!initialRequest) {
47
+ getUserIdentity().then(function (identity) {
48
+ var _a;
55
49
  if (isMounted.current) {
56
- (_b = providerState.current) === null || _b === void 0 ? void 0 : _b.setLastVisited(lastVisited);
57
- (_c = providerState.current) === null || _c === void 0 ? void 0 : _c.setFavoritePages(favoritePages);
50
+ (_a = providerState.current) === null || _a === void 0 ? void 0 : _a.setIdentity(identity);
58
51
  setInitialRequest(true);
59
52
  }
60
53
  });
@@ -62,7 +55,7 @@ var ChromeProvider = function (_a) {
62
55
  return function () {
63
56
  isMounted.current = false;
64
57
  };
65
- }, [chromeBackendEnabled]);
58
+ }, []);
66
59
  return (0, jsx_runtime_1.jsx)(ChromeContext_1.ChromeContext.Provider, __assign({ value: providerState.current }, { children: children }));
67
60
  };
68
61
  exports.default = ChromeProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"ChromeProvider.js","sourceRoot":"","sources":["../src/ChromeProvider/ChromeProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+BAA2D;AAC3D,qDAA+C;AAC/C,kEAAsD;AAEtD,kDAAiD;AACjD,8DAA2E;AAC3E,wCAAgF;AAEhF,IAAM,cAAc,GAAG,cAAM,OAAA,IAAA,WAAG,EAAoB,wBAAgB,CAAC,EAAxC,CAAwC,CAAC;AACtE,IAAM,gBAAgB,GAAG,cAAM,OAAA,IAAA,WAAG,EAAiB,UAAG,yBAAiB,iBAAc,CAAC,EAAvD,CAAuD,CAAC;AAEvF,IAAM,0BAA0B,GAAG,UAAC,aAA6C,EAAE,oBAA8B,EAAE,MAAW;IAAX,uBAAA,EAAA,WAAW;IACpH,IAAA,QAAQ,GAAK,IAAA,8BAAW,GAAE,SAAlB,CAAmB;IACnC,IAAA,iBAAS,EAAC;QACR,IAAI,oBAAoB,EAAE;YACxB,IAAA,YAAI,EAAyE,wBAAgB,EAAE;gBAC7F,QAAQ,UAAA;gBACR,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,MAAM,QAAA;aACP,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,EAAlC,CAAkC,CAAC,CAAC;SACvD;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC;AAEF,IAAM,cAAc,GAAkC,UAAC,EAAoB;QAAlB,QAAQ,cAAA,EAAE,MAAM,YAAA;IACvE,IAAM,oBAAoB,GAAG,IAAA,4BAAO,EAAC,gCAAgC,CAAC,CAAC;IACvE,IAAM,SAAS,GAAG,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC;IAC1B,IAAA,KAAsC,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAApD,cAAc,QAAA,EAAE,iBAAiB,QAAmB,CAAC;IAC5D,IAAM,aAAa,GAAG,IAAA,cAAM,GAAkC,CAAC;IAC/D,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;QAC1B,aAAa,CAAC,OAAO,GAAG,IAAA,qBAAW,GAAE,CAAC;KACvC;IAED,0BAA0B,CAAC,aAAa,CAAC,OAAO,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAC;IAEhF,IAAA,iBAAS,EAAC;QACR,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,IAAI,oBAAoB,IAAI,CAAC,cAAc,EAAE;YAC3C,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,EAA4B;;oBAA3B,WAAW,QAAA,EAAE,aAAa,QAAA;gBACnF,IAAI,SAAS,CAAC,OAAO,EAAE;oBACrB,MAAA,aAAa,CAAC,OAAO,0CAAE,cAAc,CAAC,WAAW,CAAC,CAAC;oBACnD,MAAA,aAAa,CAAC,OAAO,0CAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;oBACvD,iBAAiB,CAAC,IAAI,CAAC,CAAC;iBACzB;YACH,CAAC,CAAC,CAAC;SACJ;QACD,OAAO;YACL,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE3B,OAAO,uBAAC,6BAAa,CAAC,QAAQ,aAAC,KAAK,EAAE,aAAa,CAAC,OAAO,gBAAG,QAAQ,IAA0B,CAAC;AACnG,CAAC,CAAC;AAEF,kBAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"ChromeProvider.js","sourceRoot":"","sources":["../src/ChromeProvider/ChromeProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+BAA2D;AAC3D,qDAA+C;AAE/C,kDAAiD;AACjD,8DAA2E;AAC3E,wCAA2E;AAE3E,IAAM,eAAe,GAAG,cAAM,OAAA,IAAA,WAAG,EAAe,oBAAY,CAAC,EAA/B,CAA+B,CAAC;AAE9D,IAAM,0BAA0B,GAAG,UAAC,aAA6C,EAAE,MAAW;IAAX,uBAAA,EAAA,WAAW;IACpF,IAAA,QAAQ,GAAK,IAAA,8BAAW,GAAE,SAAlB,CAAmB;IACnC,IAAA,iBAAS,EAAC;QACR,IAAA,YAAI,EAAyE,wBAAgB,EAAE;YAC7F,QAAQ,UAAA;YACR,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,MAAM,QAAA;SACP,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,EAAlC,CAAkC,CAAC,CAAC;IACxD,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC;AAEF,IAAM,cAAc,GAAkC,UAAC,EAAoB;QAAlB,QAAQ,cAAA,EAAE,MAAM,YAAA;IACvE,IAAM,SAAS,GAAG,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC;IAC1B,IAAA,KAAsC,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAApD,cAAc,QAAA,EAAE,iBAAiB,QAAmB,CAAC;IAC5D,IAAM,aAAa,GAAG,IAAA,cAAM,GAAkC,CAAC;IAC/D,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;QAC1B,aAAa,CAAC,OAAO,GAAG,IAAA,qBAAW,GAAE,CAAC;KACvC;IAED,0BAA0B,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAE1D,IAAA,iBAAS,EAAC;QACR,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,cAAc,EAAE;YACnB,eAAe,EAAE,CAAC,IAAI,CAAC,UAAC,QAAQ;;gBAC9B,IAAI,SAAS,CAAC,OAAO,EAAE;oBACrB,MAAA,aAAa,CAAC,OAAO,0CAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;oBAC7C,iBAAiB,CAAC,IAAI,CAAC,CAAC;iBACzB;YACH,CAAC,CAAC,CAAC;SACJ;QACD,OAAO;YACL,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,uBAAC,6BAAa,CAAC,QAAQ,aAAC,KAAK,EAAE,aAAa,CAAC,OAAO,gBAAG,QAAQ,IAA0B,CAAC;AACnG,CAAC,CAAC;AAEF,kBAAe,cAAc,CAAC"}
@@ -7,20 +7,27 @@ export declare type LastVisitedPage = {
7
7
  title: string;
8
8
  bundle: string;
9
9
  };
10
- export declare type ChromeContextState = {
10
+ export declare type VisitedBundles = {
11
+ [bundle: string]: true;
12
+ };
13
+ export declare type UserIdentity = {
11
14
  lastVisitedPages: LastVisitedPage[];
12
15
  favoritePages: FavoritePage[];
16
+ visitedBundles: VisitedBundles;
13
17
  };
14
18
  export declare enum UpdateEvents {
15
19
  lastVisited = "lastVisited",
16
- favoritePages = "favoritePages"
20
+ favoritePages = "favoritePages",
21
+ visitedBundles = "visitedBundles"
17
22
  }
18
23
  declare const chromeState: () => {
19
- getState: () => ChromeContextState;
24
+ getState: () => UserIdentity;
20
25
  setLastVisited: (pages: LastVisitedPage[]) => void;
26
+ setIdentity: (userIdentity: UserIdentity) => void;
21
27
  setFavoritePages: (pages: FavoritePage[]) => void;
28
+ setVisitedBundles: (visitedBundles: VisitedBundles) => void;
22
29
  subscribe: (event: UpdateEvents, onUpdate: () => void) => number;
23
30
  unsubscribe: (id: number, event: UpdateEvents) => void;
24
- update: (event: UpdateEvents, attributes: Partial<ChromeContextState>) => void;
31
+ update: (event: UpdateEvents, attributes: Partial<UserIdentity>) => void;
25
32
  };
26
33
  export default chromeState;
@@ -16,15 +16,18 @@ var UpdateEvents;
16
16
  (function (UpdateEvents) {
17
17
  UpdateEvents["lastVisited"] = "lastVisited";
18
18
  UpdateEvents["favoritePages"] = "favoritePages";
19
+ UpdateEvents["visitedBundles"] = "visitedBundles";
19
20
  })(UpdateEvents = exports.UpdateEvents || (exports.UpdateEvents = {}));
20
21
  var chromeState = function () {
21
22
  var state = {
22
23
  lastVisitedPages: [],
23
24
  favoritePages: [],
25
+ visitedBundles: {},
24
26
  };
25
27
  var subscribtions = {
26
28
  lastVisited: [],
27
29
  favoritePages: [],
30
+ visitedBundles: [],
28
31
  };
29
32
  function subscribe(event, onUpdate) {
30
33
  var id = subscribtions[event].length;
@@ -57,13 +60,26 @@ var chromeState = function () {
57
60
  function setFavoritePages(pages) {
58
61
  update(UpdateEvents.favoritePages, { favoritePages: pages });
59
62
  }
63
+ function setVisitedBundles(visitedBundles) {
64
+ update(UpdateEvents.visitedBundles, { visitedBundles: visitedBundles });
65
+ }
60
66
  function getState() {
61
67
  return state;
62
68
  }
69
+ function setIdentity(userIdentity) {
70
+ state = userIdentity;
71
+ Object.values(subscribtions)
72
+ .flat()
73
+ .forEach(function (sub) {
74
+ sub.onUpdate();
75
+ });
76
+ }
63
77
  return {
64
78
  getState: getState,
65
79
  setLastVisited: setLastVisited,
80
+ setIdentity: setIdentity,
66
81
  setFavoritePages: setFavoritePages,
82
+ setVisitedBundles: setVisitedBundles,
67
83
  subscribe: subscribe,
68
84
  unsubscribe: unsubscribe,
69
85
  update: update,
@@ -1 +1 @@
1
- {"version":3,"file":"chromeState.js","sourceRoot":"","sources":["../src/ChromeProvider/chromeState.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAgBA,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,2CAA2B,CAAA;IAC3B,+CAA+B,CAAA;AACjC,CAAC,EAHW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAGvB;AAED,IAAM,WAAW,GAAG;IAClB,IAAI,KAAK,GAAuB;QAC9B,gBAAgB,EAAE,EAAE;QACpB,aAAa,EAAE,EAAE;KAClB,CAAC;IAGF,IAAM,aAAa,GAIf;QACF,WAAW,EAAE,EAAE;QACf,aAAa,EAAE,EAAE;KAClB,CAAC;IAGF,SAAS,SAAS,CAAC,KAAmB,EAAE,QAAoB;QAE1D,IAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;QAEvC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;QAExC,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IAGD,SAAS,WAAW,CAAC,EAAU,EAAE,KAAmB;QAClD,IAAI,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE;YACpC,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SACpC;aAAM;YACL,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;SACrE;IACH,CAAC;IAGD,SAAS,MAAM,CAAC,KAAmB,EAAE,UAAuC;QAC1E,KAAK,yBACA,KAAK,GACL,UAAU,CACd,CAAC;QACF,IAAM,mBAAmB,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;YACpC,OAAO;SACR;QAGD,mBAAmB,CAAC,OAAO,CAAC,UAAC,EAAY;gBAAV,QAAQ,cAAA;YACrC,QAAQ,EAAE,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,SAAS,cAAc,CAAC,KAAwB;QAC9C,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,SAAS,gBAAgB,CAAC,KAAqB;QAC7C,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,SAAS,QAAQ;QACf,OAAO,KAAK,CAAC;IACf,CAAC;IAGD,OAAO;QACL,QAAQ,UAAA;QACR,cAAc,gBAAA;QACd,gBAAgB,kBAAA;QAChB,SAAS,WAAA;QACT,WAAW,aAAA;QACX,MAAM,QAAA;KACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"chromeState.js","sourceRoot":"","sources":["../src/ChromeProvider/chromeState.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAmBA,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,2CAA2B,CAAA;IAC3B,+CAA+B,CAAA;IAC/B,iDAAiC,CAAA;AACnC,CAAC,EAJW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAIvB;AAED,IAAM,WAAW,GAAG;IAClB,IAAI,KAAK,GAAiB;QACxB,gBAAgB,EAAE,EAAE;QACpB,aAAa,EAAE,EAAE;QACjB,cAAc,EAAE,EAAE;KACnB,CAAC;IAGF,IAAM,aAAa,GAIf;QACF,WAAW,EAAE,EAAE;QACf,aAAa,EAAE,EAAE;QACjB,cAAc,EAAE,EAAE;KACnB,CAAC;IAGF,SAAS,SAAS,CAAC,KAAmB,EAAE,QAAoB;QAE1D,IAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;QAEvC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;QAExC,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IAGD,SAAS,WAAW,CAAC,EAAU,EAAE,KAAmB;QAClD,IAAI,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE;YACpC,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SACpC;aAAM;YACL,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;SACrE;IACH,CAAC;IAGD,SAAS,MAAM,CAAC,KAAmB,EAAE,UAAiC;QACpE,KAAK,yBACA,KAAK,GACL,UAAU,CACd,CAAC;QACF,IAAM,mBAAmB,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;YACpC,OAAO;SACR;QAGD,mBAAmB,CAAC,OAAO,CAAC,UAAC,EAAY;gBAAV,QAAQ,cAAA;YACrC,QAAQ,EAAE,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,SAAS,cAAc,CAAC,KAAwB;QAC9C,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,SAAS,gBAAgB,CAAC,KAAqB;QAC7C,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,SAAS,iBAAiB,CAAC,cAA8B;QACvD,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,cAAc,gBAAA,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,SAAS,QAAQ;QACf,OAAO,KAAK,CAAC;IACf,CAAC;IAGD,SAAS,WAAW,CAAC,YAA0B;QAC7C,KAAK,GAAG,YAAY,CAAC;QACrB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;aACzB,IAAI,EAAE;aACN,OAAO,CAAC,UAAC,GAAG;YACX,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;IAGD,OAAO;QACL,QAAQ,UAAA;QACR,cAAc,gBAAA;QACd,WAAW,aAAA;QACX,gBAAgB,kBAAA;QAChB,iBAAiB,mBAAA;QACjB,SAAS,WAAA;QACT,WAAW,aAAA;QACX,MAAM,QAAA;KACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,WAAW,CAAC"}
@@ -1,3 +1,3 @@
1
1
  export { default as ChromeProvider } from './ChromeProvider';
2
2
  export { default } from './ChromeProvider';
3
- export { ChromeContextState, UpdateEvents, LastVisitedPage, FavoritePage } from './chromeState';
3
+ export { UserIdentity, UpdateEvents, LastVisitedPage, FavoritePage, VisitedBundles } from './chromeState';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/ChromeProvider/index.ts"],"names":[],"mappings":";;;;;;AAAA,mDAA6D;AAApD,iIAAA,OAAO,OAAkB;AAClC,mDAA2C;AAAlC,0HAAA,OAAO,OAAA;AAChB,6CAAgG;AAAnE,2GAAA,YAAY,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/ChromeProvider/index.ts"],"names":[],"mappings":";;;;;;AAAA,mDAA6D;AAApD,iIAAA,OAAO,OAAkB;AAClC,mDAA2C;AAAlC,0HAAA,OAAO,OAAA;AAChB,6CAA0G;AAAnF,2GAAA,YAAY,OAAA"}
@@ -5,10 +5,13 @@ var ChromeContext = createContext({
5
5
  setFavoritePages: function () { return undefined; },
6
6
  subscribe: function () { return 0; },
7
7
  unsubscribe: function () { return undefined; },
8
+ setIdentity: function () { return undefined; },
9
+ setVisitedBundles: function () { return undefined; },
8
10
  getState: function () { return ({
9
11
  lastVisitedPages: [],
10
12
  subscribtions: {},
11
13
  favoritePages: [],
14
+ visitedBundles: {},
12
15
  }); },
13
16
  });
14
17
  export default ChromeContext;
@@ -1 +1 @@
1
- {"version":3,"file":"ChromeContext.js","sourceRoot":"","sources":["../../src/ChromeContext/ChromeContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,IAAM,aAAa,GAAG,aAAa,CAAiC;IAClE,MAAM,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;IACvB,cAAc,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;IAC/B,gBAAgB,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;IACjC,SAAS,EAAE,cAAM,OAAA,CAAC,EAAD,CAAC;IAClB,WAAW,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;IAC5B,QAAQ,EAAE,cAAM,OAAA,CAAC;QACf,gBAAgB,EAAE,EAAE;QACpB,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,EAAE;KAClB,CAAC,EAJc,CAId;CACH,CAAC,CAAC;AAEH,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"ChromeContext.js","sourceRoot":"","sources":["../../src/ChromeContext/ChromeContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,IAAM,aAAa,GAAG,aAAa,CAAiC;IAClE,MAAM,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;IACvB,cAAc,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;IAC/B,gBAAgB,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;IACjC,SAAS,EAAE,cAAM,OAAA,CAAC,EAAD,CAAC;IAClB,WAAW,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;IAC5B,WAAW,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;IAC5B,iBAAiB,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;IAClC,QAAQ,EAAE,cAAM,OAAA,CAAC;QACf,gBAAgB,EAAE,EAAE;QACpB,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,EAAE;QACjB,cAAc,EAAE,EAAE;KACnB,CAAC,EALc,CAKd;CACH,CAAC,CAAC;AAEH,eAAe,aAAa,CAAC"}
@@ -12,44 +12,37 @@ var __assign = (this && this.__assign) || function () {
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  import { useEffect, useRef, useState } from 'react';
14
14
  import { useLocation } from 'react-router-dom';
15
- import { useFlag } from '@unleash/proxy-client-react';
16
15
  import { ChromeContext } from '../ChromeContext';
17
16
  import chromeState from './chromeState';
18
- import { FAVORITE_PAGE_URL, LAST_VISITED_URL, get, post } from '../utils/fetch';
19
- var getLastVisited = function () { return get(LAST_VISITED_URL); };
20
- var getFavoritePages = function () { return get("".concat(FAVORITE_PAGE_URL, "?getAll=true")); };
21
- var useLastPageVisitedUploader = function (providerState, chromeBackendEnabled, bundle) {
17
+ import { IDENTITY_URL, LAST_VISITED_URL, get, post } from '../utils/fetch';
18
+ var getUserIdentity = function () { return get(IDENTITY_URL); };
19
+ var useLastPageVisitedUploader = function (providerState, bundle) {
22
20
  if (bundle === void 0) { bundle = ''; }
23
21
  var pathname = useLocation().pathname;
24
22
  useEffect(function () {
25
- if (chromeBackendEnabled) {
26
- post(LAST_VISITED_URL, {
27
- pathname: pathname,
28
- title: document.title,
29
- bundle: bundle,
30
- }).then(function (data) { return providerState.setLastVisited(data); });
31
- }
23
+ post(LAST_VISITED_URL, {
24
+ pathname: pathname,
25
+ title: document.title,
26
+ bundle: bundle,
27
+ }).then(function (data) { return providerState.setLastVisited(data); });
32
28
  }, [pathname]);
33
29
  };
34
30
  var ChromeProvider = function (_a) {
35
31
  var children = _a.children, bundle = _a.bundle;
36
- var chromeBackendEnabled = useFlag('platform.chrome.chrome-service');
37
32
  var isMounted = useRef(false);
38
33
  var _b = useState(false), initialRequest = _b[0], setInitialRequest = _b[1];
39
34
  var providerState = useRef();
40
35
  if (!providerState.current) {
41
36
  providerState.current = chromeState();
42
37
  }
43
- useLastPageVisitedUploader(providerState.current, chromeBackendEnabled, bundle);
38
+ useLastPageVisitedUploader(providerState.current, bundle);
44
39
  useEffect(function () {
45
40
  isMounted.current = true;
46
- if (chromeBackendEnabled && !initialRequest) {
47
- Promise.all([getLastVisited(), getFavoritePages()]).then(function (_a) {
48
- var _b, _c;
49
- var lastVisited = _a[0], favoritePages = _a[1];
41
+ if (!initialRequest) {
42
+ getUserIdentity().then(function (identity) {
43
+ var _a;
50
44
  if (isMounted.current) {
51
- (_b = providerState.current) === null || _b === void 0 ? void 0 : _b.setLastVisited(lastVisited);
52
- (_c = providerState.current) === null || _c === void 0 ? void 0 : _c.setFavoritePages(favoritePages);
45
+ (_a = providerState.current) === null || _a === void 0 ? void 0 : _a.setIdentity(identity);
53
46
  setInitialRequest(true);
54
47
  }
55
48
  });
@@ -57,7 +50,7 @@ var ChromeProvider = function (_a) {
57
50
  return function () {
58
51
  isMounted.current = false;
59
52
  };
60
- }, [chromeBackendEnabled]);
53
+ }, []);
61
54
  return _jsx(ChromeContext.Provider, __assign({ value: providerState.current }, { children: children }));
62
55
  };
63
56
  export default ChromeProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"ChromeProvider.js","sourceRoot":"","sources":["../../src/ChromeProvider/ChromeProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,WAA8C,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEhF,IAAM,cAAc,GAAG,cAAM,OAAA,GAAG,CAAoB,gBAAgB,CAAC,EAAxC,CAAwC,CAAC;AACtE,IAAM,gBAAgB,GAAG,cAAM,OAAA,GAAG,CAAiB,UAAG,iBAAiB,iBAAc,CAAC,EAAvD,CAAuD,CAAC;AAEvF,IAAM,0BAA0B,GAAG,UAAC,aAA6C,EAAE,oBAA8B,EAAE,MAAW;IAAX,uBAAA,EAAA,WAAW;IACpH,IAAA,QAAQ,GAAK,WAAW,EAAE,SAAlB,CAAmB;IACnC,SAAS,CAAC;QACR,IAAI,oBAAoB,EAAE;YACxB,IAAI,CAAyE,gBAAgB,EAAE;gBAC7F,QAAQ,UAAA;gBACR,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,MAAM,QAAA;aACP,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,EAAlC,CAAkC,CAAC,CAAC;SACvD;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC;AAEF,IAAM,cAAc,GAAkC,UAAC,EAAoB;QAAlB,QAAQ,cAAA,EAAE,MAAM,YAAA;IACvE,IAAM,oBAAoB,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAAC;IACvE,IAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAA,KAAsC,QAAQ,CAAC,KAAK,CAAC,EAApD,cAAc,QAAA,EAAE,iBAAiB,QAAmB,CAAC;IAC5D,IAAM,aAAa,GAAG,MAAM,EAAkC,CAAC;IAC/D,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;QAC1B,aAAa,CAAC,OAAO,GAAG,WAAW,EAAE,CAAC;KACvC;IAED,0BAA0B,CAAC,aAAa,CAAC,OAAO,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAC;IAEhF,SAAS,CAAC;QACR,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,IAAI,oBAAoB,IAAI,CAAC,cAAc,EAAE;YAC3C,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,EAA4B;;oBAA3B,WAAW,QAAA,EAAE,aAAa,QAAA;gBACnF,IAAI,SAAS,CAAC,OAAO,EAAE;oBACrB,MAAA,aAAa,CAAC,OAAO,0CAAE,cAAc,CAAC,WAAW,CAAC,CAAC;oBACnD,MAAA,aAAa,CAAC,OAAO,0CAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;oBACvD,iBAAiB,CAAC,IAAI,CAAC,CAAC;iBACzB;YACH,CAAC,CAAC,CAAC;SACJ;QACD,OAAO;YACL,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE3B,OAAO,KAAC,aAAa,CAAC,QAAQ,aAAC,KAAK,EAAE,aAAa,CAAC,OAAO,gBAAG,QAAQ,IAA0B,CAAC;AACnG,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"ChromeProvider.js","sourceRoot":"","sources":["../../src/ChromeProvider/ChromeProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,WAA8C,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE3E,IAAM,eAAe,GAAG,cAAM,OAAA,GAAG,CAAe,YAAY,CAAC,EAA/B,CAA+B,CAAC;AAE9D,IAAM,0BAA0B,GAAG,UAAC,aAA6C,EAAE,MAAW;IAAX,uBAAA,EAAA,WAAW;IACpF,IAAA,QAAQ,GAAK,WAAW,EAAE,SAAlB,CAAmB;IACnC,SAAS,CAAC;QACR,IAAI,CAAyE,gBAAgB,EAAE;YAC7F,QAAQ,UAAA;YACR,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,MAAM,QAAA;SACP,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,EAAlC,CAAkC,CAAC,CAAC;IACxD,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC;AAEF,IAAM,cAAc,GAAkC,UAAC,EAAoB;QAAlB,QAAQ,cAAA,EAAE,MAAM,YAAA;IACvE,IAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAA,KAAsC,QAAQ,CAAC,KAAK,CAAC,EAApD,cAAc,QAAA,EAAE,iBAAiB,QAAmB,CAAC;IAC5D,IAAM,aAAa,GAAG,MAAM,EAAkC,CAAC;IAC/D,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;QAC1B,aAAa,CAAC,OAAO,GAAG,WAAW,EAAE,CAAC;KACvC;IAED,0BAA0B,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAE1D,SAAS,CAAC;QACR,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,cAAc,EAAE;YACnB,eAAe,EAAE,CAAC,IAAI,CAAC,UAAC,QAAQ;;gBAC9B,IAAI,SAAS,CAAC,OAAO,EAAE;oBACrB,MAAA,aAAa,CAAC,OAAO,0CAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;oBAC7C,iBAAiB,CAAC,IAAI,CAAC,CAAC;iBACzB;YACH,CAAC,CAAC,CAAC;SACJ;QACD,OAAO;YACL,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,KAAC,aAAa,CAAC,QAAQ,aAAC,KAAK,EAAE,aAAa,CAAC,OAAO,gBAAG,QAAQ,IAA0B,CAAC;AACnG,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -13,15 +13,18 @@ export var UpdateEvents;
13
13
  (function (UpdateEvents) {
14
14
  UpdateEvents["lastVisited"] = "lastVisited";
15
15
  UpdateEvents["favoritePages"] = "favoritePages";
16
+ UpdateEvents["visitedBundles"] = "visitedBundles";
16
17
  })(UpdateEvents || (UpdateEvents = {}));
17
18
  var chromeState = function () {
18
19
  var state = {
19
20
  lastVisitedPages: [],
20
21
  favoritePages: [],
22
+ visitedBundles: {},
21
23
  };
22
24
  var subscribtions = {
23
25
  lastVisited: [],
24
26
  favoritePages: [],
27
+ visitedBundles: [],
25
28
  };
26
29
  function subscribe(event, onUpdate) {
27
30
  var id = subscribtions[event].length;
@@ -54,13 +57,26 @@ var chromeState = function () {
54
57
  function setFavoritePages(pages) {
55
58
  update(UpdateEvents.favoritePages, { favoritePages: pages });
56
59
  }
60
+ function setVisitedBundles(visitedBundles) {
61
+ update(UpdateEvents.visitedBundles, { visitedBundles: visitedBundles });
62
+ }
57
63
  function getState() {
58
64
  return state;
59
65
  }
66
+ function setIdentity(userIdentity) {
67
+ state = userIdentity;
68
+ Object.values(subscribtions)
69
+ .flat()
70
+ .forEach(function (sub) {
71
+ sub.onUpdate();
72
+ });
73
+ }
60
74
  return {
61
75
  getState: getState,
62
76
  setLastVisited: setLastVisited,
77
+ setIdentity: setIdentity,
63
78
  setFavoritePages: setFavoritePages,
79
+ setVisitedBundles: setVisitedBundles,
64
80
  subscribe: subscribe,
65
81
  unsubscribe: unsubscribe,
66
82
  update: update,
@@ -1 +1 @@
1
- {"version":3,"file":"chromeState.js","sourceRoot":"","sources":["../../src/ChromeProvider/chromeState.ts"],"names":[],"mappings":";;;;;;;;;;;AAgBA,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,2CAA2B,CAAA;IAC3B,+CAA+B,CAAA;AACjC,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAED,IAAM,WAAW,GAAG;IAClB,IAAI,KAAK,GAAuB;QAC9B,gBAAgB,EAAE,EAAE;QACpB,aAAa,EAAE,EAAE;KAClB,CAAC;IAGF,IAAM,aAAa,GAIf;QACF,WAAW,EAAE,EAAE;QACf,aAAa,EAAE,EAAE;KAClB,CAAC;IAGF,SAAS,SAAS,CAAC,KAAmB,EAAE,QAAoB;QAE1D,IAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;QAEvC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;QAExC,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IAGD,SAAS,WAAW,CAAC,EAAU,EAAE,KAAmB;QAClD,IAAI,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE;YACpC,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SACpC;aAAM;YACL,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;SACrE;IACH,CAAC;IAGD,SAAS,MAAM,CAAC,KAAmB,EAAE,UAAuC;QAC1E,KAAK,yBACA,KAAK,GACL,UAAU,CACd,CAAC;QACF,IAAM,mBAAmB,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;YACpC,OAAO;SACR;QAGD,mBAAmB,CAAC,OAAO,CAAC,UAAC,EAAY;gBAAV,QAAQ,cAAA;YACrC,QAAQ,EAAE,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,SAAS,cAAc,CAAC,KAAwB;QAC9C,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,SAAS,gBAAgB,CAAC,KAAqB;QAC7C,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,SAAS,QAAQ;QACf,OAAO,KAAK,CAAC;IACf,CAAC;IAGD,OAAO;QACL,QAAQ,UAAA;QACR,cAAc,gBAAA;QACd,gBAAgB,kBAAA;QAChB,SAAS,WAAA;QACT,WAAW,aAAA;QACX,MAAM,QAAA;KACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"chromeState.js","sourceRoot":"","sources":["../../src/ChromeProvider/chromeState.ts"],"names":[],"mappings":";;;;;;;;;;;AAmBA,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,2CAA2B,CAAA;IAC3B,+CAA+B,CAAA;IAC/B,iDAAiC,CAAA;AACnC,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AAED,IAAM,WAAW,GAAG;IAClB,IAAI,KAAK,GAAiB;QACxB,gBAAgB,EAAE,EAAE;QACpB,aAAa,EAAE,EAAE;QACjB,cAAc,EAAE,EAAE;KACnB,CAAC;IAGF,IAAM,aAAa,GAIf;QACF,WAAW,EAAE,EAAE;QACf,aAAa,EAAE,EAAE;QACjB,cAAc,EAAE,EAAE;KACnB,CAAC;IAGF,SAAS,SAAS,CAAC,KAAmB,EAAE,QAAoB;QAE1D,IAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;QAEvC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;QAExC,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IAGD,SAAS,WAAW,CAAC,EAAU,EAAE,KAAmB;QAClD,IAAI,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE;YACpC,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SACpC;aAAM;YACL,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;SACrE;IACH,CAAC;IAGD,SAAS,MAAM,CAAC,KAAmB,EAAE,UAAiC;QACpE,KAAK,yBACA,KAAK,GACL,UAAU,CACd,CAAC;QACF,IAAM,mBAAmB,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;YACpC,OAAO;SACR;QAGD,mBAAmB,CAAC,OAAO,CAAC,UAAC,EAAY;gBAAV,QAAQ,cAAA;YACrC,QAAQ,EAAE,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,SAAS,cAAc,CAAC,KAAwB;QAC9C,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,SAAS,gBAAgB,CAAC,KAAqB;QAC7C,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,SAAS,iBAAiB,CAAC,cAA8B;QACvD,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,cAAc,gBAAA,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,SAAS,QAAQ;QACf,OAAO,KAAK,CAAC;IACf,CAAC;IAGD,SAAS,WAAW,CAAC,YAA0B;QAC7C,KAAK,GAAG,YAAY,CAAC;QACrB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;aACzB,IAAI,EAAE;aACN,OAAO,CAAC,UAAC,GAAG;YACX,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;IAGD,OAAO;QACL,QAAQ,UAAA;QACR,cAAc,gBAAA;QACd,WAAW,aAAA;QACX,gBAAgB,kBAAA;QAChB,iBAAiB,mBAAA;QACjB,SAAS,WAAA;QACT,WAAW,aAAA;QACX,MAAM,QAAA;KACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ChromeProvider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAsB,YAAY,EAAiC,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ChromeProvider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAgB,YAAY,EAAiD,MAAM,eAAe,CAAC"}
package/esm/index.js CHANGED
@@ -2,4 +2,5 @@ export * from './ChromeProvider';
2
2
  export * from './ChromeContext';
3
3
  export * from './useLastVisited';
4
4
  export * from './useFavoritePages';
5
+ export * from './useVisitedBundles';
5
6
  //# sourceMappingURL=index.js.map
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { default } from './useVisitedBundles';
2
+ export { default as useVisitedBundles } from './useVisitedBundles';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/useVisitedBundles/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,77 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (_) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ import { useContext, useEffect, useReducer } from 'react';
38
+ import { UpdateEvents } from '../ChromeProvider';
39
+ import { VISITED_BUNDLES_URL, post } from '../utils/fetch';
40
+ import ChromeContext from '../ChromeContext/ChromeContext';
41
+ function handleMarkVisited(bundle) {
42
+ return post(VISITED_BUNDLES_URL, {
43
+ bundle: bundle,
44
+ });
45
+ }
46
+ var useVisitedBundles = function () {
47
+ var _a = useContext(ChromeContext), subscribe = _a.subscribe, unsubscribe = _a.unsubscribe, getState = _a.getState, setVisitedBundles = _a.setVisitedBundles;
48
+ var _b = useReducer(function (count) { return count + 1; }, 0), forceRender = _b[1];
49
+ function markVisited(bundle) {
50
+ var _a;
51
+ return __awaiter(this, void 0, void 0, function () {
52
+ var shouldMarkVisited, updatedUser;
53
+ return __generator(this, function (_b) {
54
+ switch (_b.label) {
55
+ case 0:
56
+ shouldMarkVisited = !((_a = getState().visitedBundles) === null || _a === void 0 ? void 0 : _a[bundle]);
57
+ if (!shouldMarkVisited) return [3, 2];
58
+ return [4, handleMarkVisited(bundle)];
59
+ case 1:
60
+ updatedUser = _b.sent();
61
+ setVisitedBundles(updatedUser.visitedBundles);
62
+ return [2, updatedUser.visitedBundles];
63
+ case 2: return [2, getState().visitedBundles];
64
+ }
65
+ });
66
+ });
67
+ }
68
+ useEffect(function () {
69
+ var subsId = subscribe(UpdateEvents.visitedBundles, forceRender);
70
+ return function () {
71
+ unsubscribe(subsId, UpdateEvents.visitedBundles);
72
+ };
73
+ }, []);
74
+ return { visitedBundles: getState().visitedBundles, markVisited: markVisited };
75
+ };
76
+ export default useVisitedBundles;
77
+ //# sourceMappingURL=useVisitedBundles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVisitedBundles.js","sourceRoot":"","sources":["../../src/useVisitedBundles/useVisitedBundles.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,aAAa,MAAM,gCAAgC,CAAC;AAE3D,SAAS,iBAAiB,CAAC,MAAc;IACvC,OAAO,IAAI,CAAmC,mBAAmB,EAAE;QACjE,MAAM,QAAA;KACP,CAAC,CAAC;AACL,CAAC;AAED,IAAM,iBAAiB,GAAG;IAClB,IAAA,KAA0D,UAAU,CAAC,aAAa,CAAC,EAAjF,SAAS,eAAA,EAAE,WAAW,iBAAA,EAAE,QAAQ,cAAA,EAAE,iBAAiB,uBAA8B,CAAC;IACpF,IAAA,KAAkB,UAAU,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,GAAG,CAAC,EAAT,CAAS,EAAE,CAAC,CAAC,EAAlD,WAAW,QAAuC,CAAC;IAE5D,SAAe,WAAW,CAAC,MAAc;;;;;;;wBACjC,iBAAiB,GAAG,CAAC,CAAA,MAAA,QAAQ,EAAE,CAAC,cAAc,0CAAG,MAAM,CAAC,CAAA,CAAC;6BAC3D,iBAAiB,EAAjB,cAAiB;wBACC,WAAM,iBAAiB,CAAC,MAAM,CAAC,EAAA;;wBAA7C,WAAW,GAAG,SAA+B;wBACnD,iBAAiB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;wBAC9C,WAAO,WAAW,CAAC,cAAc,EAAC;4BAGpC,WAAO,QAAQ,EAAE,CAAC,cAAc,EAAC;;;;KAClC;IAED,SAAS,CAAC;QACR,IAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QACnE,OAAO;YACL,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;QACnD,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,cAAc,EAAE,WAAW,aAAA,EAAE,CAAC;AACpE,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -12,6 +12,8 @@ var __assign = (this && this.__assign) || function () {
12
12
  export var API_BASE = '/api/chrome-service/v1';
13
13
  export var LAST_VISITED_URL = "".concat(API_BASE, "/last-visited");
14
14
  export var FAVORITE_PAGE_URL = "".concat(API_BASE, "/favorite-pages");
15
+ export var IDENTITY_URL = "".concat(API_BASE, "/user");
16
+ export var VISITED_BUNDLES_URL = "".concat(API_BASE, "/user/visited-bundles");
15
17
  export function get(url, options) {
16
18
  return fetch(url, __assign(__assign({}, options), { method: 'GET' }))
17
19
  .then(function (res) { return res.json(); })
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/utils/fetch.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,MAAM,CAAC,IAAM,QAAQ,GAAG,wBAAwB,CAAC;AACjD,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAAG,QAAQ,kBAAe,CAAC;AAC3D,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAG,QAAQ,oBAAiB,CAAC;AAE9D,MAAM,UAAU,GAAG,CAAI,GAAgB,EAAE,OAAqB;IAC5D,OAAO,KAAK,CAAC,GAAG,wBAAO,OAAO,KAAE,MAAM,EAAE,KAAK,IAAG;SAC7C,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,EAAE,EAAV,CAAU,CAAC;SACzB,IAAI,CAAC,UAAC,EAAqB;YAAnB,IAAI,UAAA;QAAoB,OAAA,IAAI;IAAJ,CAAI,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,IAAI,CAAyD,GAAgB,EAAE,IAAO,EAAE,OAAmC;IACzI,OAAO,KAAK,CAAC,GAAG,sBACd,WAAW,EAAE,SAAS,IACnB,OAAO,KACV,OAAO,wBACF,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KACnB,cAAc,EAAE,kBAAkB,KAEpC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAC1B;SACC,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,EAAE,EAAV,CAAU,CAAC;SACzB,IAAI,CAAI,UAAC,EAAQ;YAAN,IAAI,UAAA;QAAO,OAAA,IAAI;IAAJ,CAAI,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/utils/fetch.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,MAAM,CAAC,IAAM,QAAQ,GAAG,wBAAwB,CAAC;AACjD,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAAG,QAAQ,kBAAe,CAAC;AAC3D,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAG,QAAQ,oBAAiB,CAAC;AAC9D,MAAM,CAAC,IAAM,YAAY,GAAG,UAAG,QAAQ,UAAO,CAAC;AAC/C,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAG,QAAQ,0BAAuB,CAAC;AAEtE,MAAM,UAAU,GAAG,CAAI,GAAgB,EAAE,OAAqB;IAC5D,OAAO,KAAK,CAAC,GAAG,wBAAO,OAAO,KAAE,MAAM,EAAE,KAAK,IAAG;SAC7C,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,EAAE,EAAV,CAAU,CAAC;SACzB,IAAI,CAAC,UAAC,EAAqB;YAAnB,IAAI,UAAA;QAAoB,OAAA,IAAI;IAAJ,CAAI,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,IAAI,CAAyD,GAAgB,EAAE,IAAO,EAAE,OAAmC;IACzI,OAAO,KAAK,CAAC,GAAG,sBACd,WAAW,EAAE,SAAS,IACnB,OAAO,KACV,OAAO,wBACF,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KACnB,cAAc,EAAE,kBAAkB,KAEpC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAC1B;SACC,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,EAAE,EAAV,CAAU,CAAC;SACzB,IAAI,CAAI,UAAC,EAAQ;YAAN,IAAI,UAAA;QAAO,OAAA,IAAI;IAAJ,CAAI,CAAC,CAAC;AACjC,CAAC"}
package/index.d.ts CHANGED
@@ -2,3 +2,4 @@ export * from './ChromeProvider';
2
2
  export * from './ChromeContext';
3
3
  export * from './useLastVisited';
4
4
  export * from './useFavoritePages';
5
+ export * from './useVisitedBundles';
package/index.js CHANGED
@@ -18,4 +18,5 @@ __exportStar(require("./ChromeProvider"), exports);
18
18
  __exportStar(require("./ChromeContext"), exports);
19
19
  __exportStar(require("./useLastVisited"), exports);
20
20
  __exportStar(require("./useFavoritePages"), exports);
21
+ __exportStar(require("./useVisitedBundles"), exports);
21
22
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,kDAAgC;AAChC,mDAAiC;AACjC,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,kDAAgC;AAChC,mDAAiC;AACjC,qDAAmC;AACnC,sDAAoC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redhat-cloud-services/chrome",
3
- "version": "0.0.5",
3
+ "version": "0.0.6",
4
4
  "description": "Chrome functions for RedHat Hybrid cloud console.",
5
5
  "main": "index.js",
6
6
  "typings": "index.d.ts",
@@ -26,7 +26,6 @@
26
26
  },
27
27
  "homepage": "https://github.com/RedHatInsights/frontend-components/tree/master/packages/chrome#readme",
28
28
  "peerDependencies": {
29
- "@unleash/proxy-client-react": "^3.5.0",
30
29
  "react-router-dom": "^5.0.0 || ^6.0.0"
31
30
  },
32
31
  "dependencies": {
@@ -0,0 +1,2 @@
1
+ export { default } from './useVisitedBundles';
2
+ export { default as useVisitedBundles } from './useVisitedBundles';
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.useVisitedBundles = exports.default = void 0;
7
+ var useVisitedBundles_1 = require("./useVisitedBundles");
8
+ Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(useVisitedBundles_1).default; } });
9
+ var useVisitedBundles_2 = require("./useVisitedBundles");
10
+ Object.defineProperty(exports, "useVisitedBundles", { enumerable: true, get: function () { return __importDefault(useVisitedBundles_2).default; } });
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/useVisitedBundles/index.ts"],"names":[],"mappings":";;;;;;AAAA,yDAA8C;AAArC,6HAAA,OAAO,OAAA;AAChB,yDAAmE;AAA1D,uIAAA,OAAO,OAAqB"}
@@ -0,0 +1 @@
1
+ {"main":"index.js","module":"../esm/useVisitedBundles/index.js","typings":"index.d.ts"}
@@ -0,0 +1,6 @@
1
+ import { VisitedBundles } from '../ChromeProvider/chromeState';
2
+ declare const useVisitedBundles: () => {
3
+ visitedBundles: VisitedBundles;
4
+ markVisited: (bundle: string) => Promise<VisitedBundles>;
5
+ };
6
+ export default useVisitedBundles;
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ var react_1 = require("react");
43
+ var ChromeProvider_1 = require("../ChromeProvider");
44
+ var fetch_1 = require("../utils/fetch");
45
+ var ChromeContext_1 = __importDefault(require("../ChromeContext/ChromeContext"));
46
+ function handleMarkVisited(bundle) {
47
+ return (0, fetch_1.post)(fetch_1.VISITED_BUNDLES_URL, {
48
+ bundle: bundle,
49
+ });
50
+ }
51
+ var useVisitedBundles = function () {
52
+ var _a = (0, react_1.useContext)(ChromeContext_1.default), subscribe = _a.subscribe, unsubscribe = _a.unsubscribe, getState = _a.getState, setVisitedBundles = _a.setVisitedBundles;
53
+ var _b = (0, react_1.useReducer)(function (count) { return count + 1; }, 0), forceRender = _b[1];
54
+ function markVisited(bundle) {
55
+ var _a;
56
+ return __awaiter(this, void 0, void 0, function () {
57
+ var shouldMarkVisited, updatedUser;
58
+ return __generator(this, function (_b) {
59
+ switch (_b.label) {
60
+ case 0:
61
+ shouldMarkVisited = !((_a = getState().visitedBundles) === null || _a === void 0 ? void 0 : _a[bundle]);
62
+ if (!shouldMarkVisited) return [3, 2];
63
+ return [4, handleMarkVisited(bundle)];
64
+ case 1:
65
+ updatedUser = _b.sent();
66
+ setVisitedBundles(updatedUser.visitedBundles);
67
+ return [2, updatedUser.visitedBundles];
68
+ case 2: return [2, getState().visitedBundles];
69
+ }
70
+ });
71
+ });
72
+ }
73
+ (0, react_1.useEffect)(function () {
74
+ var subsId = subscribe(ChromeProvider_1.UpdateEvents.visitedBundles, forceRender);
75
+ return function () {
76
+ unsubscribe(subsId, ChromeProvider_1.UpdateEvents.visitedBundles);
77
+ };
78
+ }, []);
79
+ return { visitedBundles: getState().visitedBundles, markVisited: markVisited };
80
+ };
81
+ exports.default = useVisitedBundles;
82
+ //# sourceMappingURL=useVisitedBundles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVisitedBundles.js","sourceRoot":"","sources":["../src/useVisitedBundles/useVisitedBundles.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA0D;AAC1D,oDAAiD;AAEjD,wCAA2D;AAC3D,iFAA2D;AAE3D,SAAS,iBAAiB,CAAC,MAAc;IACvC,OAAO,IAAA,YAAI,EAAmC,2BAAmB,EAAE;QACjE,MAAM,QAAA;KACP,CAAC,CAAC;AACL,CAAC;AAED,IAAM,iBAAiB,GAAG;IAClB,IAAA,KAA0D,IAAA,kBAAU,EAAC,uBAAa,CAAC,EAAjF,SAAS,eAAA,EAAE,WAAW,iBAAA,EAAE,QAAQ,cAAA,EAAE,iBAAiB,uBAA8B,CAAC;IACpF,IAAA,KAAkB,IAAA,kBAAU,EAAC,UAAC,KAAK,IAAK,OAAA,KAAK,GAAG,CAAC,EAAT,CAAS,EAAE,CAAC,CAAC,EAAlD,WAAW,QAAuC,CAAC;IAE5D,SAAe,WAAW,CAAC,MAAc;;;;;;;wBACjC,iBAAiB,GAAG,CAAC,CAAA,MAAA,QAAQ,EAAE,CAAC,cAAc,0CAAG,MAAM,CAAC,CAAA,CAAC;6BAC3D,iBAAiB,EAAjB,cAAiB;wBACC,WAAM,iBAAiB,CAAC,MAAM,CAAC,EAAA;;wBAA7C,WAAW,GAAG,SAA+B;wBACnD,iBAAiB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;wBAC9C,WAAO,WAAW,CAAC,cAAc,EAAC;4BAGpC,WAAO,QAAQ,EAAE,CAAC,cAAc,EAAC;;;;KAClC;IAED,IAAA,iBAAS,EAAC;QACR,IAAM,MAAM,GAAG,SAAS,CAAC,6BAAY,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QACnE,OAAO;YACL,WAAW,CAAC,MAAM,EAAE,6BAAY,CAAC,cAAc,CAAC,CAAC;QACnD,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,cAAc,EAAE,WAAW,aAAA,EAAE,CAAC;AACpE,CAAC,CAAC;AAEF,kBAAe,iBAAiB,CAAC"}
package/utils/fetch.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export declare const API_BASE = "/api/chrome-service/v1";
2
2
  export declare const LAST_VISITED_URL: string;
3
3
  export declare const FAVORITE_PAGE_URL: string;
4
+ export declare const IDENTITY_URL: string;
5
+ export declare const VISITED_BUNDLES_URL: string;
4
6
  export declare function get<T>(url: RequestInfo, options?: RequestInit): Promise<T>;
5
7
  export declare function post<R, T extends Record<string, any> = Record<string, any>>(url: RequestInfo, data: T, options?: Omit<RequestInit, 'body'>): Promise<R>;
package/utils/fetch.js CHANGED
@@ -11,10 +11,12 @@ var __assign = (this && this.__assign) || function () {
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.post = exports.get = exports.FAVORITE_PAGE_URL = exports.LAST_VISITED_URL = exports.API_BASE = void 0;
14
+ exports.post = exports.get = exports.VISITED_BUNDLES_URL = exports.IDENTITY_URL = exports.FAVORITE_PAGE_URL = exports.LAST_VISITED_URL = exports.API_BASE = void 0;
15
15
  exports.API_BASE = '/api/chrome-service/v1';
16
16
  exports.LAST_VISITED_URL = "".concat(exports.API_BASE, "/last-visited");
17
17
  exports.FAVORITE_PAGE_URL = "".concat(exports.API_BASE, "/favorite-pages");
18
+ exports.IDENTITY_URL = "".concat(exports.API_BASE, "/user");
19
+ exports.VISITED_BUNDLES_URL = "".concat(exports.API_BASE, "/user/visited-bundles");
18
20
  function get(url, options) {
19
21
  return fetch(url, __assign(__assign({}, options), { method: 'GET' }))
20
22
  .then(function (res) { return res.json(); })
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/utils/fetch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAa,QAAA,QAAQ,GAAG,wBAAwB,CAAC;AACpC,QAAA,gBAAgB,GAAG,UAAG,gBAAQ,kBAAe,CAAC;AAC9C,QAAA,iBAAiB,GAAG,UAAG,gBAAQ,oBAAiB,CAAC;AAE9D,SAAgB,GAAG,CAAI,GAAgB,EAAE,OAAqB;IAC5D,OAAO,KAAK,CAAC,GAAG,wBAAO,OAAO,KAAE,MAAM,EAAE,KAAK,IAAG;SAC7C,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,EAAE,EAAV,CAAU,CAAC;SACzB,IAAI,CAAC,UAAC,EAAqB;YAAnB,IAAI,UAAA;QAAoB,OAAA,IAAI;IAAJ,CAAI,CAAC,CAAC;AAC3C,CAAC;AAJD,kBAIC;AAED,SAAgB,IAAI,CAAyD,GAAgB,EAAE,IAAO,EAAE,OAAmC;IACzI,OAAO,KAAK,CAAC,GAAG,sBACd,WAAW,EAAE,SAAS,IACnB,OAAO,KACV,OAAO,wBACF,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KACnB,cAAc,EAAE,kBAAkB,KAEpC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAC1B;SACC,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,EAAE,EAAV,CAAU,CAAC;SACzB,IAAI,CAAI,UAAC,EAAQ;YAAN,IAAI,UAAA;QAAO,OAAA,IAAI;IAAJ,CAAI,CAAC,CAAC;AACjC,CAAC;AAbD,oBAaC"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/utils/fetch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAa,QAAA,QAAQ,GAAG,wBAAwB,CAAC;AACpC,QAAA,gBAAgB,GAAG,UAAG,gBAAQ,kBAAe,CAAC;AAC9C,QAAA,iBAAiB,GAAG,UAAG,gBAAQ,oBAAiB,CAAC;AACjD,QAAA,YAAY,GAAG,UAAG,gBAAQ,UAAO,CAAC;AAClC,QAAA,mBAAmB,GAAG,UAAG,gBAAQ,0BAAuB,CAAC;AAEtE,SAAgB,GAAG,CAAI,GAAgB,EAAE,OAAqB;IAC5D,OAAO,KAAK,CAAC,GAAG,wBAAO,OAAO,KAAE,MAAM,EAAE,KAAK,IAAG;SAC7C,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,EAAE,EAAV,CAAU,CAAC;SACzB,IAAI,CAAC,UAAC,EAAqB;YAAnB,IAAI,UAAA;QAAoB,OAAA,IAAI;IAAJ,CAAI,CAAC,CAAC;AAC3C,CAAC;AAJD,kBAIC;AAED,SAAgB,IAAI,CAAyD,GAAgB,EAAE,IAAO,EAAE,OAAmC;IACzI,OAAO,KAAK,CAAC,GAAG,sBACd,WAAW,EAAE,SAAS,IACnB,OAAO,KACV,OAAO,wBACF,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KACnB,cAAc,EAAE,kBAAkB,KAEpC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAC1B;SACC,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,EAAE,EAAV,CAAU,CAAC;SACzB,IAAI,CAAI,UAAC,EAAQ;YAAN,IAAI,UAAA;QAAO,OAAA,IAAI;IAAJ,CAAI,CAAC,CAAC;AACjC,CAAC;AAbD,oBAaC"}