@fecommunity/reactpress-template-hello-world 1.0.0-beta.1 → 1.0.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/.next/cache/.tsbuildinfo +1 -0
  2. package/.next/cache/webpack/client-development/0.pack +0 -0
  3. package/.next/cache/webpack/client-development/index.pack +0 -0
  4. package/.next/cache/webpack/client-development-fallback/0.pack +0 -0
  5. package/.next/cache/webpack/client-development-fallback/index.pack +0 -0
  6. package/.next/cache/webpack/client-production/0.pack +0 -0
  7. package/.next/cache/webpack/client-production/index.pack +0 -0
  8. package/.next/cache/webpack/server-development/0.pack +0 -0
  9. package/.next/cache/webpack/server-development/1.pack +0 -0
  10. package/.next/cache/webpack/server-development/index.pack +0 -0
  11. package/.next/cache/webpack/server-development/index.pack.old +0 -0
  12. package/.next/cache/webpack/server-production/0.pack +0 -0
  13. package/.next/cache/webpack/server-production/1.pack +0 -0
  14. package/.next/cache/webpack/server-production/2.pack +0 -0
  15. package/.next/cache/webpack/server-production/index.pack +0 -0
  16. package/.next/cache/webpack/server-production/index.pack.old +0 -0
  17. package/.next/package.json +1 -0
  18. package/.next/routes-manifest.json +1 -0
  19. package/.next/server/chunks/402.js +67 -0
  20. package/.next/server/chunks/415.js +32 -0
  21. package/.next/server/chunks/843.js +2759 -0
  22. package/.next/server/chunks/990.js +134 -0
  23. package/.next/server/chunks/font-manifest.json +1 -0
  24. package/.next/server/font-manifest.json +1 -0
  25. package/.next/server/middleware-manifest.json +6 -0
  26. package/.next/server/pages/404.js +309 -0
  27. package/.next/server/pages/404.js.nft.json +1 -0
  28. package/.next/server/pages/_app.js +91 -0
  29. package/.next/server/pages/_app.js.nft.json +1 -0
  30. package/.next/server/pages/_document.js +800 -0
  31. package/.next/server/pages/_document.js.nft.json +1 -0
  32. package/.next/server/pages/_error.js +148 -0
  33. package/.next/server/pages/_error.js.nft.json +1 -0
  34. package/.next/server/pages/about.js +450 -0
  35. package/.next/server/pages/about.js.nft.json +1 -0
  36. package/.next/server/pages/index.js +453 -0
  37. package/.next/server/pages/index.js.nft.json +1 -0
  38. package/.next/server/pages/toolkit-demo.js +574 -0
  39. package/.next/server/pages/toolkit-demo.js.nft.json +1 -0
  40. package/.next/server/pages-manifest.json +9 -0
  41. package/.next/server/webpack-runtime.js +160 -0
  42. package/README.md +4 -4
  43. package/next-env.d.ts +1 -1
  44. package/package.json +2 -2
  45. package/pages/about.tsx +2 -2
  46. package/pages/index.tsx +2 -2
  47. package/pages/toolkit-demo.tsx +4 -4
@@ -0,0 +1,574 @@
1
+ "use strict";
2
+ (() => {
3
+ var exports = {};
4
+ exports.id = 619;
5
+ exports.ids = [619];
6
+ exports.modules = {
7
+
8
+ /***/ 875:
9
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
10
+
11
+ __webpack_require__.r(__webpack_exports__);
12
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
13
+ /* harmony export */ "default": () => (/* binding */ ToolkitDemo),
14
+ /* harmony export */ "getStaticProps": () => (/* binding */ getStaticProps)
15
+ /* harmony export */ });
16
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(997);
17
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
18
+ /* harmony import */ var styled_jsx_style__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9816);
19
+ /* harmony import */ var styled_jsx_style__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(styled_jsx_style__WEBPACK_IMPORTED_MODULE_1__);
20
+ /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(968);
21
+ /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_head__WEBPACK_IMPORTED_MODULE_2__);
22
+ /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6843);
23
+ /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_3__);
24
+ Object(function webpackMissingModule() { var e = new Error("Cannot find module '@fecommunity/reactpress-toolkit/dist/api/instance'"); e.code = 'MODULE_NOT_FOUND'; throw e; }());
25
+ Object(function webpackMissingModule() { var e = new Error("Cannot find module '@fecommunity/reactpress-toolkit/dist/utils'"); e.code = 'MODULE_NOT_FOUND'; throw e; }());
26
+ /* harmony import */ var _components_Header__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9503);
27
+ /* harmony import */ var _components_Footer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(9845);
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+ // Create a custom API instance with the desired baseURL
37
+ const customApi = Object(function webpackMissingModule() { var e = new Error("Cannot find module '@fecommunity/reactpress-toolkit/dist/api/instance'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())({
38
+ baseURL: "https://api.gaoredu.com/"
39
+ });
40
+ // Group utilities under a utils object to match the existing code
41
+ const utils = {
42
+ formatDate: Object(function webpackMissingModule() { var e = new Error("Cannot find module '@fecommunity/reactpress-toolkit/dist/utils'"); e.code = 'MODULE_NOT_FOUND'; throw e; }()),
43
+ ApiError: Object(function webpackMissingModule() { var e = new Error("Cannot find module '@fecommunity/reactpress-toolkit/dist/utils'"); e.code = 'MODULE_NOT_FOUND'; throw e; }()),
44
+ isApiError: Object(function webpackMissingModule() { var e = new Error("Cannot find module '@fecommunity/reactpress-toolkit/dist/utils'"); e.code = 'MODULE_NOT_FOUND'; throw e; }()),
45
+ deepClone: Object(function webpackMissingModule() { var e = new Error("Cannot find module '@fecommunity/reactpress-toolkit/dist/utils'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())
46
+ };
47
+ function ToolkitDemo({ articles , categories , tags , stats }) {
48
+ // Example usage of utils
49
+ const formatDate = (dateString)=>{
50
+ const date = new Date(dateString);
51
+ return utils.formatDate(date, "YYYY-MM-DD");
52
+ };
53
+ const handleApiError = (error)=>{
54
+ if (utils.ApiError.isInstance(error)) {
55
+ console.error(`API Error ${error.code}: ${error.message}`);
56
+ } else {
57
+ console.error("Unknown error:", error);
58
+ }
59
+ };
60
+ return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
61
+ className: "jsx-d057c7e17f2a155a" + " " + "container",
62
+ children: [
63
+ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)((next_head__WEBPACK_IMPORTED_MODULE_2___default()), {
64
+ children: [
65
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("title", {
66
+ className: "jsx-d057c7e17f2a155a",
67
+ children: "Toolkit Demo - Hello World Template"
68
+ }),
69
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("meta", {
70
+ name: "description",
71
+ content: "Demonstration of ReactPress Toolkit usage",
72
+ className: "jsx-d057c7e17f2a155a"
73
+ }),
74
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("link", {
75
+ rel: "icon",
76
+ href: "/favicon.ico",
77
+ className: "jsx-d057c7e17f2a155a"
78
+ })
79
+ ]
80
+ }),
81
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_Header__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {}),
82
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("main", {
83
+ className: "jsx-d057c7e17f2a155a" + " " + "main",
84
+ children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
85
+ className: "jsx-d057c7e17f2a155a" + " " + "content-wrapper",
86
+ children: [
87
+ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
88
+ className: "jsx-d057c7e17f2a155a" + " " + "page-header",
89
+ children: [
90
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h1", {
91
+ className: "jsx-d057c7e17f2a155a" + " " + "page-title",
92
+ children: "ReactPress Toolkit Demo"
93
+ }),
94
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("p", {
95
+ className: "jsx-d057c7e17f2a155a" + " " + "page-description",
96
+ children: "This page demonstrates how to use the ReactPress Toolkit to fetch data from the API."
97
+ })
98
+ ]
99
+ }),
100
+ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
101
+ className: "jsx-d057c7e17f2a155a" + " " + "demo-section",
102
+ children: [
103
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h2", {
104
+ className: "jsx-d057c7e17f2a155a" + " " + "section-title",
105
+ children: "Toolkit Features"
106
+ }),
107
+ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
108
+ className: "jsx-d057c7e17f2a155a" + " " + "features-grid",
109
+ children: [
110
+ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
111
+ className: "jsx-d057c7e17f2a155a" + " " + "feature-card",
112
+ children: [
113
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h3", {
114
+ className: "jsx-d057c7e17f2a155a" + " " + "feature-title",
115
+ children: "API Client"
116
+ }),
117
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("p", {
118
+ className: "jsx-d057c7e17f2a155a" + " " + "feature-description",
119
+ children: "Use createApiInstance() to create custom API clients"
120
+ })
121
+ ]
122
+ }),
123
+ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
124
+ className: "jsx-d057c7e17f2a155a" + " " + "feature-card",
125
+ children: [
126
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h3", {
127
+ className: "jsx-d057c7e17f2a155a" + " " + "feature-title",
128
+ children: "Types"
129
+ }),
130
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("p", {
131
+ className: "jsx-d057c7e17f2a155a" + " " + "feature-description",
132
+ children: "Import type definitions like IArticle, ICategory, ITag"
133
+ })
134
+ ]
135
+ }),
136
+ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
137
+ className: "jsx-d057c7e17f2a155a" + " " + "feature-card",
138
+ children: [
139
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h3", {
140
+ className: "jsx-d057c7e17f2a155a" + " " + "feature-title",
141
+ children: "Utilities"
142
+ }),
143
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("p", {
144
+ className: "jsx-d057c7e17f2a155a" + " " + "feature-description",
145
+ children: "Use utility functions like formatDate, ApiError handling"
146
+ })
147
+ ]
148
+ })
149
+ ]
150
+ })
151
+ ]
152
+ }),
153
+ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
154
+ className: "jsx-d057c7e17f2a155a" + " " + "stats-section",
155
+ children: [
156
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h2", {
157
+ className: "jsx-d057c7e17f2a155a" + " " + "section-title",
158
+ children: "Site Statistics"
159
+ }),
160
+ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
161
+ className: "jsx-d057c7e17f2a155a" + " " + "stats-grid",
162
+ children: [
163
+ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
164
+ className: "jsx-d057c7e17f2a155a" + " " + "stat-card",
165
+ children: [
166
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
167
+ className: "jsx-d057c7e17f2a155a" + " " + "stat-value",
168
+ children: stats.articlesCount
169
+ }),
170
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
171
+ className: "jsx-d057c7e17f2a155a" + " " + "stat-label",
172
+ children: "Articles"
173
+ })
174
+ ]
175
+ }),
176
+ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
177
+ className: "jsx-d057c7e17f2a155a" + " " + "stat-card",
178
+ children: [
179
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
180
+ className: "jsx-d057c7e17f2a155a" + " " + "stat-value",
181
+ children: stats.categoriesCount
182
+ }),
183
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
184
+ className: "jsx-d057c7e17f2a155a" + " " + "stat-label",
185
+ children: "Categories"
186
+ })
187
+ ]
188
+ }),
189
+ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
190
+ className: "jsx-d057c7e17f2a155a" + " " + "stat-card",
191
+ children: [
192
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
193
+ className: "jsx-d057c7e17f2a155a" + " " + "stat-value",
194
+ children: stats.tagsCount
195
+ }),
196
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
197
+ className: "jsx-d057c7e17f2a155a" + " " + "stat-label",
198
+ children: "Tags"
199
+ })
200
+ ]
201
+ })
202
+ ]
203
+ })
204
+ ]
205
+ }),
206
+ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
207
+ className: "jsx-d057c7e17f2a155a" + " " + "content-section",
208
+ children: [
209
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h2", {
210
+ className: "jsx-d057c7e17f2a155a" + " " + "section-title",
211
+ children: "Latest Articles"
212
+ }),
213
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
214
+ className: "jsx-d057c7e17f2a155a" + " " + "articles-list",
215
+ children: articles.slice(0, 5).map((article)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
216
+ className: "jsx-d057c7e17f2a155a" + " " + "article-item",
217
+ children: [
218
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h3", {
219
+ className: "jsx-d057c7e17f2a155a" + " " + "article-title",
220
+ children: article.title
221
+ }),
222
+ article.summary && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("p", {
223
+ className: "jsx-d057c7e17f2a155a" + " " + "article-summary",
224
+ children: article.summary
225
+ }),
226
+ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
227
+ className: "jsx-d057c7e17f2a155a" + " " + "article-meta",
228
+ children: [
229
+ article.category && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
230
+ className: "jsx-d057c7e17f2a155a" + " " + "article-category",
231
+ children: article.category.label
232
+ }),
233
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
234
+ className: "jsx-d057c7e17f2a155a" + " " + "publish-date",
235
+ children: formatDate(article.publishAt)
236
+ })
237
+ ]
238
+ })
239
+ ]
240
+ }, article.id))
241
+ })
242
+ ]
243
+ }),
244
+ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
245
+ className: "jsx-d057c7e17f2a155a" + " " + "content-section",
246
+ children: [
247
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h2", {
248
+ className: "jsx-d057c7e17f2a155a" + " " + "section-title",
249
+ children: "Categories"
250
+ }),
251
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
252
+ className: "jsx-d057c7e17f2a155a" + " " + "categories-grid",
253
+ children: categories.map((category)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
254
+ className: "jsx-d057c7e17f2a155a" + " " + "category-card",
255
+ children: [
256
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h3", {
257
+ className: "jsx-d057c7e17f2a155a" + " " + "category-name",
258
+ children: category.label
259
+ }),
260
+ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
261
+ className: "jsx-d057c7e17f2a155a" + " " + "category-count",
262
+ children: [
263
+ category.articleCount || 0,
264
+ " articles"
265
+ ]
266
+ })
267
+ ]
268
+ }, category.value))
269
+ })
270
+ ]
271
+ }),
272
+ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
273
+ className: "jsx-d057c7e17f2a155a" + " " + "content-section",
274
+ children: [
275
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h2", {
276
+ className: "jsx-d057c7e17f2a155a" + " " + "section-title",
277
+ children: "Popular Tags"
278
+ }),
279
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
280
+ className: "jsx-d057c7e17f2a155a" + " " + "tags-list",
281
+ children: tags.slice(0, 20).map((tag)=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
282
+ className: "jsx-d057c7e17f2a155a" + " " + "tag-item",
283
+ children: tag.label
284
+ }, tag.value))
285
+ })
286
+ ]
287
+ }),
288
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
289
+ className: "jsx-d057c7e17f2a155a" + " " + "cta-section",
290
+ children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx((next_link__WEBPACK_IMPORTED_MODULE_3___default()), {
291
+ href: "/",
292
+ children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("a", {
293
+ className: "jsx-d057c7e17f2a155a" + " " + "back-link",
294
+ children: "← Back to Home"
295
+ })
296
+ })
297
+ })
298
+ ]
299
+ })
300
+ }),
301
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_Footer__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {}),
302
+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx((styled_jsx_style__WEBPACK_IMPORTED_MODULE_1___default()), {
303
+ id: "f2753558bab79351",
304
+ children: ".container.jsx-d057c7e17f2a155a{min-height:100vh;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background-color:#f8f9fa}.main.jsx-d057c7e17f2a155a{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-ms-flex:1;flex:1;padding:3rem 0}.content-wrapper.jsx-d057c7e17f2a155a{max-width:1200px;margin:0 auto;padding:0 2rem}.page-header.jsx-d057c7e17f2a155a{text-align:center;margin-bottom:3rem}.page-title.jsx-d057c7e17f2a155a{font-size:2.5rem;font-weight:800;color:#111827;margin:0 0 1rem 0;letter-spacing:-.025em}.page-description.jsx-d057c7e17f2a155a{color:#6b7280;font-size:1.25rem;max-width:700px;margin:0 auto;line-height:1.7}.demo-section.jsx-d057c7e17f2a155a{margin-bottom:3rem}.features-grid.jsx-d057c7e17f2a155a{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.feature-card.jsx-d057c7e17f2a155a{background:#fff;-webkit-border-radius:12px;-moz-border-radius:12px;border-radius:12px;padding:1.5rem;-webkit-box-shadow:0 4px 6px rgba(0,0,0,.05);-moz-box-shadow:0 4px 6px rgba(0,0,0,.05);box-shadow:0 4px 6px rgba(0,0,0,.05);-webkit-transition:all.3s ease;-moz-transition:all.3s ease;-o-transition:all.3s ease;transition:all.3s ease}.feature-card.jsx-d057c7e17f2a155a:hover{-webkit-transform:translateY(-3px);-moz-transform:translateY(-3px);-ms-transform:translateY(-3px);-o-transform:translateY(-3px);transform:translateY(-3px);-webkit-box-shadow:0 10px 20px rgba(0,0,0,.1);-moz-box-shadow:0 10px 20px rgba(0,0,0,.1);box-shadow:0 10px 20px rgba(0,0,0,.1)}.feature-title.jsx-d057c7e17f2a155a{font-size:1.25rem;font-weight:600;color:#111827;margin:0 0 .75rem 0}.feature-description.jsx-d057c7e17f2a155a{color:#6b7280;line-height:1.6;margin:0}.stats-section.jsx-d057c7e17f2a155a{margin-bottom:3rem}.section-title.jsx-d057c7e17f2a155a{font-size:1.75rem;font-weight:700;color:#111827;margin:0 0 1.5rem 0;padding-bottom:.75rem;border-bottom:2px solid#e5e7eb}.stats-grid.jsx-d057c7e17f2a155a{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.stat-card.jsx-d057c7e17f2a155a{background:#fff;-webkit-border-radius:12px;-moz-border-radius:12px;border-radius:12px;padding:2rem;text-align:center;-webkit-box-shadow:0 4px 6px rgba(0,0,0,.05);-moz-box-shadow:0 4px 6px rgba(0,0,0,.05);box-shadow:0 4px 6px rgba(0,0,0,.05);-webkit-transition:all.3s ease;-moz-transition:all.3s ease;-o-transition:all.3s ease;transition:all.3s ease}.stat-card.jsx-d057c7e17f2a155a:hover{-webkit-transform:translateY(-5px);-moz-transform:translateY(-5px);-ms-transform:translateY(-5px);-o-transform:translateY(-5px);transform:translateY(-5px);-webkit-box-shadow:0 10px 20px rgba(0,0,0,.1);-moz-box-shadow:0 10px 20px rgba(0,0,0,.1);box-shadow:0 10px 20px rgba(0,0,0,.1)}.stat-value.jsx-d057c7e17f2a155a{font-size:2.5rem;font-weight:700;color:#3b82f6;margin-bottom:.5rem}.stat-label.jsx-d057c7e17f2a155a{font-size:1.1rem;color:#6b7280}.content-section.jsx-d057c7e17f2a155a{margin-bottom:3rem}.articles-list.jsx-d057c7e17f2a155a{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:1.5rem}.article-item.jsx-d057c7e17f2a155a{background:#fff;-webkit-border-radius:12px;-moz-border-radius:12px;border-radius:12px;padding:1.5rem;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.05);-moz-box-shadow:0 2px 8px rgba(0,0,0,.05);box-shadow:0 2px 8px rgba(0,0,0,.05)}.article-title.jsx-d057c7e17f2a155a{font-size:1.25rem;font-weight:600;color:#111827;margin:0 0 .75rem 0}.article-summary.jsx-d057c7e17f2a155a{color:#6b7280;line-height:1.6;margin:0 0 1rem 0}.article-meta.jsx-d057c7e17f2a155a{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;gap:1rem;font-size:.9rem}.article-category.jsx-d057c7e17f2a155a{background:#eff6ff;color:#3b82f6;padding:.25rem .75rem;-webkit-border-radius:9999px;-moz-border-radius:9999px;border-radius:9999px;font-weight:500}.publish-date.jsx-d057c7e17f2a155a{color:#9ca3af;font-style:italic}.categories-grid.jsx-d057c7e17f2a155a{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.category-card.jsx-d057c7e17f2a155a{background:#fff;-webkit-border-radius:12px;-moz-border-radius:12px;border-radius:12px;padding:1.5rem;text-align:center;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.05);-moz-box-shadow:0 2px 8px rgba(0,0,0,.05);box-shadow:0 2px 8px rgba(0,0,0,.05);-webkit-transition:all.3s ease;-moz-transition:all.3s ease;-o-transition:all.3s ease;transition:all.3s ease}.category-card.jsx-d057c7e17f2a155a:hover{-webkit-transform:translateY(-3px);-moz-transform:translateY(-3px);-ms-transform:translateY(-3px);-o-transform:translateY(-3px);transform:translateY(-3px);-webkit-box-shadow:0 6px 12px rgba(0,0,0,.1);-moz-box-shadow:0 6px 12px rgba(0,0,0,.1);box-shadow:0 6px 12px rgba(0,0,0,.1)}.category-name.jsx-d057c7e17f2a155a{font-size:1.1rem;font-weight:600;color:#111827;margin:0 0 .5rem 0}.category-count.jsx-d057c7e17f2a155a{color:#6b7280;font-size:.9rem}.tags-list.jsx-d057c7e17f2a155a{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:.5rem}.tag-item.jsx-d057c7e17f2a155a{background:#f3f4f6;color:#4b5563;padding:.4rem .8rem;-webkit-border-radius:.375rem;-moz-border-radius:.375rem;border-radius:.375rem;font-size:.875rem}.cta-section.jsx-d057c7e17f2a155a{text-align:center;margin-top:2rem}.back-link.jsx-d057c7e17f2a155a{display:inline-block;color:#3b82f6;text-decoration:none;font-weight:600;padding:.75rem 1.5rem;border:2px solid#3b82f6;-webkit-border-radius:12px;-moz-border-radius:12px;border-radius:12px;-webkit-transition:all.3s cubic-bezier(.4,0,.2,1);-moz-transition:all.3s cubic-bezier(.4,0,.2,1);-o-transition:all.3s cubic-bezier(.4,0,.2,1);transition:all.3s cubic-bezier(.4,0,.2,1)}.back-link.jsx-d057c7e17f2a155a:hover{background-color:#3b82f6;color:#fff;-webkit-transform:translateY(-2px);-moz-transform:translateY(-2px);-ms-transform:translateY(-2px);-o-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 4px 10px rgba(59,130,246,.3);-moz-box-shadow:0 4px 10px rgba(59,130,246,.3);box-shadow:0 4px 10px rgba(59,130,246,.3)}@media(max-width:768px){.content-wrapper.jsx-d057c7e17f2a155a{padding:0 1rem}.page-title.jsx-d057c7e17f2a155a{font-size:2rem}.page-description.jsx-d057c7e17f2a155a{font-size:1.1rem}.features-grid.jsx-d057c7e17f2a155a{grid-template-columns:1fr}.stats-grid.jsx-d057c7e17f2a155a{grid-template-columns:1fr}.categories-grid.jsx-d057c7e17f2a155a{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}"
305
+ }),
306
+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx((styled_jsx_style__WEBPACK_IMPORTED_MODULE_1___default()), {
307
+ id: "549ec3205eaaeed3",
308
+ children: 'html,body{padding:0;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;background-color:#f8f9fa}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}'
309
+ })
310
+ ]
311
+ });
312
+ }
313
+ const getStaticProps = async ()=>{
314
+ try {
315
+ // Demonstrate different ways to use the ReactPress Toolkit
316
+ // Method 1: Using a custom API instance
317
+ const [articlesResponse, categoriesResponse, tagsResponse] = await Promise.all([
318
+ customApi.article.findAll(),
319
+ customApi.category.findAll(),
320
+ customApi.tag.findAll(),
321
+ ]);
322
+ // Method 2: Using the default API instance (commented out as example)
323
+ // const articlesResponse = await api.article.findAll() as any;
324
+ // Extract the actual data from the responses
325
+ const articles = articlesResponse?.data?.data?.[0] || [];
326
+ const categories = categoriesResponse?.data?.data || [];
327
+ const tags = tagsResponse?.data?.data || [];
328
+ // Calculate statistics
329
+ const stats = {
330
+ articlesCount: articles.length,
331
+ categoriesCount: categories.length,
332
+ tagsCount: tags.length
333
+ };
334
+ return {
335
+ props: {
336
+ articles,
337
+ categories,
338
+ tags,
339
+ stats
340
+ },
341
+ revalidate: 60
342
+ };
343
+ } catch (error) {
344
+ console.error("Failed to fetch data:", error);
345
+ // Example of using utils.ApiError
346
+ if (utils.ApiError.isInstance(error)) {
347
+ console.error(`API Error ${error.code}: ${error.message}`);
348
+ }
349
+ return {
350
+ props: {
351
+ articles: [],
352
+ categories: [],
353
+ tags: [],
354
+ stats: {
355
+ articlesCount: 0,
356
+ categoriesCount: 0,
357
+ tagsCount: 0
358
+ }
359
+ },
360
+ revalidate: 60
361
+ };
362
+ }
363
+ };
364
+
365
+
366
+ /***/ }),
367
+
368
+ /***/ 3280:
369
+ /***/ ((module) => {
370
+
371
+ module.exports = require("next/dist/shared/lib/app-router-context.js");
372
+
373
+ /***/ }),
374
+
375
+ /***/ 2796:
376
+ /***/ ((module) => {
377
+
378
+ module.exports = require("next/dist/shared/lib/head-manager-context.js");
379
+
380
+ /***/ }),
381
+
382
+ /***/ 4014:
383
+ /***/ ((module) => {
384
+
385
+ module.exports = require("next/dist/shared/lib/i18n/normalize-locale-path.js");
386
+
387
+ /***/ }),
388
+
389
+ /***/ 8524:
390
+ /***/ ((module) => {
391
+
392
+ module.exports = require("next/dist/shared/lib/is-plain-object.js");
393
+
394
+ /***/ }),
395
+
396
+ /***/ 8020:
397
+ /***/ ((module) => {
398
+
399
+ module.exports = require("next/dist/shared/lib/mitt.js");
400
+
401
+ /***/ }),
402
+
403
+ /***/ 4406:
404
+ /***/ ((module) => {
405
+
406
+ module.exports = require("next/dist/shared/lib/page-path/denormalize-page-path.js");
407
+
408
+ /***/ }),
409
+
410
+ /***/ 4964:
411
+ /***/ ((module) => {
412
+
413
+ module.exports = require("next/dist/shared/lib/router-context.js");
414
+
415
+ /***/ }),
416
+
417
+ /***/ 1751:
418
+ /***/ ((module) => {
419
+
420
+ module.exports = require("next/dist/shared/lib/router/utils/add-path-prefix.js");
421
+
422
+ /***/ }),
423
+
424
+ /***/ 6220:
425
+ /***/ ((module) => {
426
+
427
+ module.exports = require("next/dist/shared/lib/router/utils/compare-states.js");
428
+
429
+ /***/ }),
430
+
431
+ /***/ 299:
432
+ /***/ ((module) => {
433
+
434
+ module.exports = require("next/dist/shared/lib/router/utils/format-next-pathname-info.js");
435
+
436
+ /***/ }),
437
+
438
+ /***/ 3938:
439
+ /***/ ((module) => {
440
+
441
+ module.exports = require("next/dist/shared/lib/router/utils/format-url.js");
442
+
443
+ /***/ }),
444
+
445
+ /***/ 9565:
446
+ /***/ ((module) => {
447
+
448
+ module.exports = require("next/dist/shared/lib/router/utils/get-asset-path-from-route.js");
449
+
450
+ /***/ }),
451
+
452
+ /***/ 5789:
453
+ /***/ ((module) => {
454
+
455
+ module.exports = require("next/dist/shared/lib/router/utils/get-next-pathname-info.js");
456
+
457
+ /***/ }),
458
+
459
+ /***/ 1897:
460
+ /***/ ((module) => {
461
+
462
+ module.exports = require("next/dist/shared/lib/router/utils/is-bot.js");
463
+
464
+ /***/ }),
465
+
466
+ /***/ 1428:
467
+ /***/ ((module) => {
468
+
469
+ module.exports = require("next/dist/shared/lib/router/utils/is-dynamic.js");
470
+
471
+ /***/ }),
472
+
473
+ /***/ 8854:
474
+ /***/ ((module) => {
475
+
476
+ module.exports = require("next/dist/shared/lib/router/utils/parse-path.js");
477
+
478
+ /***/ }),
479
+
480
+ /***/ 1292:
481
+ /***/ ((module) => {
482
+
483
+ module.exports = require("next/dist/shared/lib/router/utils/parse-relative-url.js");
484
+
485
+ /***/ }),
486
+
487
+ /***/ 4567:
488
+ /***/ ((module) => {
489
+
490
+ module.exports = require("next/dist/shared/lib/router/utils/path-has-prefix.js");
491
+
492
+ /***/ }),
493
+
494
+ /***/ 979:
495
+ /***/ ((module) => {
496
+
497
+ module.exports = require("next/dist/shared/lib/router/utils/querystring.js");
498
+
499
+ /***/ }),
500
+
501
+ /***/ 3297:
502
+ /***/ ((module) => {
503
+
504
+ module.exports = require("next/dist/shared/lib/router/utils/remove-trailing-slash.js");
505
+
506
+ /***/ }),
507
+
508
+ /***/ 6052:
509
+ /***/ ((module) => {
510
+
511
+ module.exports = require("next/dist/shared/lib/router/utils/resolve-rewrites.js");
512
+
513
+ /***/ }),
514
+
515
+ /***/ 4226:
516
+ /***/ ((module) => {
517
+
518
+ module.exports = require("next/dist/shared/lib/router/utils/route-matcher.js");
519
+
520
+ /***/ }),
521
+
522
+ /***/ 5052:
523
+ /***/ ((module) => {
524
+
525
+ module.exports = require("next/dist/shared/lib/router/utils/route-regex.js");
526
+
527
+ /***/ }),
528
+
529
+ /***/ 9232:
530
+ /***/ ((module) => {
531
+
532
+ module.exports = require("next/dist/shared/lib/utils.js");
533
+
534
+ /***/ }),
535
+
536
+ /***/ 968:
537
+ /***/ ((module) => {
538
+
539
+ module.exports = require("next/head");
540
+
541
+ /***/ }),
542
+
543
+ /***/ 6689:
544
+ /***/ ((module) => {
545
+
546
+ module.exports = require("react");
547
+
548
+ /***/ }),
549
+
550
+ /***/ 997:
551
+ /***/ ((module) => {
552
+
553
+ module.exports = require("react/jsx-runtime");
554
+
555
+ /***/ }),
556
+
557
+ /***/ 9816:
558
+ /***/ ((module) => {
559
+
560
+ module.exports = require("styled-jsx/style");
561
+
562
+ /***/ })
563
+
564
+ };
565
+ ;
566
+
567
+ // load runtime
568
+ var __webpack_require__ = require("../webpack-runtime.js");
569
+ __webpack_require__.C(exports);
570
+ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
571
+ var __webpack_exports__ = __webpack_require__.X(0, [402,415,843,990], () => (__webpack_exec__(875)));
572
+ module.exports = __webpack_exports__;
573
+
574
+ })();
@@ -0,0 +1 @@
1
+ {"version":1,"files":["../webpack-runtime.js","../chunks/402.js","../chunks/415.js","../chunks/843.js","../chunks/990.js","../../package.json","../../../node_modules/react","../../../node_modules/next","../../../package.json"]}
@@ -0,0 +1,9 @@
1
+ {
2
+ "/_app": "pages/_app.js",
3
+ "/404": "pages/404.js",
4
+ "/_error": "pages/_error.js",
5
+ "/toolkit-demo": "pages/toolkit-demo.js",
6
+ "/_document": "pages/_document.js",
7
+ "/about": "pages/about.js",
8
+ "/": "pages/index.js"
9
+ }