@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 +270 -0
- package/lib/application/query/index.js +2 -2
- package/lib/application/query/index.js.map +1 -1
- package/lib/components/DebugSidebar/index.js +3 -3
- package/lib/components/DebugSidebar/index.js.map +1 -1
- package/lib/helpers/check-url.js +20 -14
- package/lib/helpers/check-url.js.map +1 -1
- package/lib-es/application/query/index.js +3 -2
- package/lib-es/application/query/index.js.map +1 -1
- package/lib-es/components/DebugSidebar/index.js +2 -3
- package/lib-es/components/DebugSidebar/index.js.map +1 -1
- package/lib-es/helpers/check-url.js +10 -3
- package/lib-es/helpers/check-url.js.map +1 -1
- package/package.json +8 -8
- package/src/application/query/index.js +3 -2
- package/src/components/DebugSidebar/index.js +4 -1
- package/src/helpers/check-url.js +9 -5
- package/tests/unit/src/application/query/__snapshots__/index.test.js.snap +800 -0
- package/tests/unit/src/application/query/index.test.js +19 -0
- package/tests/unit/src/components/DebugSidebar/__snapshots__/DebugSidebar.test.js.snap +18 -4
- package/tests/unit/src/helpers/check-url.test.js +47 -4
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
|
|
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
|
|
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
|
|
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"}
|
package/lib/helpers/check-url.js
CHANGED
|
@@ -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
|
-
|
|
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 =
|
|
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
|
|
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
|
|
276
|
-
_context3.prev =
|
|
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 =
|
|
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 =
|
|
295
|
+
_context3.next = 29;
|
|
290
296
|
break;
|
|
291
297
|
|
|
292
|
-
case
|
|
298
|
+
case 28:
|
|
293
299
|
return _context3.abrupt("return", handleError(_context3.t0, res, handle404Error, blazeApp));
|
|
294
300
|
|
|
295
|
-
case
|
|
301
|
+
case 29:
|
|
296
302
|
return _context3.abrupt("return", handle404Error ? {} : null);
|
|
297
303
|
|
|
298
|
-
case
|
|
304
|
+
case 30:
|
|
299
305
|
case "end":
|
|
300
306
|
return _context3.stop();
|
|
301
307
|
}
|
|
302
308
|
}
|
|
303
|
-
}, _callee3, null, [[1,
|
|
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
|
|
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
|
|
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
|