@blaze-cms/nextjs-tools 0.124.0-alpha.9 → 0.124.0

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/CHANGELOG.md CHANGED
@@ -3,6 +3,276 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [0.124.0](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.43...v0.124.0) (2022-08-08)
7
+
8
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
9
+
10
+
11
+
12
+
13
+
14
+ # [0.124.0-alpha.43](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.42...v0.124.0-alpha.43) (2022-08-05)
15
+
16
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
17
+
18
+
19
+
20
+
21
+
22
+ # [0.124.0-alpha.42](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.41...v0.124.0-alpha.42) (2022-08-04)
23
+
24
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
25
+
26
+
27
+
28
+
29
+
30
+ # [0.124.0-alpha.40](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.39...v0.124.0-alpha.40) (2022-07-13)
31
+
32
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
33
+
34
+
35
+
36
+
37
+
38
+ # [0.124.0-alpha.39](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.38...v0.124.0-alpha.39) (2022-07-13)
39
+
40
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
41
+
42
+
43
+
44
+
45
+
46
+ # [0.124.0-alpha.38](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.37...v0.124.0-alpha.38) (2022-07-07)
47
+
48
+
49
+ ### Bug Fixes
50
+
51
+ * add debug bar styles ([#3530](https://github.com/thebyte9/blaze/issues/3530)) ([bb78a6b](https://github.com/thebyte9/blaze/commit/bb78a6b2941153d833bc00d970b1f586635d632a))
52
+
53
+
54
+
55
+
56
+
57
+ # [0.124.0-alpha.37](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.36...v0.124.0-alpha.37) (2022-06-29)
58
+
59
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
60
+
61
+
62
+
63
+
64
+
65
+ # [0.124.0-alpha.36](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.35...v0.124.0-alpha.36) (2022-06-28)
66
+
67
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
68
+
69
+
70
+
71
+
72
+
73
+ # [0.124.0-alpha.35](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.34...v0.124.0-alpha.35) (2022-06-27)
74
+
75
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
76
+
77
+
78
+
79
+
80
+
81
+ # [0.124.0-alpha.34](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.33...v0.124.0-alpha.34) (2022-06-24)
82
+
83
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
84
+
85
+
86
+
87
+
88
+
89
+ # [0.124.0-alpha.33](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.32...v0.124.0-alpha.33) (2022-06-21)
90
+
91
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
92
+
93
+
94
+
95
+
96
+
97
+ # [0.124.0-alpha.32](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.31...v0.124.0-alpha.32) (2022-06-17)
98
+
99
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
100
+
101
+
102
+
103
+
104
+
105
+ # [0.124.0-alpha.31](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.30...v0.124.0-alpha.31) (2022-06-13)
106
+
107
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
108
+
109
+
110
+
111
+
112
+
113
+ # [0.124.0-alpha.30](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.29...v0.124.0-alpha.30) (2022-06-09)
114
+
115
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
116
+
117
+
118
+
119
+
120
+
121
+ # [0.124.0-alpha.29](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.28...v0.124.0-alpha.29) (2022-06-06)
122
+
123
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
124
+
125
+
126
+
127
+
128
+
129
+ # [0.124.0-alpha.28](https://byte9/thebyte9/blaze/compare/v0.124.0-alpha.27...v0.124.0-alpha.28) (2022-05-27)
130
+
131
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
132
+
133
+
134
+
135
+
136
+
137
+ # [0.124.0-alpha.26](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.25...v0.124.0-alpha.26) (2022-05-24)
138
+
139
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
140
+
141
+
142
+
143
+
144
+
145
+ # [0.124.0-alpha.25](https://byte9/thebyte9/blaze/compare/v0.124.0-alpha.24...v0.124.0-alpha.25) (2022-05-24)
146
+
147
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
148
+
149
+
150
+
151
+
152
+
153
+ # [0.124.0-alpha.24](https://byte9/thebyte9/blaze/compare/v0.124.0-alpha.23...v0.124.0-alpha.24) (2022-05-24)
154
+
155
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
156
+
157
+
158
+
159
+
160
+
161
+ # [0.124.0-alpha.23](https://byte9/thebyte9/blaze/compare/v0.124.0-alpha.22...v0.124.0-alpha.23) (2022-05-24)
162
+
163
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
164
+
165
+
166
+
167
+
168
+
169
+ # [0.124.0-alpha.22](https://byte9/thebyte9/blaze/compare/v0.124.0-alpha.21...v0.124.0-alpha.22) (2022-05-24)
170
+
171
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
172
+
173
+
174
+
175
+
176
+
177
+ # [0.124.0-alpha.21](https://byte9/thebyte9/blaze/compare/v0.124.0-alpha.20...v0.124.0-alpha.21) (2022-05-24)
178
+
179
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
180
+
181
+
182
+
183
+
184
+
185
+ # [0.124.0-alpha.20](https://byte9/thebyte9/blaze/compare/v0.124.0-alpha.19...v0.124.0-alpha.20) (2022-05-24)
186
+
187
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
188
+
189
+
190
+
191
+
192
+
193
+ # [0.124.0-alpha.19](https://byte9/thebyte9/blaze/compare/v0.124.0-alpha.18...v0.124.0-alpha.19) (2022-05-18)
194
+
195
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
196
+
197
+
198
+
199
+
200
+
201
+ # [0.124.0-alpha.18](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.17...v0.124.0-alpha.18) (2022-05-17)
202
+
203
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
204
+
205
+
206
+
207
+
208
+
209
+ # [0.124.0-alpha.17](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.16...v0.124.0-alpha.17) (2022-05-13)
210
+
211
+
212
+ ### Features
213
+
214
+ * adding cache control max age property ([#3385](https://github.com/thebyte9/blaze/issues/3385)) ([ace668e](https://github.com/thebyte9/blaze/commit/ace668e708ea867d0b86543aca149ae57d5e51a5))
215
+
216
+
217
+
218
+
219
+
220
+ # [0.124.0-alpha.16](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.15...v0.124.0-alpha.16) (2022-05-12)
221
+
222
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
223
+
224
+
225
+
226
+
227
+
228
+ # [0.124.0-alpha.15](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.14...v0.124.0-alpha.15) (2022-05-11)
229
+
230
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
231
+
232
+
233
+
234
+
235
+
236
+ # [0.124.0-alpha.14](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.13...v0.124.0-alpha.14) (2022-05-11)
237
+
238
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
239
+
240
+
241
+
242
+
243
+
244
+ # [0.124.0-alpha.13](https://byte9/thebyte9/blaze/compare/v0.124.0-alpha.12...v0.124.0-alpha.13) (2022-05-11)
245
+
246
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
247
+
248
+
249
+
250
+
251
+
252
+ # [0.124.0-alpha.12](https://byte9/thebyte9/blaze/compare/v0.124.0-alpha.11...v0.124.0-alpha.12) (2022-05-11)
253
+
254
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
255
+
256
+
257
+
258
+
259
+
260
+ # [0.124.0-alpha.11](https://byte9/thebyte9/blaze/compare/v0.124.0-alpha.10...v0.124.0-alpha.11) (2022-05-11)
261
+
262
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
263
+
264
+
265
+
266
+
267
+
268
+ # [0.124.0-alpha.10](https://byte9/thebyte9/blaze/compare/v0.124.0-alpha.9...v0.124.0-alpha.10) (2022-05-11)
269
+
270
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
271
+
272
+
273
+
274
+
275
+
6
276
  # [0.124.0-alpha.9](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.8...v0.124.0-alpha.9) (2022-05-10)
7
277
 
8
278
 
@@ -15,8 +15,8 @@ var _client = require("@apollo/client");
15
15
 
16
16
  var _templateObject, _templateObject2, _templateObject3;
17
17
 
18
- var pageDataFields = "\nid\nname\npreparedPageBuilderComponents\ncanonicalUrl\ncategory {\n id\n name\n}\ntags {\n id\n name\n}\nslug\nimage{\n id\n data\n url\n}\nformattedMetaTitle\nformattedMetaDescription\n__typename";
19
- var checkUrlQuery = (0, _client.gql)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n query checkUrl($url: String!) {\n checkUrl(url: $url) {\n itemId\n itemEntity\n urlTo\n pageData: record {\n ...on ContentContentInterface {\n ", "\n }\n }\n }\n }\n"])), pageDataFields);
18
+ var pageDataFields = "\nid\nname\npreparedPageBuilderComponents\ncanonicalUrl\ncategory {\n id\n name\n}\ntags {\n id\n name\n}\nslug\nimage{\n id\n data\n url\n}\nformattedMetaTitle\nformattedMetaDescription\n__typename\ncacheControlMaxAge";
19
+ var checkUrlQuery = (0, _client.gql)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n query checkUrl($url: String!) {\n checkUrl(url: $url) {\n itemId\n itemEntity\n urlTo,\n pageData: record {\n ...on ContentContentInterface {\n ", "\n }\n }\n }\n }\n"])), pageDataFields);
20
20
  exports.checkUrlQuery = checkUrlQuery;
21
21
 
22
22
  var getPageQuery = function getPageQuery(_ref) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["pageDataFields","checkUrlQuery","gql","getPageQuery","actions","get","getPublished","isPreview","getMethod","GET_ENTITY_SCHEMA"],"sources":["../../../src/application/query/index.js"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst pageDataFields = `\nid\nname\npreparedPageBuilderComponents\ncanonicalUrl\ncategory {\n id\n name\n}\ntags {\n id\n name\n}\nslug\nimage{\n id\n data\n url\n}\nformattedMetaTitle\nformattedMetaDescription\n__typename`;\n\nconst checkUrlQuery = gql`\n query checkUrl($url: String!) {\n checkUrl(url: $url) {\n itemId\n itemEntity\n urlTo\n pageData: record {\n ...on ContentContentInterface {\n ${pageDataFields}\n }\n }\n }\n }\n`;\n\nconst getPageQuery = ({ actions: { get, getPublished } = {}, isPreview }) => {\n const getMethod = !isPreview && getPublished ? getPublished : get;\n\n return gql`\n query pageData($id: String!) {\n pageData: ${getMethod}(id: $id) {\n ${pageDataFields}\n url\n }\n }\n `;\n};\n\nconst GET_ENTITY_SCHEMA = gql`\n query getEntitySchema($id: String!) {\n entitySchema: getEntitySchema(id: $id) {\n id\n identifier\n actions\n }\n }\n`;\n\nexport { checkUrlQuery, getPageQuery, GET_ENTITY_SCHEMA };\n"],"mappings":";;;;;;;;;;;;;AAAA;;;;AAEA,IAAMA,cAAc,kNAApB;AAuBA,IAAMC,aAAa,OAAGC,WAAH,wTAQPF,cARO,CAAnB;;;AAeA,IAAMG,YAAY,GAAG,SAAfA,YAAe,OAAwD;EAAA,wBAArDC,OAAqD;EAAA,yCAApB,EAAoB;EAAA,IAA1CC,GAA0C,gBAA1CA,GAA0C;EAAA,IAArCC,YAAqC,gBAArCA,YAAqC;EAAA,IAAhBC,SAAgB,QAAhBA,SAAgB;EAC3E,IAAMC,SAAS,GAAG,CAACD,SAAD,IAAcD,YAAd,GAA6BA,YAA7B,GAA4CD,GAA9D;EAEA,WAAOH,WAAP,8MAEgBM,SAFhB,EAGQR,cAHR;AAQD,CAXD;;;AAaA,IAAMS,iBAAiB,OAAGP,WAAH,yOAAvB"}
1
+ {"version":3,"file":"index.js","names":["pageDataFields","checkUrlQuery","gql","getPageQuery","actions","get","getPublished","isPreview","getMethod","GET_ENTITY_SCHEMA"],"sources":["../../../src/application/query/index.js"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst pageDataFields = `\nid\nname\npreparedPageBuilderComponents\ncanonicalUrl\ncategory {\n id\n name\n}\ntags {\n id\n name\n}\nslug\nimage{\n id\n data\n url\n}\nformattedMetaTitle\nformattedMetaDescription\n__typename\ncacheControlMaxAge`;\n\nconst checkUrlQuery = gql`\n query checkUrl($url: String!) {\n checkUrl(url: $url) {\n itemId\n itemEntity\n urlTo,\n pageData: record {\n ...on ContentContentInterface {\n ${pageDataFields}\n }\n }\n }\n }\n`;\n\nconst getPageQuery = ({ actions: { get, getPublished } = {}, isPreview }) => {\n const getMethod = !isPreview && getPublished ? getPublished : get;\n\n return gql`\n query pageData($id: String!) {\n pageData: ${getMethod}(id: $id) {\n ${pageDataFields}\n url\n }\n }\n `;\n};\n\nconst GET_ENTITY_SCHEMA = gql`\n query getEntitySchema($id: String!) {\n entitySchema: getEntitySchema(id: $id) {\n id\n identifier\n actions\n }\n }\n`;\n\nexport { checkUrlQuery, getPageQuery, GET_ENTITY_SCHEMA };\n"],"mappings":";;;;;;;;;;;;;AAAA;;;;AAEA,IAAMA,cAAc,sOAApB;AAwBA,IAAMC,aAAa,OAAGC,WAAH,yTAQPF,cARO,CAAnB;;;AAeA,IAAMG,YAAY,GAAG,SAAfA,YAAe,OAAwD;EAAA,wBAArDC,OAAqD;EAAA,yCAApB,EAAoB;EAAA,IAA1CC,GAA0C,gBAA1CA,GAA0C;EAAA,IAArCC,YAAqC,gBAArCA,YAAqC;EAAA,IAAhBC,SAAgB,QAAhBA,SAAgB;EAC3E,IAAMC,SAAS,GAAG,CAACD,SAAD,IAAcD,YAAd,GAA6BA,YAA7B,GAA4CD,GAA9D;EAEA,WAAOH,WAAP,8MAEgBM,SAFhB,EAGQR,cAHR;AAQD,CAXD;;;AAaA,IAAMS,iBAAiB,OAAGP,WAAH,yOAAvB"}
@@ -33,6 +33,8 @@ var _classnames = _interopRequireDefault(require("classnames"));
33
33
 
34
34
  var _nextjsComponents = require("@blaze-cms/nextjs-components");
35
35
 
36
+ var _md = require("react-icons/md");
37
+
36
38
  var _helpers = require("../../helpers");
37
39
 
38
40
  var _constants = require("../../constants");
@@ -85,9 +87,7 @@ var DebugSidebar = function DebugSidebar(_ref) {
85
87
  onClick: function onClick() {
86
88
  return setIsOpen(!isOpen);
87
89
  }
88
- }, /*#__PURE__*/_react["default"].createElement("i", {
89
- className: "material-icons"
90
- }, "keyboard_arrow_left"))) : null);
90
+ }, /*#__PURE__*/_react["default"].createElement("i", null, /*#__PURE__*/_react["default"].createElement(_md.MdKeyboardArrowLeft, null)))) : null);
91
91
  };
92
92
 
93
93
  DebugSidebar.propTypes = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["DebugSidebar","itemEntity","itemId","debugMode","isDebugMode","setIsDebugMode","isOpen","setIsOpen","divClass","href","DEBUG_LOGO","SRC","ALT","propTypes","PropTypes","string","bool","defaultProps"],"sources":["../../../src/components/DebugSidebar/index.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport { buildAdminHref, setBlazeDebug } from '../../helpers';\nimport { DEBUG_LOGO } from '../../constants';\n\nconst DebugSidebar = ({ itemEntity, itemId, debugMode }) => {\n const [isDebugMode, setIsDebugMode] = useState(debugMode);\n const [isOpen, setIsOpen] = useState(true);\n\n useEffect(\n () => {\n if (debugMode === true) {\n setIsDebugMode(debugMode);\n } else setBlazeDebug(setIsDebugMode);\n },\n [debugMode]\n );\n\n const divClass = classnames('debug-sidebar', {\n 'debug-sidebar--open': isOpen,\n 'debug-sidebar--close': !isOpen\n });\n\n const href = buildAdminHref({ itemEntity, itemId });\n\n return (\n <>\n {isDebugMode ? (\n <div className={divClass} data-testid=\"debug-sidebar\">\n <Link href={href}>\n <img src={DEBUG_LOGO.SRC} alt={DEBUG_LOGO.ALT} />\n <span>Blaze admin</span>\n </Link>\n <div\n role=\"button\"\n className=\"debug-sidebar__button open\"\n data-testid=\"debug-sidebar-button\"\n id=\"debug-sidebar-button\"\n onClick={() => setIsOpen(!isOpen)}>\n <i className=\"material-icons\">keyboard_arrow_left</i>\n </div>\n </div>\n ) : null}\n </>\n );\n};\n\nDebugSidebar.propTypes = {\n itemEntity: PropTypes.string,\n itemId: PropTypes.string,\n debugMode: PropTypes.bool\n};\n\nDebugSidebar.defaultProps = {\n itemEntity: '',\n itemId: '',\n debugMode: false\n};\n\nexport default DebugSidebar;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,YAAY,GAAG,SAAfA,YAAe,OAAuC;EAAA,IAApCC,UAAoC,QAApCA,UAAoC;EAAA,IAAxBC,MAAwB,QAAxBA,MAAwB;EAAA,IAAhBC,SAAgB,QAAhBA,SAAgB;;EAC1D,gBAAsC,qBAASA,SAAT,CAAtC;EAAA;EAAA,IAAOC,WAAP;EAAA,IAAoBC,cAApB;;EACA,iBAA4B,qBAAS,IAAT,CAA5B;EAAA;EAAA,IAAOC,MAAP;EAAA,IAAeC,SAAf;;EAEA,sBACE,YAAM;IACJ,IAAIJ,SAAS,KAAK,IAAlB,EAAwB;MACtBE,cAAc,CAACF,SAAD,CAAd;IACD,CAFD,MAEO,4BAAcE,cAAd;EACR,CALH,EAME,CAACF,SAAD,CANF;EASA,IAAMK,QAAQ,GAAG,4BAAW,eAAX,EAA4B;IAC3C,uBAAuBF,MADoB;IAE3C,wBAAwB,CAACA;EAFkB,CAA5B,CAAjB;EAKA,IAAMG,IAAI,GAAG,6BAAe;IAAER,UAAU,EAAVA,UAAF;IAAcC,MAAM,EAANA;EAAd,CAAf,CAAb;EAEA,oBACE,kEACGE,WAAW,gBACV;IAAK,SAAS,EAAEI,QAAhB;IAA0B,eAAY;EAAtC,gBACE,gCAAC,sBAAD;IAAM,IAAI,EAAEC;EAAZ,gBACE;IAAK,GAAG,EAAEC,sBAAWC,GAArB;IAA0B,GAAG,EAAED,sBAAWE;EAA1C,EADF,eAEE,4DAFF,CADF,eAKE;IACE,IAAI,EAAC,QADP;IAEE,SAAS,EAAC,4BAFZ;IAGE,eAAY,sBAHd;IAIE,EAAE,EAAC,sBAJL;IAKE,OAAO,EAAE;MAAA,OAAML,SAAS,CAAC,CAACD,MAAF,CAAf;IAAA;EALX,gBAME;IAAG,SAAS,EAAC;EAAb,yBANF,CALF,CADU,GAeR,IAhBN,CADF;AAoBD,CAxCD;;AA0CAN,YAAY,CAACa,SAAb,GAAyB;EACvBZ,UAAU,EAAEa,sBAAUC,MADC;EAEvBb,MAAM,EAAEY,sBAAUC,MAFK;EAGvBZ,SAAS,EAAEW,sBAAUE;AAHE,CAAzB;AAMAhB,YAAY,CAACiB,YAAb,GAA4B;EAC1BhB,UAAU,EAAE,EADc;EAE1BC,MAAM,EAAE,EAFkB;EAG1BC,SAAS,EAAE;AAHe,CAA5B;eAMeH,Y"}
1
+ {"version":3,"file":"index.js","names":["DebugSidebar","itemEntity","itemId","debugMode","isDebugMode","setIsDebugMode","isOpen","setIsOpen","divClass","href","DEBUG_LOGO","SRC","ALT","propTypes","PropTypes","string","bool","defaultProps"],"sources":["../../../src/components/DebugSidebar/index.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport { MdKeyboardArrowLeft } from 'react-icons/md';\nimport { buildAdminHref, setBlazeDebug } from '../../helpers';\nimport { DEBUG_LOGO } from '../../constants';\n\nconst DebugSidebar = ({ itemEntity, itemId, debugMode }) => {\n const [isDebugMode, setIsDebugMode] = useState(debugMode);\n const [isOpen, setIsOpen] = useState(true);\n\n useEffect(\n () => {\n if (debugMode === true) {\n setIsDebugMode(debugMode);\n } else setBlazeDebug(setIsDebugMode);\n },\n [debugMode]\n );\n\n const divClass = classnames('debug-sidebar', {\n 'debug-sidebar--open': isOpen,\n 'debug-sidebar--close': !isOpen\n });\n\n const href = buildAdminHref({ itemEntity, itemId });\n\n return (\n <>\n {isDebugMode ? (\n <div className={divClass} data-testid=\"debug-sidebar\">\n <Link href={href}>\n <img src={DEBUG_LOGO.SRC} alt={DEBUG_LOGO.ALT} />\n <span>Blaze admin</span>\n </Link>\n <div\n role=\"button\"\n className=\"debug-sidebar__button open\"\n data-testid=\"debug-sidebar-button\"\n id=\"debug-sidebar-button\"\n onClick={() => setIsOpen(!isOpen)}>\n <i>\n <MdKeyboardArrowLeft />\n </i>\n </div>\n </div>\n ) : null}\n </>\n );\n};\n\nDebugSidebar.propTypes = {\n itemEntity: PropTypes.string,\n itemId: PropTypes.string,\n debugMode: PropTypes.bool\n};\n\nDebugSidebar.defaultProps = {\n itemEntity: '',\n itemId: '',\n debugMode: false\n};\n\nexport default DebugSidebar;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,YAAY,GAAG,SAAfA,YAAe,OAAuC;EAAA,IAApCC,UAAoC,QAApCA,UAAoC;EAAA,IAAxBC,MAAwB,QAAxBA,MAAwB;EAAA,IAAhBC,SAAgB,QAAhBA,SAAgB;;EAC1D,gBAAsC,qBAASA,SAAT,CAAtC;EAAA;EAAA,IAAOC,WAAP;EAAA,IAAoBC,cAApB;;EACA,iBAA4B,qBAAS,IAAT,CAA5B;EAAA;EAAA,IAAOC,MAAP;EAAA,IAAeC,SAAf;;EAEA,sBACE,YAAM;IACJ,IAAIJ,SAAS,KAAK,IAAlB,EAAwB;MACtBE,cAAc,CAACF,SAAD,CAAd;IACD,CAFD,MAEO,4BAAcE,cAAd;EACR,CALH,EAME,CAACF,SAAD,CANF;EASA,IAAMK,QAAQ,GAAG,4BAAW,eAAX,EAA4B;IAC3C,uBAAuBF,MADoB;IAE3C,wBAAwB,CAACA;EAFkB,CAA5B,CAAjB;EAKA,IAAMG,IAAI,GAAG,6BAAe;IAAER,UAAU,EAAVA,UAAF;IAAcC,MAAM,EAANA;EAAd,CAAf,CAAb;EAEA,oBACE,kEACGE,WAAW,gBACV;IAAK,SAAS,EAAEI,QAAhB;IAA0B,eAAY;EAAtC,gBACE,gCAAC,sBAAD;IAAM,IAAI,EAAEC;EAAZ,gBACE;IAAK,GAAG,EAAEC,sBAAWC,GAArB;IAA0B,GAAG,EAAED,sBAAWE;EAA1C,EADF,eAEE,4DAFF,CADF,eAKE;IACE,IAAI,EAAC,QADP;IAEE,SAAS,EAAC,4BAFZ;IAGE,eAAY,sBAHd;IAIE,EAAE,EAAC,sBAJL;IAKE,OAAO,EAAE;MAAA,OAAML,SAAS,CAAC,CAACD,MAAF,CAAf;IAAA;EALX,gBAME,wDACE,gCAAC,uBAAD,OADF,CANF,CALF,CADU,GAiBR,IAlBN,CADF;AAsBD,CA1CD;;AA4CAN,YAAY,CAACa,SAAb,GAAyB;EACvBZ,UAAU,EAAEa,sBAAUC,MADC;EAEvBb,MAAM,EAAEY,sBAAUC,MAFK;EAGvBZ,SAAS,EAAEW,sBAAUE;AAHE,CAAzB;AAMAhB,YAAY,CAACiB,YAAb,GAA4B;EAC1BhB,UAAU,EAAE,EADc;EAE1BC,MAAM,EAAE,EAFkB;EAG1BC,SAAS,EAAE;AAHe,CAA5B;eAMeH,Y"}
@@ -97,8 +97,8 @@ var checkUrl = /*#__PURE__*/function () {
97
97
  break;
98
98
  }
99
99
 
100
- res.setHeader('Cache-Control', process.env.BLAZE_CACHE_CONTROL_HEADER || '');
101
100
  handler = _handleStaticRoutes["default"].getHandler(asPath);
101
+ res.setHeader('Cache-Control', process.env.BLAZE_CACHE_CONTROL_HEADER || '');
102
102
 
103
103
  if (!handler) {
104
104
  _context.next = 10;
@@ -223,7 +223,7 @@ var getFullUrl = function getFullUrl(req, asPath) {
223
223
 
224
224
  var doUrlCheck = /*#__PURE__*/function () {
225
225
  var _ref5 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(_ref4) {
226
- var url, apolloClient, res, handle404Error, blazeApp, _yield$apolloClient$q, _yield$apolloClient$q2, itemId, itemEntity, urlTo, pageData, rootSelectorClasses, parentPATH;
226
+ var url, apolloClient, res, handle404Error, blazeApp, _yield$apolloClient$q, _yield$apolloClient$q2, itemId, itemEntity, urlTo, _yield$apolloClient$q3, pageData, _ref6, _ref6$cacheControlMax, cacheControlMaxAge, rootSelectorClasses, parentPATH;
227
227
 
228
228
  return _regenerator["default"].wrap(function _callee3$(_context3) {
229
229
  while (1) {
@@ -245,10 +245,16 @@ var doUrlCheck = /*#__PURE__*/function () {
245
245
  itemId = _yield$apolloClient$q2.itemId;
246
246
  itemEntity = _yield$apolloClient$q2.itemEntity;
247
247
  urlTo = _yield$apolloClient$q2.urlTo;
248
- pageData = _yield$apolloClient$q2.pageData;
248
+ _yield$apolloClient$q3 = _yield$apolloClient$q2.pageData;
249
+ pageData = _yield$apolloClient$q3 === void 0 ? {} : _yield$apolloClient$q3;
250
+ _ref6 = pageData || {}, _ref6$cacheControlMax = _ref6.cacheControlMaxAge, cacheControlMaxAge = _ref6$cacheControlMax === void 0 ? null : _ref6$cacheControlMax; // pageData can be null when there is no page
251
+
252
+ if (res && cacheControlMaxAge !== null && cacheControlMaxAge >= 0) {
253
+ res.setHeader('Cache-Control', "max-age=".concat(cacheControlMaxAge));
254
+ }
249
255
 
250
256
  if (!(urlTo && urlTo !== url)) {
251
- _context3.next = 13;
257
+ _context3.next = 16;
252
258
  break;
253
259
  }
254
260
 
@@ -263,7 +269,7 @@ var doUrlCheck = /*#__PURE__*/function () {
263
269
 
264
270
  return _context3.abrupt("return", {});
265
271
 
266
- case 13:
272
+ case 16:
267
273
  rootSelectorClasses = (0, _getRootSelectorClasses["default"])(url, getRootClassesLimit());
268
274
  return _context3.abrupt("return", {
269
275
  pageData: pageData,
@@ -272,13 +278,13 @@ var doUrlCheck = /*#__PURE__*/function () {
272
278
  itemEntity: (0, _reactPageBuilder.getUnpublishedEntityName)(itemEntity)
273
279
  });
274
280
 
275
- case 17:
276
- _context3.prev = 17;
281
+ case 20:
282
+ _context3.prev = 20;
277
283
  _context3.t0 = _context3["catch"](1);
278
284
  parentPATH = (0, _checkParent["default"])(url);
279
285
 
280
286
  if (!(handle404Error && parentPATH && res)) {
281
- _context3.next = 25;
287
+ _context3.next = 28;
282
288
  break;
283
289
  }
284
290
 
@@ -286,21 +292,21 @@ var doUrlCheck = /*#__PURE__*/function () {
286
292
  Location: parentPATH
287
293
  });
288
294
  res.end();
289
- _context3.next = 26;
295
+ _context3.next = 29;
290
296
  break;
291
297
 
292
- case 25:
298
+ case 28:
293
299
  return _context3.abrupt("return", handleError(_context3.t0, res, handle404Error, blazeApp));
294
300
 
295
- case 26:
301
+ case 29:
296
302
  return _context3.abrupt("return", handle404Error ? {} : null);
297
303
 
298
- case 27:
304
+ case 30:
299
305
  case "end":
300
306
  return _context3.stop();
301
307
  }
302
308
  }
303
- }, _callee3, null, [[1, 17]]);
309
+ }, _callee3, null, [[1, 20]]);
304
310
  }));
305
311
 
306
312
  return function doUrlCheck(_x4) {
@@ -320,7 +326,7 @@ var handleError = function handleError(err, res, handle404Error, blazeApp) {
320
326
  });
321
327
  res.write('500 Internal Server Error\n');
322
328
  res.end();
323
- } else if (handle404Error && err.graphQLErrors.length) {
329
+ } else if (handle404Error && err.graphQLErrors && err.graphQLErrors.length) {
324
330
  res.statusCode = _constants.NOT_FOUND_STATUS_CODE;
325
331
  return {
326
332
  errorCode: _constants.NOT_FOUND_STATUS_CODE
@@ -1 +1 @@
1
- {"version":3,"file":"check-url.js","names":["getRootClassesLimit","Number","process","env","BLAZE_ROOT_SELECTOR_CLASSES_LIMIT","hasAuth","req","headers","cookie","checkUrl","props","asPath","apolloClient","res","query","blazeApp","fullUrl","getFullUrl","url","BLAZE_STATUS_URL","isStatusPage","setHeader","BLAZE_CACHE_CONTROL_HEADER","handler","handleStaticRoutes","getHandler","previewData","disableSsr","getPreviewData","urlCheckOptions","doUrlCheck","handle404Error","result","pageData","rootSelectorClasses","isPreview","getHost","BLAZE_FRONTEND_HOST","host","HTTPS","window","location","protocol","hostname","port","urlPort","COLON","DOUBLE_SLASH","checkUrlQuery","variables","data","itemId","itemEntity","urlTo","writeHead","Location","end","href","parentPATH","handleError","err","events","emit","error","networkError","write","graphQLErrors","length","statusCode","NOT_FOUND_STATUS_CODE","errorCode"],"sources":["../../src/helpers/check-url.js"],"sourcesContent":["import { parseUrl } from 'query-string';\nimport { getUnpublishedEntityName } from '@blaze-cms/react-page-builder';\nimport { getAccessToken, checkAccessToken } from '@blaze-cms/core-auth-ui';\nimport { HTTPS, DOUBLE_SLASH, COLON, NOT_FOUND_STATUS_CODE } from '../constants';\nimport { checkUrlQuery } from '../application/query';\nimport checkParent from './check-parent';\nimport checkPreviewUrl from './check-preview-url';\nimport handleStaticRoutes from './handle-static-routes';\nimport getPageData from './get-page-data';\nimport getRootSelectorClasses from './get-root-selector-classes';\n\nconst getRootClassesLimit = () => Number(process.env.BLAZE_ROOT_SELECTOR_CLASSES_LIMIT);\n\nconst hasAuth = req => {\n if (!req) return false;\n return !!getAccessToken(req.headers.cookie);\n};\n\nconst checkUrl = async props => {\n const { asPath, apolloClient, res, req, query, blazeApp } = props;\n const fullUrl = getFullUrl(req, asPath);\n const { url } = parseUrl(asPath);\n\n if (process.env.BLAZE_STATUS_URL && url === process.env.BLAZE_STATUS_URL) {\n return { isStatusPage: true };\n }\n if (res) {\n res.setHeader('Cache-Control', process.env.BLAZE_CACHE_CONTROL_HEADER || '');\n const handler = handleStaticRoutes.getHandler(asPath);\n if (handler) {\n return handler(props);\n }\n }\n\n const previewData = checkPreviewUrl(url, query);\n\n if (!previewData && hasAuth(req)) return { disableSsr: true };\n\n await checkAccessToken(apolloClient);\n\n if (previewData) return getPreviewData(previewData, apolloClient);\n const urlCheckOptions = { asPath, url, apolloClient, res };\n\n const result = await doUrlCheck({\n ...urlCheckOptions,\n handle404Error: true,\n blazeApp\n });\n\n return { ...result, fullUrl } || {};\n};\n\nconst getPreviewData = async (previewData, apolloClient) => {\n const result = await getPageData({ ...previewData, apolloClient });\n const { pageData: { url } = {} } = result;\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return { ...previewData, rootSelectorClasses, ...result, isPreview: true };\n};\n\nconst getHost = ({ headers = {} }) =>\n process.env.BLAZE_FRONTEND_HOST ||\n headers['x-request-host'] ||\n headers['x-forwarded-host'] ||\n headers.host;\n\nconst getFullUrl = (req, asPath) => {\n if (req) {\n return `${HTTPS}${getHost(req)}${asPath}`;\n }\n const {\n location: { protocol, hostname, port }\n } = window;\n const urlPort = port ? `${COLON}${port}` : '';\n\n return `${protocol}${DOUBLE_SLASH}${hostname}${urlPort}${asPath}`;\n};\n\nconst doUrlCheck = async ({ url, apolloClient, res, handle404Error, blazeApp }) => {\n try {\n const {\n data: {\n checkUrl: { itemId, itemEntity, urlTo, pageData }\n }\n } = await apolloClient.query({\n query: checkUrlQuery,\n variables: {\n url\n }\n });\n\n if (urlTo && urlTo !== url) {\n if (res) {\n res.writeHead(301, { Location: urlTo });\n res.end();\n } else {\n window.location.href = urlTo;\n }\n return {};\n }\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return {\n pageData,\n rootSelectorClasses,\n itemId,\n itemEntity: getUnpublishedEntityName(itemEntity)\n };\n } catch (err) {\n const parentPATH = checkParent(url);\n if (handle404Error && parentPATH && res) {\n res.writeHead(301, { Location: parentPATH });\n res.end();\n } else {\n return handleError(err, res, handle404Error, blazeApp);\n }\n\n return handle404Error ? {} : null;\n }\n};\n\nconst handleError = (err, res, handle404Error, blazeApp) => {\n blazeApp.events.emit('monitor:log', { error: err });\n\n if (!res) return {};\n if (err.networkError) {\n res.writeHead(500, { 'Content-Type': 'text/plain' });\n res.write('500 Internal Server Error\\n');\n res.end();\n } else if (handle404Error && err.graphQLErrors.length) {\n res.statusCode = NOT_FOUND_STATUS_CODE;\n return { errorCode: NOT_FOUND_STATUS_CODE };\n }\n\n return {};\n};\nexport default checkUrl;\n"],"mappings":"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"}
1
+ {"version":3,"file":"check-url.js","names":["getRootClassesLimit","Number","process","env","BLAZE_ROOT_SELECTOR_CLASSES_LIMIT","hasAuth","req","headers","cookie","checkUrl","props","asPath","apolloClient","res","query","blazeApp","fullUrl","getFullUrl","url","BLAZE_STATUS_URL","isStatusPage","handler","handleStaticRoutes","getHandler","setHeader","BLAZE_CACHE_CONTROL_HEADER","previewData","disableSsr","getPreviewData","urlCheckOptions","doUrlCheck","handle404Error","result","pageData","rootSelectorClasses","isPreview","getHost","BLAZE_FRONTEND_HOST","host","HTTPS","window","location","protocol","hostname","port","urlPort","COLON","DOUBLE_SLASH","checkUrlQuery","variables","data","itemId","itemEntity","urlTo","cacheControlMaxAge","writeHead","Location","end","href","parentPATH","handleError","err","events","emit","error","networkError","write","graphQLErrors","length","statusCode","NOT_FOUND_STATUS_CODE","errorCode"],"sources":["../../src/helpers/check-url.js"],"sourcesContent":["import { parseUrl } from 'query-string';\nimport { getUnpublishedEntityName } from '@blaze-cms/react-page-builder';\nimport { getAccessToken, checkAccessToken } from '@blaze-cms/core-auth-ui';\nimport { HTTPS, DOUBLE_SLASH, COLON, NOT_FOUND_STATUS_CODE } from '../constants';\nimport { checkUrlQuery } from '../application/query';\nimport checkParent from './check-parent';\nimport checkPreviewUrl from './check-preview-url';\nimport handleStaticRoutes from './handle-static-routes';\nimport getPageData from './get-page-data';\nimport getRootSelectorClasses from './get-root-selector-classes';\n\nconst getRootClassesLimit = () => Number(process.env.BLAZE_ROOT_SELECTOR_CLASSES_LIMIT);\n\nconst hasAuth = req => {\n if (!req) return false;\n return !!getAccessToken(req.headers.cookie);\n};\n\nconst checkUrl = async props => {\n const { asPath, apolloClient, res, req, query, blazeApp } = props;\n const fullUrl = getFullUrl(req, asPath);\n const { url } = parseUrl(asPath);\n\n if (process.env.BLAZE_STATUS_URL && url === process.env.BLAZE_STATUS_URL) {\n return { isStatusPage: true };\n }\n\n if (res) {\n const handler = handleStaticRoutes.getHandler(asPath);\n res.setHeader('Cache-Control', process.env.BLAZE_CACHE_CONTROL_HEADER || '');\n if (handler) {\n return handler(props);\n }\n }\n\n const previewData = checkPreviewUrl(url, query);\n\n if (!previewData && hasAuth(req)) return { disableSsr: true };\n\n await checkAccessToken(apolloClient);\n\n if (previewData) return getPreviewData(previewData, apolloClient);\n const urlCheckOptions = { asPath, url, apolloClient, res };\n const result = await doUrlCheck({\n ...urlCheckOptions,\n handle404Error: true,\n blazeApp\n });\n return { ...result, fullUrl } || {};\n};\n\nconst getPreviewData = async (previewData, apolloClient) => {\n const result = await getPageData({ ...previewData, apolloClient });\n const { pageData: { url } = {} } = result;\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return { ...previewData, rootSelectorClasses, ...result, isPreview: true };\n};\n\nconst getHost = ({ headers = {} }) =>\n process.env.BLAZE_FRONTEND_HOST ||\n headers['x-request-host'] ||\n headers['x-forwarded-host'] ||\n headers.host;\n\nconst getFullUrl = (req, asPath) => {\n if (req) {\n return `${HTTPS}${getHost(req)}${asPath}`;\n }\n const {\n location: { protocol, hostname, port }\n } = window;\n const urlPort = port ? `${COLON}${port}` : '';\n\n return `${protocol}${DOUBLE_SLASH}${hostname}${urlPort}${asPath}`;\n};\n\nconst doUrlCheck = async ({ url, apolloClient, res, handle404Error, blazeApp }) => {\n try {\n const {\n data: {\n checkUrl: { itemId, itemEntity, urlTo, pageData = {} }\n }\n } = await apolloClient.query({\n query: checkUrlQuery,\n variables: {\n url\n }\n });\n\n const { cacheControlMaxAge = null } = pageData || {}; // pageData can be null when there is no page\n if (res && cacheControlMaxAge !== null && cacheControlMaxAge >= 0) {\n res.setHeader('Cache-Control', `max-age=${cacheControlMaxAge}`);\n }\n\n if (urlTo && urlTo !== url) {\n if (res) {\n res.writeHead(301, { Location: urlTo });\n res.end();\n } else {\n window.location.href = urlTo;\n }\n return {};\n }\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return {\n pageData,\n rootSelectorClasses,\n itemId,\n itemEntity: getUnpublishedEntityName(itemEntity)\n };\n } catch (err) {\n const parentPATH = checkParent(url);\n if (handle404Error && parentPATH && res) {\n res.writeHead(301, { Location: parentPATH });\n res.end();\n } else {\n return handleError(err, res, handle404Error, blazeApp);\n }\n\n return handle404Error ? {} : null;\n }\n};\n\nconst handleError = (err, res, handle404Error, blazeApp) => {\n blazeApp.events.emit('monitor:log', { error: err });\n\n if (!res) return {};\n if (err.networkError) {\n res.writeHead(500, { 'Content-Type': 'text/plain' });\n res.write('500 Internal Server Error\\n');\n res.end();\n } else if (handle404Error && err.graphQLErrors && err.graphQLErrors.length) {\n res.statusCode = NOT_FOUND_STATUS_CODE;\n return { errorCode: NOT_FOUND_STATUS_CODE };\n }\n\n return {};\n};\nexport default checkUrl;\n"],"mappings":"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"}
@@ -20,13 +20,14 @@ image{
20
20
  }
21
21
  formattedMetaTitle
22
22
  formattedMetaDescription
23
- __typename`;
23
+ __typename
24
+ cacheControlMaxAge`;
24
25
  const checkUrlQuery = gql`
25
26
  query checkUrl($url: String!) {
26
27
  checkUrl(url: $url) {
27
28
  itemId
28
29
  itemEntity
29
- urlTo
30
+ urlTo,
30
31
  pageData: record {
31
32
  ...on ContentContentInterface {
32
33
  ${pageDataFields}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["gql","pageDataFields","checkUrlQuery","getPageQuery","actions","get","getPublished","isPreview","getMethod","GET_ENTITY_SCHEMA"],"sources":["../../../src/application/query/index.js"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst pageDataFields = `\nid\nname\npreparedPageBuilderComponents\ncanonicalUrl\ncategory {\n id\n name\n}\ntags {\n id\n name\n}\nslug\nimage{\n id\n data\n url\n}\nformattedMetaTitle\nformattedMetaDescription\n__typename`;\n\nconst checkUrlQuery = gql`\n query checkUrl($url: String!) {\n checkUrl(url: $url) {\n itemId\n itemEntity\n urlTo\n pageData: record {\n ...on ContentContentInterface {\n ${pageDataFields}\n }\n }\n }\n }\n`;\n\nconst getPageQuery = ({ actions: { get, getPublished } = {}, isPreview }) => {\n const getMethod = !isPreview && getPublished ? getPublished : get;\n\n return gql`\n query pageData($id: String!) {\n pageData: ${getMethod}(id: $id) {\n ${pageDataFields}\n url\n }\n }\n `;\n};\n\nconst GET_ENTITY_SCHEMA = gql`\n query getEntitySchema($id: String!) {\n entitySchema: getEntitySchema(id: $id) {\n id\n identifier\n actions\n }\n }\n`;\n\nexport { checkUrlQuery, getPageQuery, GET_ENTITY_SCHEMA };\n"],"mappings":"AAAA,SAASA,GAAT,QAAoB,gBAApB;AAEA,MAAMC,cAAc,GAAI;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WArBA;AAuBA,MAAMC,aAAa,GAAGF,GAAI;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAYC,cAAe;AAC3B;AACA;AACA;AACA;AACA,CAbA;;AAeA,MAAME,YAAY,GAAG,CAAC;EAAEC,OAAO,EAAE;IAAEC,GAAF;IAAOC;EAAP,IAAwB,EAAnC;EAAuCC;AAAvC,CAAD,KAAwD;EAC3E,MAAMC,SAAS,GAAG,CAACD,SAAD,IAAcD,YAAd,GAA6BA,YAA7B,GAA4CD,GAA9D;EAEA,OAAOL,GAAI;AACb;AACA,kBAAkBQ,SAAU;AAC5B,UAAUP,cAAe;AACzB;AACA;AACA;AACA,GAPE;AAQD,CAXD;;AAaA,MAAMQ,iBAAiB,GAAGT,GAAI;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CARA;AAUA,SAASE,aAAT,EAAwBC,YAAxB,EAAsCM,iBAAtC"}
1
+ {"version":3,"file":"index.js","names":["gql","pageDataFields","checkUrlQuery","getPageQuery","actions","get","getPublished","isPreview","getMethod","GET_ENTITY_SCHEMA"],"sources":["../../../src/application/query/index.js"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst pageDataFields = `\nid\nname\npreparedPageBuilderComponents\ncanonicalUrl\ncategory {\n id\n name\n}\ntags {\n id\n name\n}\nslug\nimage{\n id\n data\n url\n}\nformattedMetaTitle\nformattedMetaDescription\n__typename\ncacheControlMaxAge`;\n\nconst checkUrlQuery = gql`\n query checkUrl($url: String!) {\n checkUrl(url: $url) {\n itemId\n itemEntity\n urlTo,\n pageData: record {\n ...on ContentContentInterface {\n ${pageDataFields}\n }\n }\n }\n }\n`;\n\nconst getPageQuery = ({ actions: { get, getPublished } = {}, isPreview }) => {\n const getMethod = !isPreview && getPublished ? getPublished : get;\n\n return gql`\n query pageData($id: String!) {\n pageData: ${getMethod}(id: $id) {\n ${pageDataFields}\n url\n }\n }\n `;\n};\n\nconst GET_ENTITY_SCHEMA = gql`\n query getEntitySchema($id: String!) {\n entitySchema: getEntitySchema(id: $id) {\n id\n identifier\n actions\n }\n }\n`;\n\nexport { checkUrlQuery, getPageQuery, GET_ENTITY_SCHEMA };\n"],"mappings":"AAAA,SAASA,GAAT,QAAoB,gBAApB;AAEA,MAAMC,cAAc,GAAI;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAtBA;AAwBA,MAAMC,aAAa,GAAGF,GAAI;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAYC,cAAe;AAC3B;AACA;AACA;AACA;AACA,CAbA;;AAeA,MAAME,YAAY,GAAG,CAAC;EAAEC,OAAO,EAAE;IAAEC,GAAF;IAAOC;EAAP,IAAwB,EAAnC;EAAuCC;AAAvC,CAAD,KAAwD;EAC3E,MAAMC,SAAS,GAAG,CAACD,SAAD,IAAcD,YAAd,GAA6BA,YAA7B,GAA4CD,GAA9D;EAEA,OAAOL,GAAI;AACb;AACA,kBAAkBQ,SAAU;AAC5B,UAAUP,cAAe;AACzB;AACA;AACA;AACA,GAPE;AAQD,CAXD;;AAaA,MAAMQ,iBAAiB,GAAGT,GAAI;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CARA;AAUA,SAASE,aAAT,EAAwBC,YAAxB,EAAsCM,iBAAtC"}
@@ -2,6 +2,7 @@ import React, { useState, useEffect } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import classnames from 'classnames';
4
4
  import { Link } from '@blaze-cms/nextjs-components';
5
+ import { MdKeyboardArrowLeft } from 'react-icons/md';
5
6
  import { buildAdminHref, setBlazeDebug } from '../../helpers';
6
7
  import { DEBUG_LOGO } from '../../constants';
7
8
 
@@ -39,9 +40,7 @@ const DebugSidebar = ({
39
40
  "data-testid": "debug-sidebar-button",
40
41
  id: "debug-sidebar-button",
41
42
  onClick: () => setIsOpen(!isOpen)
42
- }, /*#__PURE__*/React.createElement("i", {
43
- className: "material-icons"
44
- }, "keyboard_arrow_left"))) : null);
43
+ }, /*#__PURE__*/React.createElement("i", null, /*#__PURE__*/React.createElement(MdKeyboardArrowLeft, null)))) : null);
45
44
  };
46
45
 
47
46
  DebugSidebar.propTypes = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useState","useEffect","PropTypes","classnames","Link","buildAdminHref","setBlazeDebug","DEBUG_LOGO","DebugSidebar","itemEntity","itemId","debugMode","isDebugMode","setIsDebugMode","isOpen","setIsOpen","divClass","href","SRC","ALT","propTypes","string","bool","defaultProps"],"sources":["../../../src/components/DebugSidebar/index.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport { buildAdminHref, setBlazeDebug } from '../../helpers';\nimport { DEBUG_LOGO } from '../../constants';\n\nconst DebugSidebar = ({ itemEntity, itemId, debugMode }) => {\n const [isDebugMode, setIsDebugMode] = useState(debugMode);\n const [isOpen, setIsOpen] = useState(true);\n\n useEffect(\n () => {\n if (debugMode === true) {\n setIsDebugMode(debugMode);\n } else setBlazeDebug(setIsDebugMode);\n },\n [debugMode]\n );\n\n const divClass = classnames('debug-sidebar', {\n 'debug-sidebar--open': isOpen,\n 'debug-sidebar--close': !isOpen\n });\n\n const href = buildAdminHref({ itemEntity, itemId });\n\n return (\n <>\n {isDebugMode ? (\n <div className={divClass} data-testid=\"debug-sidebar\">\n <Link href={href}>\n <img src={DEBUG_LOGO.SRC} alt={DEBUG_LOGO.ALT} />\n <span>Blaze admin</span>\n </Link>\n <div\n role=\"button\"\n className=\"debug-sidebar__button open\"\n data-testid=\"debug-sidebar-button\"\n id=\"debug-sidebar-button\"\n onClick={() => setIsOpen(!isOpen)}>\n <i className=\"material-icons\">keyboard_arrow_left</i>\n </div>\n </div>\n ) : null}\n </>\n );\n};\n\nDebugSidebar.propTypes = {\n itemEntity: PropTypes.string,\n itemId: PropTypes.string,\n debugMode: PropTypes.bool\n};\n\nDebugSidebar.defaultProps = {\n itemEntity: '',\n itemId: '',\n debugMode: false\n};\n\nexport default DebugSidebar;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,IAAT,QAAqB,8BAArB;AACA,SAASC,cAAT,EAAyBC,aAAzB,QAA8C,eAA9C;AACA,SAASC,UAAT,QAA2B,iBAA3B;;AAEA,MAAMC,YAAY,GAAG,CAAC;EAAEC,UAAF;EAAcC,MAAd;EAAsBC;AAAtB,CAAD,KAAuC;EAC1D,MAAM,CAACC,WAAD,EAAcC,cAAd,IAAgCb,QAAQ,CAACW,SAAD,CAA9C;EACA,MAAM,CAACG,MAAD,EAASC,SAAT,IAAsBf,QAAQ,CAAC,IAAD,CAApC;EAEAC,SAAS,CACP,MAAM;IACJ,IAAIU,SAAS,KAAK,IAAlB,EAAwB;MACtBE,cAAc,CAACF,SAAD,CAAd;IACD,CAFD,MAEOL,aAAa,CAACO,cAAD,CAAb;EACR,CALM,EAMP,CAACF,SAAD,CANO,CAAT;EASA,MAAMK,QAAQ,GAAGb,UAAU,CAAC,eAAD,EAAkB;IAC3C,uBAAuBW,MADoB;IAE3C,wBAAwB,CAACA;EAFkB,CAAlB,CAA3B;EAKA,MAAMG,IAAI,GAAGZ,cAAc,CAAC;IAAEI,UAAF;IAAcC;EAAd,CAAD,CAA3B;EAEA,oBACE,0CACGE,WAAW,gBACV;IAAK,SAAS,EAAEI,QAAhB;IAA0B,eAAY;EAAtC,gBACE,oBAAC,IAAD;IAAM,IAAI,EAAEC;EAAZ,gBACE;IAAK,GAAG,EAAEV,UAAU,CAACW,GAArB;IAA0B,GAAG,EAAEX,UAAU,CAACY;EAA1C,EADF,eAEE,gDAFF,CADF,eAKE;IACE,IAAI,EAAC,QADP;IAEE,SAAS,EAAC,4BAFZ;IAGE,eAAY,sBAHd;IAIE,EAAE,EAAC,sBAJL;IAKE,OAAO,EAAE,MAAMJ,SAAS,CAAC,CAACD,MAAF;EAL1B,gBAME;IAAG,SAAS,EAAC;EAAb,yBANF,CALF,CADU,GAeR,IAhBN,CADF;AAoBD,CAxCD;;AA0CAN,YAAY,CAACY,SAAb,GAAyB;EACvBX,UAAU,EAAEP,SAAS,CAACmB,MADC;EAEvBX,MAAM,EAAER,SAAS,CAACmB,MAFK;EAGvBV,SAAS,EAAET,SAAS,CAACoB;AAHE,CAAzB;AAMAd,YAAY,CAACe,YAAb,GAA4B;EAC1Bd,UAAU,EAAE,EADc;EAE1BC,MAAM,EAAE,EAFkB;EAG1BC,SAAS,EAAE;AAHe,CAA5B;AAMA,eAAeH,YAAf"}
1
+ {"version":3,"file":"index.js","names":["React","useState","useEffect","PropTypes","classnames","Link","MdKeyboardArrowLeft","buildAdminHref","setBlazeDebug","DEBUG_LOGO","DebugSidebar","itemEntity","itemId","debugMode","isDebugMode","setIsDebugMode","isOpen","setIsOpen","divClass","href","SRC","ALT","propTypes","string","bool","defaultProps"],"sources":["../../../src/components/DebugSidebar/index.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport { MdKeyboardArrowLeft } from 'react-icons/md';\nimport { buildAdminHref, setBlazeDebug } from '../../helpers';\nimport { DEBUG_LOGO } from '../../constants';\n\nconst DebugSidebar = ({ itemEntity, itemId, debugMode }) => {\n const [isDebugMode, setIsDebugMode] = useState(debugMode);\n const [isOpen, setIsOpen] = useState(true);\n\n useEffect(\n () => {\n if (debugMode === true) {\n setIsDebugMode(debugMode);\n } else setBlazeDebug(setIsDebugMode);\n },\n [debugMode]\n );\n\n const divClass = classnames('debug-sidebar', {\n 'debug-sidebar--open': isOpen,\n 'debug-sidebar--close': !isOpen\n });\n\n const href = buildAdminHref({ itemEntity, itemId });\n\n return (\n <>\n {isDebugMode ? (\n <div className={divClass} data-testid=\"debug-sidebar\">\n <Link href={href}>\n <img src={DEBUG_LOGO.SRC} alt={DEBUG_LOGO.ALT} />\n <span>Blaze admin</span>\n </Link>\n <div\n role=\"button\"\n className=\"debug-sidebar__button open\"\n data-testid=\"debug-sidebar-button\"\n id=\"debug-sidebar-button\"\n onClick={() => setIsOpen(!isOpen)}>\n <i>\n <MdKeyboardArrowLeft />\n </i>\n </div>\n </div>\n ) : null}\n </>\n );\n};\n\nDebugSidebar.propTypes = {\n itemEntity: PropTypes.string,\n itemId: PropTypes.string,\n debugMode: PropTypes.bool\n};\n\nDebugSidebar.defaultProps = {\n itemEntity: '',\n itemId: '',\n debugMode: false\n};\n\nexport default DebugSidebar;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,IAAT,QAAqB,8BAArB;AACA,SAASC,mBAAT,QAAoC,gBAApC;AACA,SAASC,cAAT,EAAyBC,aAAzB,QAA8C,eAA9C;AACA,SAASC,UAAT,QAA2B,iBAA3B;;AAEA,MAAMC,YAAY,GAAG,CAAC;EAAEC,UAAF;EAAcC,MAAd;EAAsBC;AAAtB,CAAD,KAAuC;EAC1D,MAAM,CAACC,WAAD,EAAcC,cAAd,IAAgCd,QAAQ,CAACY,SAAD,CAA9C;EACA,MAAM,CAACG,MAAD,EAASC,SAAT,IAAsBhB,QAAQ,CAAC,IAAD,CAApC;EAEAC,SAAS,CACP,MAAM;IACJ,IAAIW,SAAS,KAAK,IAAlB,EAAwB;MACtBE,cAAc,CAACF,SAAD,CAAd;IACD,CAFD,MAEOL,aAAa,CAACO,cAAD,CAAb;EACR,CALM,EAMP,CAACF,SAAD,CANO,CAAT;EASA,MAAMK,QAAQ,GAAGd,UAAU,CAAC,eAAD,EAAkB;IAC3C,uBAAuBY,MADoB;IAE3C,wBAAwB,CAACA;EAFkB,CAAlB,CAA3B;EAKA,MAAMG,IAAI,GAAGZ,cAAc,CAAC;IAAEI,UAAF;IAAcC;EAAd,CAAD,CAA3B;EAEA,oBACE,0CACGE,WAAW,gBACV;IAAK,SAAS,EAAEI,QAAhB;IAA0B,eAAY;EAAtC,gBACE,oBAAC,IAAD;IAAM,IAAI,EAAEC;EAAZ,gBACE;IAAK,GAAG,EAAEV,UAAU,CAACW,GAArB;IAA0B,GAAG,EAAEX,UAAU,CAACY;EAA1C,EADF,eAEE,gDAFF,CADF,eAKE;IACE,IAAI,EAAC,QADP;IAEE,SAAS,EAAC,4BAFZ;IAGE,eAAY,sBAHd;IAIE,EAAE,EAAC,sBAJL;IAKE,OAAO,EAAE,MAAMJ,SAAS,CAAC,CAACD,MAAF;EAL1B,gBAME,4CACE,oBAAC,mBAAD,OADF,CANF,CALF,CADU,GAiBR,IAlBN,CADF;AAsBD,CA1CD;;AA4CAN,YAAY,CAACY,SAAb,GAAyB;EACvBX,UAAU,EAAER,SAAS,CAACoB,MADC;EAEvBX,MAAM,EAAET,SAAS,CAACoB,MAFK;EAGvBV,SAAS,EAAEV,SAAS,CAACqB;AAHE,CAAzB;AAMAd,YAAY,CAACe,YAAb,GAA4B;EAC1Bd,UAAU,EAAE,EADc;EAE1BC,MAAM,EAAE,EAFkB;EAG1BC,SAAS,EAAE;AAHe,CAA5B;AAMA,eAAeH,YAAf"}
@@ -43,8 +43,8 @@ const checkUrl = async props => {
43
43
  }
44
44
 
45
45
  if (res) {
46
- res.setHeader('Cache-Control', process.env.BLAZE_CACHE_CONTROL_HEADER || '');
47
46
  const handler = handleStaticRoutes.getHandler(asPath);
47
+ res.setHeader('Cache-Control', process.env.BLAZE_CACHE_CONTROL_HEADER || '');
48
48
 
49
49
  if (handler) {
50
50
  return handler(props);
@@ -123,7 +123,7 @@ const doUrlCheck = async ({
123
123
  itemId,
124
124
  itemEntity,
125
125
  urlTo,
126
- pageData
126
+ pageData = {}
127
127
  }
128
128
  }
129
129
  } = await apolloClient.query({
@@ -132,6 +132,13 @@ const doUrlCheck = async ({
132
132
  url
133
133
  }
134
134
  });
135
+ const {
136
+ cacheControlMaxAge = null
137
+ } = pageData || {}; // pageData can be null when there is no page
138
+
139
+ if (res && cacheControlMaxAge !== null && cacheControlMaxAge >= 0) {
140
+ res.setHeader('Cache-Control', `max-age=${cacheControlMaxAge}`);
141
+ }
135
142
 
136
143
  if (urlTo && urlTo !== url) {
137
144
  if (res) {
@@ -181,7 +188,7 @@ const handleError = (err, res, handle404Error, blazeApp) => {
181
188
  });
182
189
  res.write('500 Internal Server Error\n');
183
190
  res.end();
184
- } else if (handle404Error && err.graphQLErrors.length) {
191
+ } else if (handle404Error && err.graphQLErrors && err.graphQLErrors.length) {
185
192
  res.statusCode = NOT_FOUND_STATUS_CODE;
186
193
  return {
187
194
  errorCode: NOT_FOUND_STATUS_CODE