@gem-sdk/pages 1.5.7 → 1.5.23

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 (79) hide show
  1. package/dist/cjs/components/ErrorBoundary.js +32 -24
  2. package/dist/cjs/components/ErrorFallback.js +19 -2
  3. package/dist/cjs/components/FacebookPixel.js +25 -20
  4. package/dist/cjs/components/Footer.js +462 -0
  5. package/dist/cjs/components/GoogleAnalytic.js +49 -23
  6. package/dist/cjs/components/Header.js +211 -0
  7. package/dist/cjs/components/TikTokPixel.js +9 -6
  8. package/dist/cjs/components/builder/Toolbox.js +215 -188
  9. package/dist/cjs/layouts/main.js +19 -5
  10. package/dist/cjs/libs/api/get-builder-props.js +26 -24
  11. package/dist/cjs/libs/api/get-collection-props.js +59 -55
  12. package/dist/cjs/libs/api/get-home-page-props-v2.js +121 -114
  13. package/dist/cjs/libs/api/get-home-page-props.js +133 -123
  14. package/dist/cjs/libs/api/get-preview-props.js +10 -10
  15. package/dist/cjs/libs/api/get-product-props.js +64 -62
  16. package/dist/cjs/libs/api/get-static-page-props-preview.js +128 -121
  17. package/dist/cjs/libs/api/get-static-page-props-v2.js +126 -119
  18. package/dist/cjs/libs/api/get-static-page-props.js +130 -120
  19. package/dist/cjs/libs/fetcher.js +59 -63
  20. package/dist/cjs/libs/get-layout.js +5 -2
  21. package/dist/cjs/libs/get-storefront-api.js +7 -7
  22. package/dist/cjs/libs/getStaticPaths.js +5 -5
  23. package/dist/cjs/libs/google-fonts.js +54 -61
  24. package/dist/cjs/libs/helpers/gen-css.js +103 -94
  25. package/dist/cjs/libs/helpers/generate-manifres.js +1 -1
  26. package/dist/cjs/libs/helpers/get-fallback.js +24 -22
  27. package/dist/cjs/libs/helpers/normalize.js +82 -80
  28. package/dist/cjs/libs/helpers/parse-json.js +10 -12
  29. package/dist/cjs/libs/helpers/user-agent.js +2 -2
  30. package/dist/cjs/libs/hooks/use-tracking-view.js +36 -31
  31. package/dist/cjs/libs/parse-html.js +33 -26
  32. package/dist/cjs/pages/404.js +34 -2
  33. package/dist/cjs/pages/500.js +63 -8
  34. package/dist/cjs/pages/builder.js +69 -14
  35. package/dist/cjs/pages/collection-detail.js +48 -7
  36. package/dist/cjs/pages/preview.js +18 -12
  37. package/dist/cjs/pages/product-detail.js +53 -7
  38. package/dist/cjs/pages/static-v2.js +62 -7
  39. package/dist/cjs/pages/static.js +60 -6
  40. package/dist/esm/components/ErrorBoundary.js +32 -24
  41. package/dist/esm/components/ErrorFallback.js +19 -2
  42. package/dist/esm/components/FacebookPixel.js +25 -20
  43. package/dist/esm/components/Footer.js +458 -0
  44. package/dist/esm/components/GoogleAnalytic.js +49 -23
  45. package/dist/esm/components/Header.js +207 -0
  46. package/dist/esm/components/TikTokPixel.js +9 -6
  47. package/dist/esm/components/builder/Toolbox.js +217 -190
  48. package/dist/esm/layouts/main.js +19 -5
  49. package/dist/esm/libs/api/get-builder-props.js +26 -24
  50. package/dist/esm/libs/api/get-collection-props.js +59 -55
  51. package/dist/esm/libs/api/get-home-page-props-v2.js +121 -114
  52. package/dist/esm/libs/api/get-home-page-props.js +133 -123
  53. package/dist/esm/libs/api/get-preview-props.js +10 -10
  54. package/dist/esm/libs/api/get-product-props.js +64 -62
  55. package/dist/esm/libs/api/get-static-page-props-preview.js +128 -121
  56. package/dist/esm/libs/api/get-static-page-props-v2.js +126 -119
  57. package/dist/esm/libs/api/get-static-page-props.js +130 -120
  58. package/dist/esm/libs/fetcher.js +59 -63
  59. package/dist/esm/libs/get-layout.js +5 -2
  60. package/dist/esm/libs/get-storefront-api.js +7 -7
  61. package/dist/esm/libs/getStaticPaths.js +5 -5
  62. package/dist/esm/libs/google-fonts.js +54 -61
  63. package/dist/esm/libs/helpers/gen-css.js +103 -94
  64. package/dist/esm/libs/helpers/generate-manifres.js +1 -1
  65. package/dist/esm/libs/helpers/get-fallback.js +24 -22
  66. package/dist/esm/libs/helpers/normalize.js +82 -80
  67. package/dist/esm/libs/helpers/parse-json.js +10 -12
  68. package/dist/esm/libs/helpers/user-agent.js +2 -2
  69. package/dist/esm/libs/hooks/use-tracking-view.js +36 -31
  70. package/dist/esm/libs/parse-html.js +33 -26
  71. package/dist/esm/pages/404.js +34 -2
  72. package/dist/esm/pages/500.js +63 -8
  73. package/dist/esm/pages/builder.js +69 -14
  74. package/dist/esm/pages/collection-detail.js +48 -7
  75. package/dist/esm/pages/preview.js +18 -12
  76. package/dist/esm/pages/product-detail.js +53 -7
  77. package/dist/esm/pages/static-v2.js +62 -7
  78. package/dist/esm/pages/static.js +60 -6
  79. package/package.json +3 -3
@@ -3,18 +3,24 @@
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var dynamic = require('next/dynamic');
5
5
 
6
- const StaticPage = dynamic(() => Promise.resolve().then(function () { return require('./static.js'); }));
7
- const ProductPage = dynamic(() => Promise.resolve().then(function () { return require('./product-detail.js'); }));
8
- const CollectionPage = dynamic(() => Promise.resolve().then(function () { return require('./collection-detail.js'); }));
9
- const PreviewPage = ({ pageType, ...props }) => {
10
- switch (pageType) {
11
- case 'PRODUCT':
12
- return jsxRuntime.jsx(ProductPage, { ...props });
13
- case 'COLLECTION':
14
- return jsxRuntime.jsx(CollectionPage, { ...props });
15
- default:
16
- return jsxRuntime.jsx(StaticPage, { ...props });
17
- }
6
+ const StaticPage = dynamic(()=>Promise.resolve().then(function () { return require('./static.js'); }));
7
+ const ProductPage = dynamic(()=>Promise.resolve().then(function () { return require('./product-detail.js'); }));
8
+ const CollectionPage = dynamic(()=>Promise.resolve().then(function () { return require('./collection-detail.js'); }));
9
+ const PreviewPage = ({ pageType , ...props })=>{
10
+ switch(pageType){
11
+ case 'PRODUCT':
12
+ return /*#__PURE__*/ jsxRuntime.jsx(ProductPage, {
13
+ ...props
14
+ });
15
+ case 'COLLECTION':
16
+ return /*#__PURE__*/ jsxRuntime.jsx(CollectionPage, {
17
+ ...props
18
+ });
19
+ default:
20
+ return /*#__PURE__*/ jsxRuntime.jsx(StaticPage, {
21
+ ...props
22
+ });
23
+ }
18
24
  };
19
25
 
20
26
  exports.PreviewPage = PreviewPage;
@@ -9,13 +9,59 @@ var dynamic = require('next/dynamic');
9
9
  var Head = require('next/head');
10
10
  var router = require('next/router');
11
11
 
12
- const ProductProvider = dynamic(() => import('@gem-sdk/core').then((m) => m.ProductProvider));
13
- const ProductDetailPage = ({ themeStyle, fontStyle, seo, product, components, builderData, sectionData, }) => {
14
- const router$1 = router.useRouter();
15
- if (router$1.isFallback) {
16
- return jsxRuntime.jsx("div", { children: "Loading..." });
17
- }
18
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(nextSeo.NextSeo, { ...seo }), jsxRuntime.jsxs(Head, { children: [themeStyle && (jsxRuntime.jsx("style", { "data-id": "global-style", type: "text/css", dangerouslySetInnerHTML: { __html: themeStyle } })), fontStyle && (jsxRuntime.jsx("style", { "data-id": "google-fonts", type: "text/css", dangerouslySetInnerHTML: { __html: fontStyle } }))] }), jsxRuntime.jsx(core.BuilderComponentProvider, { components: components, children: jsxRuntime.jsx(core.SectionProvider, { data: sectionData, children: jsxRuntime.jsxs(ProductProvider, { product: product, children: [builderData && (jsxRuntime.jsx(core.BuilderProvider, { state: builderData, children: jsxRuntime.jsx(core.Render, { uid: "ROOT" }) })), jsxRuntime.jsx(core.AddOn, { name: "sticky-add-to-cart" })] }) }) })] }));
12
+ const ProductProvider = dynamic(()=>import('@gem-sdk/core').then((m)=>m.ProductProvider));
13
+ const ProductDetailPage = ({ themeStyle , fontStyle , seo , product , components , builderData , sectionData })=>{
14
+ const router$1 = router.useRouter();
15
+ if (router$1.isFallback) {
16
+ return /*#__PURE__*/ jsxRuntime.jsx("div", {
17
+ children: "Loading..."
18
+ });
19
+ }
20
+ return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
21
+ children: [
22
+ /*#__PURE__*/ jsxRuntime.jsx(nextSeo.NextSeo, {
23
+ ...seo
24
+ }),
25
+ /*#__PURE__*/ jsxRuntime.jsxs(Head, {
26
+ children: [
27
+ themeStyle && /*#__PURE__*/ jsxRuntime.jsx("style", {
28
+ "data-id": "global-style",
29
+ type: "text/css",
30
+ dangerouslySetInnerHTML: {
31
+ __html: themeStyle
32
+ }
33
+ }),
34
+ fontStyle && /*#__PURE__*/ jsxRuntime.jsx("style", {
35
+ "data-id": "google-fonts",
36
+ type: "text/css",
37
+ dangerouslySetInnerHTML: {
38
+ __html: fontStyle
39
+ }
40
+ })
41
+ ]
42
+ }),
43
+ /*#__PURE__*/ jsxRuntime.jsx(core.BuilderComponentProvider, {
44
+ components: components,
45
+ children: /*#__PURE__*/ jsxRuntime.jsx(core.SectionProvider, {
46
+ data: sectionData,
47
+ children: /*#__PURE__*/ jsxRuntime.jsxs(ProductProvider, {
48
+ product: product,
49
+ children: [
50
+ builderData && /*#__PURE__*/ jsxRuntime.jsx(core.BuilderProvider, {
51
+ state: builderData,
52
+ children: /*#__PURE__*/ jsxRuntime.jsx(core.Render, {
53
+ uid: "ROOT"
54
+ })
55
+ }),
56
+ /*#__PURE__*/ jsxRuntime.jsx(core.AddOn, {
57
+ name: "sticky-add-to-cart"
58
+ })
59
+ ]
60
+ })
61
+ })
62
+ })
63
+ ]
64
+ });
19
65
  };
20
66
 
21
67
  exports.default = ProductDetailPage;
@@ -8,13 +8,68 @@ var router = require('next/router');
8
8
  var useTrackingView = require('../libs/hooks/use-tracking-view.js');
9
9
  var parseHtml = require('../libs/parse-html.js');
10
10
 
11
- const StaticPageV2 = ({ components, builderData, sectionData, seo, themeStyle, fontStyle, customCodeHeader, shopToken, pageHandle, }) => {
12
- const router$1 = router.useRouter();
13
- useTrackingView.useTrackingView(shopToken, pageHandle, router$1.isFallback);
14
- if (router$1.isFallback) {
15
- return (jsxRuntime.jsx("div", { className: "flex h-full items-center justify-center", children: jsxRuntime.jsxs("div", { className: "flex gap-2", children: [jsxRuntime.jsx("span", { className: "aspect-square h-2 animate-[flashing_500ms_infinite_alternate] rounded-full bg-slate-800" }), jsxRuntime.jsx("span", { className: "aspect-square h-2 animate-[flashing_500ms_infinite_200ms_linear_alternate] rounded-full bg-slate-800" }), jsxRuntime.jsx("span", { className: "aspect-square h-2 animate-[flashing_500ms_infinite_500ms_alternate] rounded-full bg-slate-800" })] }) }));
16
- }
17
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(nextSeo.NextSeo, { ...seo }), jsxRuntime.jsxs(Head, { children: [parseHtml.parseHtml(customCodeHeader, true), themeStyle && (jsxRuntime.jsx("style", { "data-id": "global-style", type: "text/css", dangerouslySetInnerHTML: { __html: themeStyle } })), fontStyle && (jsxRuntime.jsx("style", { "data-id": "google-fonts", type: "text/css", dangerouslySetInnerHTML: { __html: fontStyle } }))] }), jsxRuntime.jsx(core.BuilderComponentProvider, { components: components, children: jsxRuntime.jsx(core.SectionProvider, { data: sectionData, children: builderData?.map((builder) => (jsxRuntime.jsx(core.BuilderProvider, { state: builder.data, lazy: builder.lazy, priority: builder.priority, children: jsxRuntime.jsx(core.Render, { uid: builder.uid }) }, builder.uid))) }) })] }));
11
+ const StaticPageV2 = ({ components , builderData , sectionData , seo , themeStyle , fontStyle , customCodeHeader , shopToken , pageHandle })=>{
12
+ const router$1 = router.useRouter();
13
+ useTrackingView.useTrackingView(shopToken, pageHandle, router$1.isFallback);
14
+ if (router$1.isFallback) {
15
+ return /*#__PURE__*/ jsxRuntime.jsx("div", {
16
+ className: "flex h-full items-center justify-center",
17
+ children: /*#__PURE__*/ jsxRuntime.jsxs("div", {
18
+ className: "flex gap-2",
19
+ children: [
20
+ /*#__PURE__*/ jsxRuntime.jsx("span", {
21
+ className: "aspect-square h-2 animate-[flashing_500ms_infinite_alternate] rounded-full bg-slate-800"
22
+ }),
23
+ /*#__PURE__*/ jsxRuntime.jsx("span", {
24
+ className: "aspect-square h-2 animate-[flashing_500ms_infinite_200ms_linear_alternate] rounded-full bg-slate-800"
25
+ }),
26
+ /*#__PURE__*/ jsxRuntime.jsx("span", {
27
+ className: "aspect-square h-2 animate-[flashing_500ms_infinite_500ms_alternate] rounded-full bg-slate-800"
28
+ })
29
+ ]
30
+ })
31
+ });
32
+ }
33
+ return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
34
+ children: [
35
+ /*#__PURE__*/ jsxRuntime.jsx(nextSeo.NextSeo, {
36
+ ...seo
37
+ }),
38
+ /*#__PURE__*/ jsxRuntime.jsxs(Head, {
39
+ children: [
40
+ parseHtml.parseHtml(customCodeHeader, true),
41
+ themeStyle && /*#__PURE__*/ jsxRuntime.jsx("style", {
42
+ "data-id": "global-style",
43
+ type: "text/css",
44
+ dangerouslySetInnerHTML: {
45
+ __html: themeStyle
46
+ }
47
+ }),
48
+ fontStyle && /*#__PURE__*/ jsxRuntime.jsx("style", {
49
+ "data-id": "google-fonts",
50
+ type: "text/css",
51
+ dangerouslySetInnerHTML: {
52
+ __html: fontStyle
53
+ }
54
+ })
55
+ ]
56
+ }),
57
+ /*#__PURE__*/ jsxRuntime.jsx(core.BuilderComponentProvider, {
58
+ components: components,
59
+ children: /*#__PURE__*/ jsxRuntime.jsx(core.SectionProvider, {
60
+ data: sectionData,
61
+ children: builderData?.map((builder)=>/*#__PURE__*/ jsxRuntime.jsx(core.BuilderProvider, {
62
+ state: builder.data,
63
+ lazy: builder.lazy,
64
+ priority: builder.priority,
65
+ children: /*#__PURE__*/ jsxRuntime.jsx(core.Render, {
66
+ uid: builder.uid
67
+ })
68
+ }, builder.uid))
69
+ })
70
+ })
71
+ ]
72
+ });
18
73
  };
19
74
 
20
75
  exports.StaticPageV2 = StaticPageV2;
@@ -8,12 +8,66 @@ var nextSeo = require('next-seo');
8
8
  var Head = require('next/head');
9
9
  var router = require('next/router');
10
10
 
11
- const StaticPage = ({ components, builderData, sectionData, seo, themeStyle, fontStyle, }) => {
12
- const router$1 = router.useRouter();
13
- if (router$1.isFallback) {
14
- return (jsxRuntime.jsx("div", { className: "flex h-full items-center justify-center", children: jsxRuntime.jsxs("div", { className: "flex gap-2", children: [jsxRuntime.jsx("span", { className: "aspect-square h-2 animate-[flashing_500ms_infinite_alternate] rounded-full bg-slate-800" }), jsxRuntime.jsx("span", { className: "aspect-square h-2 animate-[flashing_500ms_infinite_200ms_linear_alternate] rounded-full bg-slate-800" }), jsxRuntime.jsx("span", { className: "aspect-square h-2 animate-[flashing_500ms_infinite_500ms_alternate] rounded-full bg-slate-800" })] }) }));
15
- }
16
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(nextSeo.NextSeo, { ...seo }), jsxRuntime.jsxs(Head, { children: [themeStyle && (jsxRuntime.jsx("style", { "data-id": "global-style", type: "text/css", dangerouslySetInnerHTML: { __html: themeStyle } })), fontStyle && (jsxRuntime.jsx("style", { "data-id": "google-fonts", type: "text/css", dangerouslySetInnerHTML: { __html: fontStyle } }))] }), jsxRuntime.jsx(core.BuilderComponentProvider, { components: components, children: jsxRuntime.jsx(core.SectionProvider, { data: sectionData, children: jsxRuntime.jsx(jsxRuntime.Fragment, { children: builderData && (jsxRuntime.jsx(core.BuilderProvider, { state: builderData, children: jsxRuntime.jsx(core.Render, { uid: "ROOT" }) }, "body")) }) }) })] }));
11
+ const StaticPage = ({ components , builderData , sectionData , seo , themeStyle , fontStyle })=>{
12
+ const router$1 = router.useRouter();
13
+ if (router$1.isFallback) {
14
+ return /*#__PURE__*/ jsxRuntime.jsx("div", {
15
+ className: "flex h-full items-center justify-center",
16
+ children: /*#__PURE__*/ jsxRuntime.jsxs("div", {
17
+ className: "flex gap-2",
18
+ children: [
19
+ /*#__PURE__*/ jsxRuntime.jsx("span", {
20
+ className: "aspect-square h-2 animate-[flashing_500ms_infinite_alternate] rounded-full bg-slate-800"
21
+ }),
22
+ /*#__PURE__*/ jsxRuntime.jsx("span", {
23
+ className: "aspect-square h-2 animate-[flashing_500ms_infinite_200ms_linear_alternate] rounded-full bg-slate-800"
24
+ }),
25
+ /*#__PURE__*/ jsxRuntime.jsx("span", {
26
+ className: "aspect-square h-2 animate-[flashing_500ms_infinite_500ms_alternate] rounded-full bg-slate-800"
27
+ })
28
+ ]
29
+ })
30
+ });
31
+ }
32
+ return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
33
+ children: [
34
+ /*#__PURE__*/ jsxRuntime.jsx(nextSeo.NextSeo, {
35
+ ...seo
36
+ }),
37
+ /*#__PURE__*/ jsxRuntime.jsxs(Head, {
38
+ children: [
39
+ themeStyle && /*#__PURE__*/ jsxRuntime.jsx("style", {
40
+ "data-id": "global-style",
41
+ type: "text/css",
42
+ dangerouslySetInnerHTML: {
43
+ __html: themeStyle
44
+ }
45
+ }),
46
+ fontStyle && /*#__PURE__*/ jsxRuntime.jsx("style", {
47
+ "data-id": "google-fonts",
48
+ type: "text/css",
49
+ dangerouslySetInnerHTML: {
50
+ __html: fontStyle
51
+ }
52
+ })
53
+ ]
54
+ }),
55
+ /*#__PURE__*/ jsxRuntime.jsx(core.BuilderComponentProvider, {
56
+ components: components,
57
+ children: /*#__PURE__*/ jsxRuntime.jsx(core.SectionProvider, {
58
+ data: sectionData,
59
+ children: /*#__PURE__*/ jsxRuntime.jsx(jsxRuntime.Fragment, {
60
+ children: builderData && /*#__PURE__*/ jsxRuntime.jsx(core.BuilderProvider, {
61
+ state: builderData,
62
+ children: /*#__PURE__*/ jsxRuntime.jsx(core.Render, {
63
+ uid: "ROOT"
64
+ })
65
+ }, "body")
66
+ })
67
+ })
68
+ })
69
+ ]
70
+ });
17
71
  };
18
72
 
19
73
  exports.default = StaticPage;
@@ -1,30 +1,38 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { Component } from 'react';
3
3
 
4
- const initialState = { hasError: false };
5
- class ErrorBoundary extends Component {
6
- state = initialState;
7
- static getDerivedStateFromError(error) {
8
- // Update state so the next render will show the fallback UI
9
- return { hasError: true, error };
10
- }
11
- reset = () => {
12
- this.setState(initialState);
13
- };
14
- componentDidCatch(error, errorInfo) {
15
- // You can use your own error logging service here
16
- this.props.onError?.(error, errorInfo);
17
- }
18
- render() {
19
- const { FallbackComponent } = this.props;
20
- // Check if the error is thrown
21
- if (this.state.hasError) {
22
- // You can render any custom fallback UI
23
- return jsx(FallbackComponent, { error: this.state.error, resetErrorBoundary: this.reset });
24
- }
25
- // Return children components in case of no error
26
- return this.props.children;
27
- }
4
+ const initialState = {
5
+ hasError: false
6
+ };
7
+ class ErrorBoundary extends Component {
8
+ state = initialState;
9
+ static getDerivedStateFromError(error) {
10
+ // Update state so the next render will show the fallback UI
11
+ return {
12
+ hasError: true,
13
+ error
14
+ };
15
+ }
16
+ reset = ()=>{
17
+ this.setState(initialState);
18
+ };
19
+ componentDidCatch(error, errorInfo) {
20
+ // You can use your own error logging service here
21
+ this.props.onError?.(error, errorInfo);
22
+ }
23
+ render() {
24
+ const { FallbackComponent } = this.props;
25
+ // Check if the error is thrown
26
+ if (this.state.hasError) {
27
+ // You can render any custom fallback UI
28
+ return /*#__PURE__*/ jsx(FallbackComponent, {
29
+ error: this.state.error,
30
+ resetErrorBoundary: this.reset
31
+ });
32
+ }
33
+ // Return children components in case of no error
34
+ return this.props.children;
35
+ }
28
36
  }
29
37
 
30
38
  export { ErrorBoundary };
@@ -1,7 +1,24 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
 
3
- const ErrorFallback = ({ error, resetErrorBoundary }) => {
4
- return (jsxs("div", { role: "alert", className: "flex flex-col items-center gap-2", children: [jsx("p", { className: "text-center text-2xl", children: "Oops! Something went wrong" }), jsx("pre", { children: error?.message }), jsx("button", { onClick: resetErrorBoundary, className: "inline-flex h-10 items-center justify-center gap-2 rounded bg-[#3C67FF] px-6 text-white active:translate-y-1", children: "Try again" })] }));
3
+ const ErrorFallback = ({ error , resetErrorBoundary })=>{
4
+ return /*#__PURE__*/ jsxs("div", {
5
+ role: "alert",
6
+ className: "flex flex-col items-center gap-2",
7
+ children: [
8
+ /*#__PURE__*/ jsx("p", {
9
+ className: "text-center text-2xl",
10
+ children: "Oops! Something went wrong"
11
+ }),
12
+ /*#__PURE__*/ jsx("pre", {
13
+ children: error?.message
14
+ }),
15
+ /*#__PURE__*/ jsx("button", {
16
+ onClick: resetErrorBoundary,
17
+ className: "inline-flex h-10 items-center justify-center gap-2 rounded bg-[#3C67FF] px-6 text-white active:translate-y-1",
18
+ children: "Try again"
19
+ })
20
+ ]
21
+ });
5
22
  };
6
23
 
7
24
  export { ErrorFallback };
@@ -4,24 +4,28 @@ import { useRouter } from 'next/router';
4
4
  import Script from 'next/script';
5
5
  import { useEffect } from 'react';
6
6
 
7
- const FacebookPixel = ({ pixelId }) => {
8
- const router = useRouter();
9
- useEffect(() => {
10
- // This pageview only triggers the first time (it's important for Pixel to have real information)
11
- fpixel.pageview();
12
- const handleRouteChange = () => {
13
- fpixel.pageview();
14
- };
15
- router.events.on('routeChangeComplete', handleRouteChange);
16
- router.events.on('hashChangeComplete', handleRouteChange);
17
- return () => {
18
- router.events.off('routeChangeComplete', handleRouteChange);
19
- router.events.off('hashChangeComplete', handleRouteChange);
20
- };
21
- }, [router.events]);
22
- if (!pixelId)
23
- return null;
24
- return (jsx(Script, { id: "fb-pixel", strategy: "afterInteractive", dangerouslySetInnerHTML: {
7
+ const FacebookPixel = ({ pixelId })=>{
8
+ const router = useRouter();
9
+ useEffect(()=>{
10
+ // This pageview only triggers the first time (it's important for Pixel to have real information)
11
+ fpixel.pageview();
12
+ const handleRouteChange = ()=>{
13
+ fpixel.pageview();
14
+ };
15
+ router.events.on('routeChangeComplete', handleRouteChange);
16
+ router.events.on('hashChangeComplete', handleRouteChange);
17
+ return ()=>{
18
+ router.events.off('routeChangeComplete', handleRouteChange);
19
+ router.events.off('hashChangeComplete', handleRouteChange);
20
+ };
21
+ }, [
22
+ router.events
23
+ ]);
24
+ if (!pixelId) return null;
25
+ return /*#__PURE__*/ jsx(Script, {
26
+ id: "fb-pixel",
27
+ strategy: "afterInteractive",
28
+ dangerouslySetInnerHTML: {
25
29
  __html: `
26
30
  !function(f,b,e,v,n,t,s)
27
31
  {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
@@ -32,8 +36,9 @@ const FacebookPixel = ({ pixelId }) => {
32
36
  s.parentNode.insertBefore(t,s)}(window, document,'script',
33
37
  'https://connect.facebook.net/en_US/fbevents.js');
34
38
  fbq('init', ${pixelId});
35
- `,
36
- } }));
39
+ `
40
+ }
41
+ });
37
42
  };
38
43
 
39
44
  export { FacebookPixel };