@remkoj/optimizely-one-nextjs 5.1.5 → 6.0.0-pre10
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/api/content-goals.js +1 -1
- package/dist/api/content-goals.js.map +1 -1
- package/dist/api/content-recs.js +1 -1
- package/dist/api/content-recs.js.map +1 -1
- package/dist/api/index.d.ts +1 -1
- package/dist/api/index.js +3 -2
- package/dist/api/index.js.map +1 -1
- package/dist/api/profile-api-service.js +6 -5
- package/dist/api/profile-api-service.js.map +1 -1
- package/dist/client-types.d.ts +1 -0
- package/dist/components/context.d.ts +4 -1
- package/dist/components/context.js +4 -4
- package/dist/components/context.js.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/optimizely-one-gadget/_notice.d.ts +1 -1
- package/dist/components/optimizely-one-gadget/_notice.js +3 -3
- package/dist/components/optimizely-one-gadget/_notice.js.map +1 -1
- package/dist/components/optimizely-one-gadget/audiences-panel.js +12 -10
- package/dist/components/optimizely-one-gadget/audiences-panel.js.map +1 -1
- package/dist/components/optimizely-one-gadget/exp-panel.js +15 -7
- package/dist/components/optimizely-one-gadget/exp-panel.js.map +1 -1
- package/dist/components/optimizely-one-gadget/gadget.js +56 -40
- package/dist/components/optimizely-one-gadget/gadget.js.map +1 -1
- package/dist/components/optimizely-one-gadget/goals-panel.js +6 -6
- package/dist/components/optimizely-one-gadget/goals-panel.js.map +1 -1
- package/dist/components/optimizely-one-gadget/graph-panel.js +12 -8
- package/dist/components/optimizely-one-gadget/graph-panel.js.map +1 -1
- package/dist/components/optimizely-one-gadget/ids-panel.js +7 -7
- package/dist/components/optimizely-one-gadget/ids-panel.js.map +1 -1
- package/dist/components/optimizely-one-gadget/index.d.ts +1 -1
- package/dist/components/optimizely-one-gadget/index.js +2 -2
- package/dist/components/optimizely-one-gadget/index.js.map +1 -1
- package/dist/components/optimizely-one-gadget/interests-panel.js +7 -7
- package/dist/components/optimizely-one-gadget/interests-panel.js.map +1 -1
- package/dist/components/optimizely-one-gadget/profile-panel.js +8 -6
- package/dist/components/optimizely-one-gadget/profile-panel.js.map +1 -1
- package/dist/components/page-activator.js +21 -16
- package/dist/components/page-activator.js.map +1 -1
- package/dist/components/types.d.ts +2 -0
- package/dist/components/types.js +2 -0
- package/dist/components/types.js.map +1 -0
- package/dist/products/content-recs/client.d.ts +6 -0
- package/dist/products/content-recs/client.js +21 -1
- package/dist/products/content-recs/client.js.map +1 -1
- package/dist/products/content-recs/helpers.d.ts +1 -1
- package/dist/products/content-recs/helpers.js.map +1 -1
- package/dist/products/data-platform/client.d.ts +9 -0
- package/dist/products/data-platform/client.js +33 -1
- package/dist/products/data-platform/client.js.map +1 -1
- package/dist/products/data-platform/helpers.d.ts +1 -1
- package/dist/products/data-platform/helpers.js.map +1 -1
- package/dist/products/web-experimentation/client.d.ts +3 -0
- package/dist/products/web-experimentation/client.js +14 -1
- package/dist/products/web-experimentation/client.js.map +1 -1
- package/dist/products/web-experimentation/helpers.d.ts +1 -1
- package/dist/products/web-experimentation/helpers.js.map +1 -1
- package/dist/server.d.ts +3 -0
- package/dist/server.js +11 -0
- package/dist/server.js.map +1 -1
- package/dist/styles.css +2 -1
- package/dist/utils/session.d.ts +1 -1
- package/dist/utils/session.js.map +1 -1
- package/package.json +29 -28
|
@@ -10,7 +10,7 @@ export const ContentRecsGoalsService = {
|
|
|
10
10
|
const products = checkProductStatus(config);
|
|
11
11
|
if (!products.contentRecsApi)
|
|
12
12
|
return Responses.NotFound;
|
|
13
|
-
const crId = ContentRecs.Tools.getVisitorID(cookies);
|
|
13
|
+
const crId = ContentRecs.Tools.getVisitorID(await cookies);
|
|
14
14
|
if (!crId)
|
|
15
15
|
return [{ goals: [] }, 200];
|
|
16
16
|
const contentRecs = new ContentRecs.Client();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-goals.js","sourceRoot":"","sources":["../../src/api/content-goals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,SAAS,EAAE,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AACzD,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AAgBxC,MAAM,CAAC,MAAM,uBAAuB,GAA6B;
|
|
1
|
+
{"version":3,"file":"content-goals.js","sourceRoot":"","sources":["../../src/api/content-goals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,SAAS,EAAE,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AACzD,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AAgBxC,MAAM,CAAC,MAAM,uBAAuB,GAA6B;IAC/D,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;IACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;QAC1B,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,OAAO,SAAS,CAAC,QAAQ,CAAA;QAEpD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;QAC3C,IAAI,CAAC,QAAQ,CAAC,cAAc;YAAE,OAAO,SAAS,CAAC,QAAQ,CAAA;QAEvD,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,OAAO,CAAC,CAAA;QAC1D,IAAI,CAAC,IAAI;YACP,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QAC7B,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;QAC7C,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;QAC9E,OAAO,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,GAAG,CAAC,CAAA;IACxC,CAAC;CACF,CAAA;AAED,eAAe,uBAAuB,CAAA"}
|
package/dist/api/content-recs.js
CHANGED
|
@@ -7,7 +7,7 @@ export const ContentRecsApiService = {
|
|
|
7
7
|
const optiOneConfig = readConfigFromEnv();
|
|
8
8
|
if (!optiOneConfig.ContentRecsHost)
|
|
9
9
|
return Responses.NotFound;
|
|
10
|
-
const crId = ContentRecs.Tools.getVisitorID(cookies);
|
|
10
|
+
const crId = ContentRecs.Tools.getVisitorID(await cookies);
|
|
11
11
|
if (!crId)
|
|
12
12
|
return [{ total_hits: 0, content: [] }, 200];
|
|
13
13
|
const recsService = new URL(`https://api.${optiOneConfig.ContentRecsHost}/1.0/users/idio_visitor_id:${crId}/content?callback=fn`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-recs.js","sourceRoot":"","sources":["../../src/api/content-recs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AAExC,MAAM,CAAC,MAAM,qBAAqB,GAAoB;IACpD,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE;IACpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChC,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;QAC1C,IAAI,CAAC,aAAa,CAAC,eAAe;YAChC,OAAO,SAAS,CAAC,QAAQ,CAAA;QAE3B,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"content-recs.js","sourceRoot":"","sources":["../../src/api/content-recs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AAExC,MAAM,CAAC,MAAM,qBAAqB,GAAoB;IACpD,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE;IACpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChC,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;QAC1C,IAAI,CAAC,aAAa,CAAC,eAAe;YAChC,OAAO,SAAS,CAAC,QAAQ,CAAA;QAE3B,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,OAAO,CAAC,CAAA;QAC1D,IAAI,CAAC,IAAI;YACP,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QAC9C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,eAAe,aAAa,CAAC,eAAe,8BAA8B,IAAI,sBAAsB,CAAC,CAAA;QACjI,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAC5B,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,UAAU;gBAClC,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAC7C,CAAC,CAAC,CAAA;QACF,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAA;QACvE,IAAI,CAAC,eAAe,CAAC,EAAE;YACrB,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,UAAU,EAAE,EAAE,EAAE,eAAe,CAAC,MAAM,CAAC,CAAA;QACrH,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,CAAA;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QAC7E,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YACrC,OAAO;gBACL;oBACE,GAAG,QAAQ;oBACX,SAAS,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;iBAChD;gBACD,GAAG;aACJ,CAAA;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,8CAA8C,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QACnG,CAAC;IACH,CAAC;CACF,CAAA;AAED,eAAe,qBAAqB,CAAA"}
|
package/dist/api/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import 'server-only';
|
|
|
2
2
|
import { type NextRequest, NextResponse } from 'next/server';
|
|
3
3
|
import type { ApiService } from './types';
|
|
4
4
|
type RequestContext = {
|
|
5
|
-
params: Record<string, string | string[]
|
|
5
|
+
params: Promise<Record<string, string | string[]>>;
|
|
6
6
|
};
|
|
7
7
|
type OptimizelyOneApi = (req: NextRequest, ctx: RequestContext) => Promise<NextResponse>;
|
|
8
8
|
export type OptimizelyOneApiConfig = {
|
package/dist/api/index.js
CHANGED
|
@@ -21,9 +21,10 @@ export function createOptimizelyOneApi(config) {
|
|
|
21
21
|
return serviceFor.path.toLowerCase() == path.toLowerCase() &&
|
|
22
22
|
serviceFor.verb.toLowerCase() == verb.toLowerCase();
|
|
23
23
|
}
|
|
24
|
-
async function handler(request,
|
|
24
|
+
async function handler(request, { params: asyncParams }) {
|
|
25
25
|
// Determine the current path & basePath for handling the request
|
|
26
|
-
|
|
26
|
+
const params = await asyncParams;
|
|
27
|
+
let apiPath = params[pathParameterName];
|
|
27
28
|
if (!apiPath)
|
|
28
29
|
apiPath = '/';
|
|
29
30
|
else if (Array.isArray(apiPath))
|
package/dist/api/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AACpB,OAAO,EAAoB,YAAY,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,iBAAiB,MAAM,uBAAuB,CAAA;AACrD,OAAO,mBAAmB,MAAM,sBAAsB,CAAA;AACtD,OAAO,yBAAyB,MAAM,uBAAuB,CAAA;AAC7D,OAAO,qBAAqB,MAAM,gBAAgB,CAAA;AAClD,OAAO,uBAAuB,MAAM,iBAAiB,CAAA;AAkBrD,MAAM,UAAU,sBAAsB,CAAC,MAAwC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,10 +19,11 @@ export const ProfileApiService = {
|
|
|
19
19
|
const fetchODPAudiences = !scopes || scopes.includes('audiences');
|
|
20
20
|
const fetchProfileCard = !scopes || scopes.includes('profile');
|
|
21
21
|
// Read all IDs
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
const
|
|
22
|
+
const cookieData = await cookies;
|
|
23
|
+
const odpId = DataPlatform.Tools.getVisitorID(cookieData);
|
|
24
|
+
const crId = ContentRecs.Tools.getVisitorID(cookieData);
|
|
25
|
+
const webExId = WebExperimentation.Tools.getVisitorID(cookieData);
|
|
26
|
+
const frontendId = Session.getVisitorId(cookieData);
|
|
26
27
|
// Read parameters & set values
|
|
27
28
|
const pageSize = config.OdpAudienceBatchSize;
|
|
28
29
|
const pageNumber = Math.max(stringToInt(query.get('page'), 0), 0);
|
|
@@ -44,7 +45,7 @@ export const ProfileApiService = {
|
|
|
44
45
|
audiencesPageCount = chunks.length;
|
|
45
46
|
// Apply filtering to the audiences
|
|
46
47
|
const userAudienceIds = /*chunkNr == 0 ?
|
|
47
|
-
|
|
48
|
+
(await Promise.all(chunks.map(chunk => odp.filterAudiences(odpId, chunk)))).flat() :*/ await odp.filterAudiences(odpId, chunks[pageNumber]);
|
|
48
49
|
audiences = allAudiences.filter(a => userAudienceIds.includes(a.id));
|
|
49
50
|
}
|
|
50
51
|
// Fetch the profile if needed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-api-service.js","sourceRoot":"","sources":["../../src/api/profile-api-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AACxC,OAAO,OAAO,MAAM,kBAAkB,CAAA;AACtC,OAAO,SAAS,EAAE,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEzD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAE3E,MAAM,KAAK,GAAG,KAAK,CAAA;AACnB,MAAM,CAAC,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"profile-api-service.js","sourceRoot":"","sources":["../../src/api/profile-api-service.ts"],"names":[],"mappings":"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"}
|
package/dist/client-types.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import WebExperimenationService from '../products/web-experimentation/client';
|
|
|
3
3
|
import DataPlatformService from '../products/data-platform/client';
|
|
4
4
|
import ContentRecsService from '../products/content-recs/client';
|
|
5
5
|
import * as ClientApi from '../client-types';
|
|
6
|
+
import { SupportedProductNames } from "./types";
|
|
6
7
|
/**
|
|
7
8
|
* The data stored within the OptimizelyOne context
|
|
8
9
|
*/
|
|
@@ -98,5 +99,7 @@ type OptimizelyOneHookResult<TM extends DefaultServiceMap = DefaultServiceMap> =
|
|
|
98
99
|
getService: <SC extends keyof TM>(code: SC) => TM[SC] | undefined;
|
|
99
100
|
};
|
|
100
101
|
declare function useOptimizelyOne(): OptimizelyOneHookResult;
|
|
101
|
-
declare const OptimizelyOneProvider: FunctionComponent<OptimizelyOneProviderProps
|
|
102
|
+
declare const OptimizelyOneProvider: FunctionComponent<OptimizelyOneProviderProps & {
|
|
103
|
+
enabledOptimizelyServices?: Array<SupportedProductNames>;
|
|
104
|
+
}>;
|
|
102
105
|
export { OptimizelyOneProvider, useOptimizelyOne };
|
|
@@ -50,12 +50,12 @@ function useOptimizelyOne() {
|
|
|
50
50
|
}, [ctx]);
|
|
51
51
|
return result;
|
|
52
52
|
}
|
|
53
|
-
const OptimizelyOneProvider = ({ value, children }) => {
|
|
53
|
+
const OptimizelyOneProvider = ({ value, children, enabledOptimizelyServices }) => {
|
|
54
54
|
const [ctxDebug, setCtxDebug] = useState(value?.debug ?? false);
|
|
55
55
|
const [services, setServices] = useState([
|
|
56
|
-
new WebExperimenationService(),
|
|
57
|
-
new DataPlatformService(),
|
|
58
|
-
new ContentRecsService(),
|
|
56
|
+
new WebExperimenationService(enabledOptimizelyServices),
|
|
57
|
+
new DataPlatformService(enabledOptimizelyServices),
|
|
58
|
+
new ContentRecsService(enabledOptimizelyServices),
|
|
59
59
|
...(value?.services || [])
|
|
60
60
|
].sort((a, b) => a.order - b.order));
|
|
61
61
|
services.forEach(service => service.debug = ctxDebug);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/components/context.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AACZ,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAkD,MAAM,OAAO,CAAA;AACpH,OAAO,wBAAwB,MAAM,wCAAwC,CAAA;AAC7E,OAAO,mBAAmB,MAAM,kCAAkC,CAAA;AAClE,OAAO,kBAAkB,MAAM,iCAAiC,CAAA;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/components/context.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,3 +2,4 @@ export { OptimizelyOneGadget } from './optimizely-one-gadget/gadget';
|
|
|
2
2
|
export { OptimizelyOneProvider, useOptimizelyOne } from './context';
|
|
3
3
|
export { PageActivator } from './page-activator';
|
|
4
4
|
export { useIsInTestMode } from './use-test-mode';
|
|
5
|
+
export type { SupportedProductNames } from './types';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ReactNode, type FunctionComponent, type PropsWithChildren } from
|
|
1
|
+
import { type ReactNode, type FunctionComponent, type PropsWithChildren } from 'react';
|
|
2
2
|
export declare const Notice: FunctionComponent<PropsWithChildren<{
|
|
3
3
|
prefix?: string;
|
|
4
4
|
message?: string | ReactNode;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { ArrowPathIcon } from '@heroicons/react/20/solid';
|
|
3
3
|
export const Notice = ({ prefix, message, isLoading = false, children }) => {
|
|
4
|
-
const PrefixComponent = prefix && _jsx("span", { className:
|
|
5
|
-
const Spinner = isLoading && _jsx(ArrowPathIcon, { className:
|
|
6
|
-
return _jsxs("p", { className:
|
|
4
|
+
const PrefixComponent = prefix && (_jsx("span", { className: "oo:font-bold", children: prefix }));
|
|
5
|
+
const Spinner = isLoading && (_jsx(ArrowPathIcon, { className: "oo:inline-block oo:h-4 oo:w-4 oo:ml-2 oo:animate-spin" }));
|
|
6
|
+
return (_jsxs("p", { className: "oo:text-[12px] oo:m-2 oo:mt-3 oo:p-1 oo:md:p-2 oo:rounded-md oo:bg-amber-200 oo:border oo:border-amber-800 oo:text-amber-800", children: [Spinner, PrefixComponent, message, children] }));
|
|
7
7
|
};
|
|
8
8
|
export default Notice;
|
|
9
9
|
//# sourceMappingURL=_notice.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_notice.js","sourceRoot":"","sources":["../../../src/components/optimizely-one-gadget/_notice.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"_notice.js","sourceRoot":"","sources":["../../../src/components/optimizely-one-gadget/_notice.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAEzD,MAAM,CAAC,MAAM,MAAM,GAMf,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IACvD,MAAM,eAAe,GAAG,MAAM,IAAI,CAChC,eAAM,SAAS,EAAC,cAAc,YAAE,MAAM,GAAQ,CAC/C,CAAA;IACD,MAAM,OAAO,GAAG,SAAS,IAAI,CAC3B,KAAC,aAAa,IAAC,SAAS,EAAC,uDAAuD,GAAG,CACpF,CAAA;IACD,OAAO,CACL,aAAG,SAAS,EAAC,8HAA8H,aACxI,OAAO,EACP,eAAe,EACf,OAAO,EACP,QAAQ,IACP,CACL,CAAA;AACH,CAAC,CAAA;AAED,eAAe,MAAM,CAAA"}
|
|
@@ -12,7 +12,7 @@ const buildGetKey = (servicePrefix, pageSize) => {
|
|
|
12
12
|
};
|
|
13
13
|
return getKey;
|
|
14
14
|
};
|
|
15
|
-
export const AudiencesPanel = ({ servicePrefix = '/api/me', refreshInterval = 0 }) => {
|
|
15
|
+
export const AudiencesPanel = ({ servicePrefix = '/api/me', refreshInterval = 0, }) => {
|
|
16
16
|
// Prepare data fetching
|
|
17
17
|
const pageSize = 50;
|
|
18
18
|
const getKey = buildGetKey(servicePrefix, pageSize);
|
|
@@ -23,7 +23,7 @@ export const AudiencesPanel = ({ servicePrefix = '/api/me', refreshInterval = 0
|
|
|
23
23
|
revalidateIfStale: true,
|
|
24
24
|
refreshInterval: refreshInterval > 0 ? Math.max(refreshInterval, 10000) : 0, //Minimum refresh interval for audiences is 10 seconds
|
|
25
25
|
fetcher: async (key) => {
|
|
26
|
-
return fetch(key).then(r => {
|
|
26
|
+
return fetch(key).then((r) => {
|
|
27
27
|
if (!r.ok)
|
|
28
28
|
throw new Error(`${r.status}: ${r.statusText}`);
|
|
29
29
|
return r.json();
|
|
@@ -31,24 +31,26 @@ export const AudiencesPanel = ({ servicePrefix = '/api/me', refreshInterval = 0
|
|
|
31
31
|
},
|
|
32
32
|
};
|
|
33
33
|
// Fetch results
|
|
34
|
-
const { data: profiles, isLoading, isValidating, error, size, setSize } = useSWRInfinite(getKey, config);
|
|
34
|
+
const { data: profiles, isLoading, isValidating, error, size, setSize, } = useSWRInfinite(getKey, config);
|
|
35
35
|
// Post-process the received values
|
|
36
|
-
const audiencePages = !profiles ? 1 :
|
|
37
|
-
const audienceCount = !profiles ? 0 :
|
|
36
|
+
const audiencePages = !profiles ? 1 : profiles[0]?.rts.audiencesPageCount || 1;
|
|
37
|
+
const audienceCount = !profiles ? 0 : profiles[0]?.rts.audiencesCount || 0;
|
|
38
38
|
const hasMore = size < audiencePages;
|
|
39
39
|
// Automatically correct to the correct size, based upon the response
|
|
40
40
|
useEffect(() => {
|
|
41
|
-
let newSize = !profiles ? -1 :
|
|
41
|
+
let newSize = !profiles ? -1 : profiles[0]?.rts.audiencesPageCount || -1;
|
|
42
42
|
if (newSize >= 1 && size != newSize)
|
|
43
43
|
setSize(newSize);
|
|
44
44
|
}, [size, profiles]);
|
|
45
45
|
// Handle error
|
|
46
46
|
if (error)
|
|
47
|
-
return _jsx(Notice, { message:
|
|
47
|
+
return (_jsx(Notice, { message: "There was an error loading your profile information" }));
|
|
48
48
|
// Show list
|
|
49
|
-
return _jsxs(_Fragment, { children: [hasMore && _jsx(Notice, { prefix:
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
return (_jsxs(_Fragment, { children: [hasMore && (_jsx(Notice, { prefix: "Please note:", message: _jsxs(_Fragment, { children: ["Showing results for the first ", size * pageSize, " audiences of", ' ', audienceCount, ",", ' ', _jsx("span", { onClick: () => setSize(size + 1), className: "oo:cursor-pointer oo:underline oo:text-blue-800", children: "load more" })] }) })), _jsx("ul", { className: "oo:grid oo:grid-cols-1 oo:divide-y oo:divide-slate-200", children: (profiles || [])
|
|
50
|
+
.map((profile) => (profile?.rts.audiences ?? []).map((a) => {
|
|
51
|
+
return (_jsxs("li", { className: "oo:py-1", children: [_jsx(UserGroupIcon, { className: "oo:inline-block oo:h-4 oo:w-4 oo:mr-2" }), a.name] }, 'audience-' + a.id));
|
|
52
|
+
}))
|
|
53
|
+
.flat() }), _jsx("p", { className: "oo:text-[12px]", children: "Powered by: Optimizely Data Platform" }), hasMore && (_jsx("p", { onClick: () => setSize(size + 1), className: "oo:text-center oo:inline-block oo:cursor-pointer oo:px-2 oo:py-1 oo:border oo:border-b-0 oo:border-slate-300 oo:rounded-md oo:bg-blue-500 oo:text-white", children: "Load more" })), isLoading && _jsx(Notice, { isLoading: true, message: "Loading the audiences..." }), isValidating && !isLoading && (_jsx(Notice, { isLoading: true, message: "Refreshing audiences" })), _jsx(Notice, { prefix: "Please note:", message: "Interest based audiences are updated once per hour" })] }));
|
|
52
54
|
};
|
|
53
55
|
export default AudiencesPanel;
|
|
54
56
|
//# sourceMappingURL=audiences-panel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audiences-panel.js","sourceRoot":"","sources":["../../../src/components/optimizely-one-gadget/audiences-panel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAA0B,MAAM,OAAO,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,
|
|
1
|
+
{"version":3,"file":"audiences-panel.js","sourceRoot":"","sources":["../../../src/components/optimizely-one-gadget/audiences-panel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -11,12 +11,20 @@ export const ExpPanel = () => {
|
|
|
11
11
|
const [campaignStates, setCampaignStates] = useState({});
|
|
12
12
|
useEffect(() => {
|
|
13
13
|
setPagesObject(webEx?.get ? webEx?.get('state').getPageStates({ isActive: true }) : {});
|
|
14
|
-
setExperimentStates(webEx?.get
|
|
15
|
-
|
|
14
|
+
setExperimentStates(webEx?.get
|
|
15
|
+
? webEx?.get('state').getExperimentStates({ isActive: true })
|
|
16
|
+
: {});
|
|
17
|
+
setCampaignStates(webEx?.get
|
|
18
|
+
? webEx?.get('state').getCampaignStates({ isActive: true })
|
|
19
|
+
: {});
|
|
16
20
|
const intervalId = setInterval(() => {
|
|
17
21
|
setPagesObject(webEx?.get ? webEx?.get('state').getPageStates({ isActive: true }) : {});
|
|
18
|
-
setExperimentStates(webEx?.get
|
|
19
|
-
|
|
22
|
+
setExperimentStates(webEx?.get
|
|
23
|
+
? webEx?.get('state').getExperimentStates({ isActive: true })
|
|
24
|
+
: {});
|
|
25
|
+
setCampaignStates(webEx?.get
|
|
26
|
+
? webEx?.get('state').getCampaignStates({ isActive: true })
|
|
27
|
+
: {});
|
|
20
28
|
}, 2000);
|
|
21
29
|
return () => clearInterval(intervalId);
|
|
22
30
|
}, [webEx]);
|
|
@@ -32,11 +40,11 @@ export const ExpPanel = () => {
|
|
|
32
40
|
const campaignsArray = [];
|
|
33
41
|
for (const campaignId of Object.getOwnPropertyNames(campaignStates))
|
|
34
42
|
campaignsArray.push(campaignStates[campaignId]);
|
|
35
|
-
const filteredCampaigns = campaignsArray.filter(c => {
|
|
36
|
-
const expIds = experimentsArray.map(ed => ed.id);
|
|
43
|
+
const filteredCampaigns = campaignsArray.filter((c) => {
|
|
44
|
+
const expIds = experimentsArray.map((ed) => ed.id);
|
|
37
45
|
return !expIds.includes(c.experiment.id);
|
|
38
46
|
});
|
|
39
|
-
return _jsxs(_Fragment, { children: [_jsxs("dl", { className:
|
|
47
|
+
return (_jsxs(_Fragment, { children: [_jsxs("dl", { className: "oo:text-[14px]", children: [_jsx("dt", { className: "oo:font-bold oo:pt-1", children: "Script information:" }), _jsxs("dd", { children: ["Account id: ", data?.accountId, "; Project id:", ' ', _jsx(Link, { href: `https://app.optimizely.com/v2/projects/${data?.projectId ?? ''}`, target: "_blank", className: "oo:underline oo:text-blue-800", children: data?.projectId }), "; Revision: ", data?.revision] }), _jsx("dt", { className: "oo:font-bold oo:pt-1", children: "Active page(s):" }), _jsx("dd", { children: _jsx("ul", { children: pagesArray.map((p) => (_jsx("li", { children: _jsx(Link, { href: `https://app.optimizely.com/v2/projects/${data?.projectId ?? ''}/implementation/pages/${p.id}`, target: "_blank", className: "oo:underline oo:text-blue-800", children: p.name || p.apiName }) }, `exp-page-${data?.projectId}-${p.id}`))) }) }), _jsx("dt", { className: "oo:font-bold oo:pt-1", children: "Active experiment(s):" }), _jsx("dd", { children: _jsx("ul", { children: experimentsArray.map((e) => (_jsxs("li", { children: [_jsx(Link, { href: `https://app.optimizely.com/v2/projects/${data?.projectId ?? ''}/experiments/${e.id}`, target: "_blank", className: "oo:underline oo:text-blue-800", children: e.experimentName || e.id }), ", variant:", ' ', _jsx(Link, { href: `https://app.optimizely.com/v2/projects/${data?.projectId ?? ''}/experiments/${e.id}/variations/${e.variation.id}`, target: "_blank", className: "oo:underline oo:text-blue-800", children: e.variation.name || e.variation.id })] }, `exp-${data?.projectId}-${e.id}`))) }) }), _jsx("dt", { className: "oo:font-bold oo:pt-1", children: "Active Personalization Campaigns(s):" }), _jsx("dd", { children: _jsx("ul", { children: filteredCampaigns.map((e) => (_jsxs("li", { children: [_jsx(Link, { href: `https://app.optimizely.com/v2/projects/${data?.projectId ?? ''}/campaigns/${e.id}`, target: "_blank", className: "oo:underline oo:text-blue-800", children: e.campaignName || e.id }), "; Audience(s):", ' ', e.audiences.map((a) => (_jsxs("span", { children: [_jsx(Link, { href: `https://app.optimizely.com/v2/projects/${data?.projectId ?? ''}/audiences/${a.id}`, target: "_blank", className: "oo:underline oo:text-blue-800", children: a.name }), ",", ' '] }, 'exp-pers-aud-' + a.id)))] }, `campaign-${data?.projectId}-${e.id}`))) }) })] }), _jsx("p", { className: "oo:text-[12px]", children: "Powered by: Optimizely Web Experimentation" })] }));
|
|
40
48
|
};
|
|
41
49
|
export default ExpPanel;
|
|
42
50
|
//# sourceMappingURL=exp-panel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exp-panel.js","sourceRoot":"","sources":["../../../src/components/optimizely-one-gadget/exp-panel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAA0B,MAAM,OAAO,CAAA;AACnE,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAG7C,MAAM,CAAC,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"exp-panel.js","sourceRoot":"","sources":["../../../src/components/optimizely-one-gadget/exp-panel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
-
import { Fragment,
|
|
3
|
+
import { Fragment, useCallback, useMemo, useEffect, } from 'react';
|
|
4
4
|
import useCookie from '../use-cookie';
|
|
5
|
-
import { Popover, PopoverButton, PopoverPanel, Tab, TabGroup, TabList, TabPanels, TabPanel } from '@headlessui/react';
|
|
6
|
-
import { ChevronUpIcon, UserGroupIcon, TagIcon, RocketLaunchIcon, IdentificationIcon, Square3Stack3DIcon, TrophyIcon, FingerPrintIcon } from '@heroicons/react/20/solid';
|
|
5
|
+
import { Popover, PopoverButton, PopoverPanel, Tab, TabGroup, TabList, TabPanels, TabPanel, } from '@headlessui/react';
|
|
6
|
+
import { ChevronUpIcon, UserGroupIcon, TagIcon, RocketLaunchIcon, IdentificationIcon, Square3Stack3DIcon, TrophyIcon, FingerPrintIcon, } from '@heroicons/react/20/solid';
|
|
7
7
|
import OptiLogo from './logo';
|
|
8
8
|
import { useIsInTestMode } from '../use-test-mode';
|
|
9
9
|
import { useSearchParams, usePathname } from 'next/navigation';
|
|
@@ -14,45 +14,45 @@ import dynamic from 'next/dynamic';
|
|
|
14
14
|
const Panels = [
|
|
15
15
|
{
|
|
16
16
|
id: 'Profile',
|
|
17
|
-
Tab: () => _jsxs(Tab, { as: "div", className: "oo-
|
|
17
|
+
Tab: () => (_jsxs(Tab, { as: "div", className: "oo:text-center oo:inline-block oo:cursor-pointer oo:px-2 oo:py-1 oo:border oo:border-b-0 oo:border-slate-300 oo:rounded-t-md oo:data-selected:bg-blue-500 oo:data-selected:text-white", children: [_jsx(IdentificationIcon, { className: "oo:inline-block oo:h-[1.25em] oo:w-[1.25em] oo:mr-[0.25em]" }), "Profile"] })),
|
|
18
18
|
Panel: dynamic(() => import('./profile-panel'), { ssr: false }),
|
|
19
|
-
products: ['odp']
|
|
19
|
+
products: ['odp'],
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
id: 'Interests',
|
|
23
|
-
Tab: () => _jsxs(Tab, { as: "div", className:
|
|
23
|
+
Tab: () => (_jsxs(Tab, { as: "div", className: "oo:text-center oo:inline-block oo:cursor-pointer oo:px-2 oo:py-1 oo:border oo:border-b-0 oo:border-slate-300 oo:rounded-t-md oo:data-selected:bg-blue-500 oo:data-selected:text-white", children: [_jsx(TagIcon, { className: "oo:inline-block oo:h-[1.25em] oo:w-[1.25em] oo:mr-[0.25em]" }), "Interests"] })),
|
|
24
24
|
Panel: dynamic(() => import('./interests-panel'), { ssr: false }),
|
|
25
|
-
products: ['crecs']
|
|
25
|
+
products: ['crecs'],
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
28
|
id: 'Goals',
|
|
29
|
-
Tab: () => _jsxs(Tab, { as: "div", className:
|
|
29
|
+
Tab: () => (_jsxs(Tab, { as: "div", className: "oo:text-center oo:inline-block oo:cursor-pointer oo:px-2 oo:py-1 oo:border oo:border-b-0 oo:border-slate-300 oo:rounded-t-md oo:data-selected:bg-blue-500 oo:data-selected:text-white", children: [_jsx(TrophyIcon, { className: "oo:inline-block oo:h-[1.25em] oo:w-[1.25em] oo:mr-[0.25em]" }), "Goals"] })),
|
|
30
30
|
Panel: dynamic(() => import('./goals-panel'), { ssr: false }),
|
|
31
|
-
products: ['crecs']
|
|
31
|
+
products: ['crecs'],
|
|
32
32
|
},
|
|
33
33
|
{
|
|
34
34
|
id: 'Audiences',
|
|
35
|
-
Tab: () => _jsxs(Tab, { as: "div", className:
|
|
35
|
+
Tab: () => (_jsxs(Tab, { as: "div", className: "oo:text-center oo:inline-block oo:cursor-pointer oo:px-2 oo:py-1 oo:border oo:border-b-0 oo:border-slate-300 oo:rounded-t-md oo:data-selected:bg-blue-500 oo:data-selected:text-white", children: [_jsx(UserGroupIcon, { className: "oo:inline-block oo:h-[1.25em] oo:w-[1.25em] oo:mr-[0.25em]" }), "Audiences"] })),
|
|
36
36
|
Panel: dynamic(() => import('./audiences-panel'), { ssr: false }),
|
|
37
|
-
products: ['odp']
|
|
37
|
+
products: ['odp'],
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
40
|
id: 'Experiments',
|
|
41
|
-
Tab: () => _jsxs(Tab, { as: "div", className:
|
|
41
|
+
Tab: () => (_jsxs(Tab, { as: "div", className: "oo:text-center oo:inline-block oo:cursor-pointer oo:px-2 oo:py-1 oo:border oo:border-b-0 oo:border-slate-300 oo:rounded-t-md oo:data-selected:bg-blue-500 oo:data-selected:text-white", children: [_jsx(RocketLaunchIcon, { className: "oo:inline-block oo:h-[1.25em] oo:w-[1.25em] oo:mr-[0.25em]" }), "Experiments"] })),
|
|
42
42
|
Panel: dynamic(() => import('./exp-panel'), { ssr: false }),
|
|
43
|
-
products: ['webex']
|
|
43
|
+
products: ['webex'],
|
|
44
44
|
},
|
|
45
45
|
{
|
|
46
46
|
id: 'Identifiers',
|
|
47
|
-
Tab: () => _jsxs(Tab, { as: "div", className:
|
|
47
|
+
Tab: () => (_jsxs(Tab, { as: "div", className: "oo:text-center oo:inline-block oo:cursor-pointer oo:px-2 oo:py-1 oo:border oo:border-b-0 oo:border-slate-300 oo:rounded-t-md oo:data-selected:bg-blue-500 oo:data-selected:text-white", children: [_jsx(FingerPrintIcon, { className: "oo:inline-block oo:h-[1.25em] oo:w-[1.25em] oo:mr-[0.25em]" }), "Identifiers"] })),
|
|
48
48
|
Panel: dynamic(() => import('./ids-panel'), { ssr: false }),
|
|
49
|
-
products: []
|
|
49
|
+
products: [],
|
|
50
50
|
},
|
|
51
51
|
{
|
|
52
52
|
id: 'Graph',
|
|
53
|
-
Tab: () => _jsxs(Tab, { as: "div", className:
|
|
53
|
+
Tab: () => (_jsxs(Tab, { as: "div", className: "oo:text-center oo:inline-block oo:cursor-pointer oo:px-2 oo:py-1 oo:border oo:border-b-0 oo:border-slate-300 oo:rounded-t-md oo:data-selected:bg-blue-500 oo:data-selected:text-white", children: [_jsx(Square3Stack3DIcon, { className: "oo:inline-block oo:h-[1.25em] oo:w-[1.25em] oo:mr-[0.25em]" }), "Graph"] })),
|
|
54
54
|
Panel: dynamic(() => import('./graph-panel'), { ssr: false }),
|
|
55
|
-
products: []
|
|
55
|
+
products: [],
|
|
56
56
|
},
|
|
57
57
|
];
|
|
58
58
|
/**
|
|
@@ -63,19 +63,27 @@ const Panels = [
|
|
|
63
63
|
* @param param0 The component properties
|
|
64
64
|
* @returns The component JSX
|
|
65
65
|
*/
|
|
66
|
-
export const OptimizelyOneGadget = ({ servicePrefix =
|
|
66
|
+
export const OptimizelyOneGadget = ({ servicePrefix = '/api/me', refreshInterval = 0, show = undefined, showContentRecs = true, showDataPlatform = true, showWebEx = true, }) => {
|
|
67
67
|
const inTestMode = useIsInTestMode();
|
|
68
68
|
const searchParams = useSearchParams();
|
|
69
69
|
const pathname = usePathname();
|
|
70
70
|
const wxProjectIdParam = searchParams.get('pid');
|
|
71
71
|
const [projectIdCookie, setProjectIdCookie, removeProjectIdCookie] = useCookie('wx.projectid');
|
|
72
|
-
const enabledProducts =
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
72
|
+
const enabledProducts = useMemo(() => {
|
|
73
|
+
const enabledProducts = [];
|
|
74
|
+
if (showContentRecs)
|
|
75
|
+
enabledProducts.push('crecs');
|
|
76
|
+
if (showDataPlatform)
|
|
77
|
+
enabledProducts.push('odp');
|
|
78
|
+
if (showWebEx)
|
|
79
|
+
enabledProducts.push('webex');
|
|
80
|
+
return enabledProducts;
|
|
81
|
+
}, [showContentRecs, showDataPlatform, showWebEx]);
|
|
82
|
+
const { forceHidden, forceShown } = useMemo(() => {
|
|
83
|
+
const forceHidden = show != undefined && show == false;
|
|
84
|
+
const forceShown = show != undefined && show == true;
|
|
85
|
+
return { forceHidden, forceShown };
|
|
86
|
+
}, [show]);
|
|
79
87
|
const removeQueryParam = useCallback((paramName) => {
|
|
80
88
|
const newParams = new URLSearchParams(searchParams.toString());
|
|
81
89
|
if (newParams.has(paramName))
|
|
@@ -86,34 +94,42 @@ export const OptimizelyOneGadget = ({ servicePrefix = "/api/me", refreshInterval
|
|
|
86
94
|
window.location.href = newPath;
|
|
87
95
|
}
|
|
88
96
|
catch (e) {
|
|
89
|
-
console.log(
|
|
97
|
+
console.log('🛑 Refreshing the page to apply the new Web Experimenation project failed, please refresh manually.');
|
|
90
98
|
}
|
|
91
99
|
}, [pathname, searchParams]);
|
|
92
|
-
|
|
100
|
+
useEffect(() => {
|
|
93
101
|
if (wxProjectIdParam != null && wxProjectIdParam != projectIdCookie) {
|
|
94
|
-
if (wxProjectIdParam ==
|
|
102
|
+
if (wxProjectIdParam == '')
|
|
95
103
|
removeProjectIdCookie();
|
|
96
104
|
else
|
|
97
105
|
setProjectIdCookie(wxProjectIdParam);
|
|
98
106
|
removeQueryParam('pid');
|
|
99
107
|
}
|
|
100
|
-
}, [
|
|
101
|
-
|
|
102
|
-
|
|
108
|
+
}, [
|
|
109
|
+
wxProjectIdParam,
|
|
110
|
+
projectIdCookie,
|
|
111
|
+
removeQueryParam,
|
|
112
|
+
removeProjectIdCookie,
|
|
113
|
+
setProjectIdCookie,
|
|
114
|
+
]);
|
|
115
|
+
useEffect(() => {
|
|
116
|
+
console.groupCollapsed(`🔎 [Optimizely One Gadget] Initializing Optimizely Demo Gadget`);
|
|
117
|
+
console.log(`Optimizely One Demo API: ${servicePrefix}`);
|
|
118
|
+
console.log(`Refresh interval: ${refreshInterval == 0 ? 'DISABLED' : refreshInterval + 'ms'}`);
|
|
119
|
+
console.log(`Enabled products: ${enabledProducts.join(', ')}`);
|
|
120
|
+
console.groupEnd();
|
|
121
|
+
}, [servicePrefix, refreshInterval, enabledProducts]);
|
|
103
122
|
if (forceHidden || (!forceShown && !inTestMode))
|
|
104
123
|
return _jsx(_Fragment, {});
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
console.log(`Refresh interval: ${refreshInterval == 0 ? 'DISABLED' : refreshInterval + 'ms'}`);
|
|
108
|
-
console.log(`Enabled products: ${enabledProducts.join(', ')}`);
|
|
109
|
-
console.groupEnd();
|
|
110
|
-
return _jsxs(Popover, { className: "oo-gadget", children: [_jsxs(PopoverButton, { className: 'oo-gadget-button', children: [_jsx(OptiLogo, { className: 'oo-gadget-button-logo' }), _jsx(ChevronUpIcon, { className: "oo-gadget-button-icon" })] }), _jsxs(PopoverPanel, { className: "oo-gadget-panel", children: [_jsxs("div", { className: "oo-gadget-panel-heading", children: [_jsx(IdentificationIcon, { className: 'oo-gadget-panel-heading-icon' }), "My Profile"] }), _jsxs(TabGroup, { as: Fragment, children: [_jsx(TabList, { className: "oo-gadget-tab-list", children: Panels.filter(pnl => pnl.products.length == 0 || pnl.products.every(pk => enabledProducts.includes(pk))).map(({ id: pnlId, Tab: GadgetTab }) => {
|
|
124
|
+
return (_jsxs(Popover, { className: "oo:md:fixed oo:md:bottom-0 oo:z-[500]", children: [_jsxs(PopoverButton, { className: "oo:fixed oo:bottom-0 oo:right-0 oo:w-full oo:h-[50px] oo:flex oo:flex-row oo:justify-between oo:border-t oo:border-slate-500 oo:bg-slate-100 oo:text-slate-800 oo:md:w-[350px] oo:md:right-4 oo:md:rounded-t-md oo:md:border-x oo:z-[500] oo:p-[10px] oo:dark:text-slate-800", children: [_jsx(OptiLogo, { className: "oo:w-auto oo:h-full" }), _jsx(ChevronUpIcon, { className: "oo:data-open:rotate-180 oo:data-open:transform oo:h-full oo:w-auto oo:inline-block" })] }), _jsxs(PopoverPanel, { className: "oo:text-[14px] oo:fixed oo:bottom-[50px] oo:right-0 oo:w-full oo:top-0 oo:md:border oo:md:border-slate-300 oo:bg-white oo:md:right-4 oo:md:bottom-[55px] oo:md:w-[800px] oo:z-[501] oo:max-w-full oo:flex oo:flex-col oo:justify-stretch oo:md:h-[350px] oo:md:top-auto oo:md:rounded-md oo:md:shadow-xl oo:md:overflow-hidden oo:text-slate-800 oo:dark:text-slate-800", children: [_jsxs("div", { className: "oo:text-[18px] oo:border-b oo:border-slate-300 oo:bg-slate-100 oo:text-slate-800 oo:font-bold oo:p-1 oo:flex-none oo:md:p-2", children: [_jsx(IdentificationIcon, { className: "oo:inline-block oo:h-[1.5em] oo:w-[1.5em] oo:mr-[0.5em] oo:text-blue-500" }), "My Profile"] }), _jsxs(TabGroup, { as: Fragment, children: [_jsx(TabList, { className: "oo:flex-none oo:flex oo:justify-between oo:md:justify-start oo:gap-[0.25em] oo:px-[0.25em] oo:pt-[0.5em] oo:border-b oo:border-slate-300", children: Panels.filter((pnl) => pnl.products.length == 0 ||
|
|
125
|
+
pnl.products.every((pk) => enabledProducts.includes(pk))).map(({ id: pnlId, Tab: GadgetTab }) => {
|
|
111
126
|
const pnlTabKey = 'Tab-' + pnlId;
|
|
112
127
|
return _jsx(GadgetTab, {}, pnlTabKey);
|
|
113
|
-
}) }), _jsx(TabPanels, { className: "oo-
|
|
128
|
+
}) }), _jsx(TabPanels, { className: "oo:flex-1 oo:md:h-24 oo:overscroll-contain oo:overflow-y-auto", children: Panels.filter((pnl) => pnl.products.length == 0 ||
|
|
129
|
+
pnl.products.every((pk) => enabledProducts.includes(pk))).map(({ id: pnlId, Panel: GadgetPanel }) => {
|
|
114
130
|
const pnlKey = 'Panel-' + pnlId;
|
|
115
|
-
return _jsx(TabPanel, { as: "div", className: "oo-
|
|
116
|
-
}) })] })] })] });
|
|
131
|
+
return (_jsx(TabPanel, { as: "div", className: "oo:p-1 oo:md:p-2", children: _jsx(GadgetPanel, { servicePrefix: servicePrefix, refreshInterval: refreshInterval }) }, pnlKey));
|
|
132
|
+
}) })] })] })] }));
|
|
117
133
|
};
|
|
118
134
|
export default OptimizelyOneGadget;
|
|
119
135
|
//# sourceMappingURL=gadget.js.map
|