@opinly/next 0.1.12 → 0.1.14

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 (151) hide show
  1. package/dist/components/author-page/_helpers/json-ld.js +1 -0
  2. package/dist/components/author-page/_helpers/json-ld.mjs +1 -0
  3. package/dist/components/author-page/index.js +57 -22
  4. package/dist/components/author-page/index.js.map +1 -1
  5. package/dist/components/author-page/index.mjs +50 -0
  6. package/dist/components/author-page/index.mjs.map +1 -0
  7. package/dist/components/authors-page/index.js +63 -29
  8. package/dist/components/authors-page/index.js.map +1 -1
  9. package/dist/components/authors-page/index.mjs +71 -0
  10. package/dist/components/authors-page/{index.cjs.map → index.mjs.map} +1 -1
  11. package/dist/components/blog-post/_components/content.js +63 -28
  12. package/dist/components/blog-post/_components/content.js.map +1 -1
  13. package/dist/components/blog-post/_components/content.mjs +126 -0
  14. package/dist/components/blog-post/_components/content.mjs.map +1 -0
  15. package/dist/components/blog-post/_components/faq.js +32 -8
  16. package/dist/components/blog-post/_components/faq.js.map +1 -1
  17. package/dist/components/blog-post/_components/faq.mjs +15 -0
  18. package/dist/components/blog-post/_components/{faq.cjs.map → faq.mjs.map} +1 -1
  19. package/dist/components/blog-post/_components/share.js +58 -24
  20. package/dist/components/blog-post/_components/share.js.map +1 -1
  21. package/dist/components/blog-post/_components/share.mjs +66 -0
  22. package/dist/components/blog-post/_components/{share.cjs.map → share.mjs.map} +1 -1
  23. package/dist/components/blog-post/_components/table-of-contents.js +58 -23
  24. package/dist/components/blog-post/_components/table-of-contents.js.map +1 -1
  25. package/dist/components/blog-post/_components/table-of-contents.mjs +48 -0
  26. package/dist/components/blog-post/_components/table-of-contents.mjs.map +1 -0
  27. package/dist/components/blog-post/_helpers/calc-reading-time.js +1 -0
  28. package/dist/components/blog-post/_helpers/calc-reading-time.mjs +1 -0
  29. package/dist/components/blog-post/_helpers/extract-headings.js +26 -2
  30. package/dist/components/blog-post/_helpers/extract-headings.js.map +1 -1
  31. package/dist/components/blog-post/_helpers/extract-headings.mjs +20 -0
  32. package/dist/components/blog-post/_helpers/{extract-headings.cjs.map → extract-headings.mjs.map} +1 -1
  33. package/dist/components/blog-post/_helpers/json-ld.js +38 -11
  34. package/dist/components/blog-post/_helpers/json-ld.js.map +1 -1
  35. package/dist/components/blog-post/_helpers/{json-ld.cjs → json-ld.mjs} +12 -39
  36. package/dist/components/blog-post/_helpers/{json-ld.cjs.map → json-ld.mjs.map} +1 -1
  37. package/dist/components/blog-post/_helpers/reading-time.js +27 -2
  38. package/dist/components/blog-post/_helpers/reading-time.js.map +1 -1
  39. package/dist/components/blog-post/_helpers/reading-time.mjs +25 -0
  40. package/dist/components/blog-post/_helpers/{reading-time.cjs.map → reading-time.mjs.map} +1 -1
  41. package/dist/components/blog-post/_types/blog-post.js +16 -0
  42. package/dist/components/blog-post/_types/blog-post.js.map +1 -1
  43. package/dist/components/blog-post/_types/blog-post.mjs +1 -0
  44. package/dist/components/blog-post/_types/blog-post.mjs.map +1 -0
  45. package/dist/components/blog-post/_types/class-names.js +16 -0
  46. package/dist/components/blog-post/_types/class-names.js.map +1 -1
  47. package/dist/components/blog-post/_types/class-names.mjs +1 -0
  48. package/dist/components/blog-post/_types/class-names.mjs.map +1 -0
  49. package/dist/components/blog-post/index.js +77 -47
  50. package/dist/components/blog-post/index.js.map +1 -1
  51. package/dist/components/blog-post/index.mjs +118 -0
  52. package/dist/components/blog-post/{index.cjs.map → index.mjs.map} +1 -1
  53. package/dist/components/bread-crumbs.js +47 -13
  54. package/dist/components/bread-crumbs.js.map +1 -1
  55. package/dist/components/bread-crumbs.mjs +26 -0
  56. package/dist/components/{bread-crumbs.cjs.map → bread-crumbs.mjs.map} +1 -1
  57. package/dist/components/folder-page/index.js +36 -12
  58. package/dist/components/folder-page/index.js.map +1 -1
  59. package/dist/components/folder-page/index.mjs +37 -0
  60. package/dist/components/folder-page/{index.cjs.map → index.mjs.map} +1 -1
  61. package/dist/components/home-page/folders.js +64 -29
  62. package/dist/components/home-page/folders.js.map +1 -1
  63. package/dist/components/home-page/folders.mjs +63 -0
  64. package/dist/components/home-page/{folders.cjs.map → folders.mjs.map} +1 -1
  65. package/dist/components/home-page/index.js +35 -11
  66. package/dist/components/home-page/index.js.map +1 -1
  67. package/dist/components/home-page/index.mjs +20 -0
  68. package/dist/components/home-page/{index.cjs.map → index.mjs.map} +1 -1
  69. package/dist/components/home-page/pagination.js +43 -9
  70. package/dist/components/home-page/pagination.js.map +1 -1
  71. package/dist/components/home-page/pagination.mjs +57 -0
  72. package/dist/components/home-page/{pagination.cjs.map → pagination.mjs.map} +1 -1
  73. package/dist/components/home-page/top-posts.js +34 -10
  74. package/dist/components/home-page/top-posts.js.map +1 -1
  75. package/dist/components/home-page/top-posts.mjs +28 -0
  76. package/dist/components/home-page/{top-posts.cjs.map → top-posts.mjs.map} +1 -1
  77. package/dist/components/not-found.js +49 -15
  78. package/dist/components/not-found.js.map +1 -1
  79. package/dist/components/not-found.mjs +26 -0
  80. package/dist/components/{not-found.cjs.map → not-found.mjs.map} +1 -1
  81. package/dist/components/opinly-blog.js +39 -15
  82. package/dist/components/opinly-blog.js.map +1 -1
  83. package/dist/components/opinly-blog.mjs +33 -0
  84. package/dist/components/{opinly-blog.cjs.map → opinly-blog.mjs.map} +1 -1
  85. package/dist/components/post-preview.js +77 -41
  86. package/dist/components/post-preview.js.map +1 -1
  87. package/dist/components/post-preview.mjs +77 -0
  88. package/dist/components/post-preview.mjs.map +1 -0
  89. package/dist/index.js +22 -1
  90. package/dist/index.js.map +1 -1
  91. package/dist/index.mjs +2 -0
  92. package/dist/index.mjs.map +1 -0
  93. package/dist/utils/dates.js +26 -2
  94. package/dist/utils/dates.js.map +1 -1
  95. package/dist/utils/dates.mjs +9 -0
  96. package/dist/utils/{dates.cjs.map → dates.mjs.map} +1 -1
  97. package/dist/utils/generate-metadata.d.cts +5 -3
  98. package/dist/utils/generate-metadata.d.ts +5 -3
  99. package/dist/utils/generate-metadata.js +33 -9
  100. package/dist/utils/generate-metadata.js.map +1 -1
  101. package/dist/utils/generate-metadata.mjs +36 -0
  102. package/dist/utils/generate-metadata.mjs.map +1 -0
  103. package/dist/utils/merge.js +29 -5
  104. package/dist/utils/merge.js.map +1 -1
  105. package/dist/utils/merge.mjs +9 -0
  106. package/dist/utils/{merge.cjs.map → merge.mjs.map} +1 -1
  107. package/dist/utils/sdk-config.d.cts +1 -0
  108. package/dist/utils/sdk-config.d.ts +1 -0
  109. package/dist/utils/sdk-config.js +31 -4
  110. package/dist/utils/sdk-config.js.map +1 -1
  111. package/dist/utils/sdk-config.mjs +32 -0
  112. package/dist/utils/sdk-config.mjs.map +1 -0
  113. package/package.json +4 -4
  114. package/dist/components/author-page/_helpers/json-ld.cjs +0 -2
  115. package/dist/components/author-page/index.cjs +0 -83
  116. package/dist/components/author-page/index.cjs.map +0 -1
  117. package/dist/components/authors-page/index.cjs +0 -105
  118. package/dist/components/blog-post/_components/content.cjs +0 -159
  119. package/dist/components/blog-post/_components/content.cjs.map +0 -1
  120. package/dist/components/blog-post/_components/faq.cjs +0 -39
  121. package/dist/components/blog-post/_components/share.cjs +0 -100
  122. package/dist/components/blog-post/_components/table-of-contents.cjs +0 -81
  123. package/dist/components/blog-post/_components/table-of-contents.cjs.map +0 -1
  124. package/dist/components/blog-post/_helpers/calc-reading-time.cjs +0 -2
  125. package/dist/components/blog-post/_helpers/extract-headings.cjs +0 -44
  126. package/dist/components/blog-post/_helpers/reading-time.cjs +0 -50
  127. package/dist/components/blog-post/_types/blog-post.cjs +0 -17
  128. package/dist/components/blog-post/_types/blog-post.cjs.map +0 -1
  129. package/dist/components/blog-post/_types/class-names.cjs +0 -17
  130. package/dist/components/blog-post/_types/class-names.cjs.map +0 -1
  131. package/dist/components/blog-post/index.cjs +0 -148
  132. package/dist/components/bread-crumbs.cjs +0 -60
  133. package/dist/components/folder-page/index.cjs +0 -61
  134. package/dist/components/home-page/folders.cjs +0 -98
  135. package/dist/components/home-page/index.cjs +0 -44
  136. package/dist/components/home-page/pagination.cjs +0 -91
  137. package/dist/components/home-page/top-posts.cjs +0 -52
  138. package/dist/components/not-found.cjs +0 -60
  139. package/dist/components/opinly-blog.cjs +0 -57
  140. package/dist/components/post-preview.cjs +0 -111
  141. package/dist/components/post-preview.cjs.map +0 -1
  142. package/dist/index.cjs +0 -23
  143. package/dist/index.cjs.map +0 -1
  144. package/dist/utils/dates.cjs +0 -33
  145. package/dist/utils/generate-metadata.cjs +0 -60
  146. package/dist/utils/generate-metadata.cjs.map +0 -1
  147. package/dist/utils/merge.cjs +0 -33
  148. package/dist/utils/sdk-config.cjs +0 -55
  149. package/dist/utils/sdk-config.cjs.map +0 -1
  150. /package/dist/components/author-page/_helpers/{json-ld.cjs.map → json-ld.mjs.map} +0 -0
  151. /package/dist/components/blog-post/_helpers/{calc-reading-time.cjs.map → calc-reading-time.mjs.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/components/blog-post/_types/class-names.ts"],"sourcesContent":["export type BlogComponentClassNames = {\n paragraph?: string;\n heading?: string;\n image?: string;\n bulletList?: string;\n orderedList?: string;\n listItem?: string;\n link?: string;\n container?: string;\n};\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -1,148 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var blog_post_exports = {};
30
- __export(blog_post_exports, {
31
- BlogPost: () => BlogPost
32
- });
33
- module.exports = __toCommonJS(blog_post_exports);
34
- var import_jsx_runtime = require("react/jsx-runtime");
35
- var import_link = __toESM(require("next/link"), 1);
36
- var import_merge = require("../../utils/merge");
37
- var import_sdk_config = require("../../utils/sdk-config");
38
- var import_json_ld = require("./_helpers/json-ld");
39
- var import_faq = require("./_components/faq");
40
- var import_reading_time = require("./_helpers/reading-time");
41
- var import_content = require("./_components/content");
42
- var import_table_of_contents = require("./_components/table-of-contents");
43
- var import_bread_crumbs = require("../bread-crumbs");
44
- var import_dates = require("../../utils/dates");
45
- var import_script = __toESM(require("next/script"), 1);
46
- const BlogPost = ({
47
- post,
48
- classNames = {}
49
- }) => {
50
- const content = post.content;
51
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
52
- post.faqs && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
53
- import_script.default,
54
- {
55
- strategy: "beforeInteractive",
56
- type: "application/ld+json",
57
- dangerouslySetInnerHTML: {
58
- __html: JSON.stringify((0, import_json_ld.genFaqJSONLD)(post.faqs)).replace(
59
- /</g,
60
- "\\u003c"
61
- )
62
- }
63
- }
64
- ),
65
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
66
- import_script.default,
67
- {
68
- strategy: "beforeInteractive",
69
- type: "application/ld+json",
70
- dangerouslySetInnerHTML: {
71
- __html: JSON.stringify((0, import_json_ld.genBlogPostingJSONLD)(post))
72
- }
73
- }
74
- ),
75
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
76
- import_script.default,
77
- {
78
- strategy: "beforeInteractive",
79
- type: "application/ld+json",
80
- dangerouslySetInnerHTML: {
81
- __html: JSON.stringify((0, import_json_ld.genBreadcrumbJSONLD)(post))
82
- }
83
- }
84
- ),
85
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "max-w-7xl mx-auto px-4 py-24 flex items-start space-x-8", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex flex-col gap-12 w-full", children: [
86
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "bg-orange-600", children: [
87
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
88
- import_bread_crumbs.BreadCrumbs,
89
- {
90
- breadcrumbs: [
91
- post.folder && {
92
- url: `${import_sdk_config.opinlyConfig.blogPrefix}/${post.folder.slug}`,
93
- name: post.folder.name
94
- }
95
- ]
96
- }
97
- ),
98
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", { className: "text-4xl font-bold mb-2 leading-tight", children: post.title }),
99
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "text-sm mb-4", children: [
100
- "Author:",
101
- " ",
102
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
103
- import_link.default,
104
- {
105
- href: `${import_sdk_config.opinlyConfig.blogPrefix}/authors/${post.author?.slug}`,
106
- className: "font-medium",
107
- children: post.author?.name
108
- }
109
- ),
110
- " ",
111
- "\xB7 ",
112
- (0, import_reading_time.calculateReadingTime)(content),
113
- " min read \xB7",
114
- " ",
115
- (0, import_dates.formatDate)(post.firstPublishedAt) || "Today"
116
- ] })
117
- ] }),
118
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
119
- "div",
120
- {
121
- className: (0, import_merge.cn)(
122
- "flex flex-col-reverse md:flex-row mx-auto mt-10 gap-12 relative w-full ",
123
- classNames.container
124
- ),
125
- children: [
126
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("article", { className: "w-full lg:w-2/3 order-2 lg:order-1 flex items-start space-x-4", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "prose w-full", children: [
127
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_content.Content, { content, classNames }),
128
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_faq.FAQS, { faqs: post.faqs })
129
- ] }) }),
130
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "block md:min-w-72 md:sticky md:top-20 md:self-start", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
131
- import_table_of_contents.TableOfContents,
132
- {
133
- content,
134
- author: post.author,
135
- post
136
- }
137
- ) })
138
- ]
139
- }
140
- )
141
- ] }) })
142
- ] });
143
- };
144
- // Annotate the CommonJS export names for ESM import in node:
145
- 0 && (module.exports = {
146
- BlogPost
147
- });
148
- //# sourceMappingURL=index.cjs.map
@@ -1,60 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var bread_crumbs_exports = {};
30
- __export(bread_crumbs_exports, {
31
- BreadCrumbs: () => BreadCrumbs
32
- });
33
- module.exports = __toCommonJS(bread_crumbs_exports);
34
- var import_jsx_runtime = require("react/jsx-runtime");
35
- var import_link = __toESM(require("next/link"), 1);
36
- var import_react = require("react");
37
- var import_sdk_config = require("../utils/sdk-config");
38
- const BreadCrumbs = ({
39
- breadcrumbs
40
- }) => {
41
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("nav", { className: "text-sm text-orange-100 text-muted-foreground mb-4", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("ol", { className: "list-reset flex space-x-2", children: [
42
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_link.default, { href: "/", className: "font-bold", children: import_sdk_config.opinlyConfig.siteName }),
43
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "/" }),
44
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_link.default, { href: import_sdk_config.opinlyConfig.blogPrefix, className: "font-bold", children: "Blog" }),
45
- breadcrumbs?.map((breadcrumb, index) => {
46
- if (!breadcrumb) {
47
- return null;
48
- }
49
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react.Fragment, { children: [
50
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "/" }),
51
- breadcrumb.url ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_link.default, { href: breadcrumb.url, className: "font-bold", children: breadcrumb.name }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "font-bold", children: breadcrumb.name })
52
- ] }, index);
53
- })
54
- ] }) });
55
- };
56
- // Annotate the CommonJS export names for ESM import in node:
57
- 0 && (module.exports = {
58
- BreadCrumbs
59
- });
60
- //# sourceMappingURL=bread-crumbs.cjs.map
@@ -1,61 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var folder_page_exports = {};
20
- __export(folder_page_exports, {
21
- FolderPage: () => FolderPage
22
- });
23
- module.exports = __toCommonJS(folder_page_exports);
24
- var import_jsx_runtime = require("react/jsx-runtime");
25
- var import_post_preview = require("../post-preview");
26
- var import_bread_crumbs = require("../bread-crumbs");
27
- const FolderPage = ({
28
- folder
29
- }) => {
30
- console.log("folder", JSON.stringify(folder, null, 2));
31
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "max-w-6xl mx-auto px-4 py-10", children: [
32
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_bread_crumbs.BreadCrumbs, {}),
33
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", { className: "text-4xl font-bold mb-2", children: folder.name }),
34
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-muted-foreground max-w-2xl mb-8", children: folder.description || `Explore articles about ${folder.name}.` }),
35
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8", children: [
36
- folder.posts.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "text-muted-foreground", children: "No posts added yet" }),
37
- folder.posts.map((post) => {
38
- console.log("post.image", post.image);
39
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_post_preview.PostPreview, { post }, post.slug);
40
- })
41
- ] })
42
- ] });
43
- };
44
- function formatDate(dateStr) {
45
- return new Date(dateStr).toLocaleDateString("en-GB", {
46
- day: "2-digit",
47
- month: "short",
48
- year: "numeric"
49
- });
50
- }
51
- function formatMinutes(description) {
52
- if (!description) return "5 min read";
53
- const words = description.split(" ").length;
54
- const mins = Math.ceil(words / 200);
55
- return `${mins} min read`;
56
- }
57
- // Annotate the CommonJS export names for ESM import in node:
58
- 0 && (module.exports = {
59
- FolderPage
60
- });
61
- //# sourceMappingURL=index.cjs.map
@@ -1,98 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var folders_exports = {};
30
- __export(folders_exports, {
31
- HomePageFolders: () => HomePageFolders,
32
- HomePageFoldersSkeleton: () => HomePageFoldersSkeleton
33
- });
34
- module.exports = __toCommonJS(folders_exports);
35
- var import_jsx_runtime = require("react/jsx-runtime");
36
- var import_link = __toESM(require("next/link"), 1);
37
- var import_post_preview = require("../post-preview");
38
- var import_lucide_react = require("lucide-react");
39
- var import_react = require("react");
40
- const HomePageFoldersSkeleton = () => {
41
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: Array(2).fill(null).map((_, sectionIdx) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "space-y-4 mb-5", children: [
42
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "animate-pulse space-y-2", children: [
43
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-8 w-1/3 bg-gray-200 dark:bg-gray-700 rounded" }),
44
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-4 w-1/2 bg-gray-200 dark:bg-gray-700 rounded" })
45
- ] }),
46
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-10", children: [
47
- Array(3).fill(null).map((__, postIdx) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "animate-pulse space-y-3", children: [
48
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-full h-48 bg-gray-200 dark:bg-gray-700 rounded-lg" }),
49
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-5 w-3/4 bg-gray-200 dark:bg-gray-700 rounded" }),
50
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-4 w-full bg-gray-200 dark:bg-gray-700 rounded" })
51
- ] }, postIdx)),
52
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "flex justify-center items-center animate-pulse", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-4 w-48 bg-gray-200 dark:bg-gray-700 rounded" }) })
53
- ] })
54
- ] }, sectionIdx)) });
55
- };
56
- const HomePageFoldersServer = async ({ client }) => {
57
- const folders = await client.client.content.homePageFolders.query();
58
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: folders.map((folder) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "space-y-4 ", children: [
59
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex flex-col gap-2 mb-20", children: [
60
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
61
- import_link.default,
62
- {
63
- href: `/blog/${folder.slug}`,
64
- className: "text-3xl",
65
- children: folder.title
66
- },
67
- folder.slug
68
- ),
69
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-sm text-gray-500", children: folder.description })
70
- ] }),
71
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-10 mb-20", children: [
72
- folder.posts.filter((post) => post !== null).map((post) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_post_preview.PostPreview, { post }, post.slug)),
73
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "flex justify-center w-full h-full items-center ", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
74
- import_link.default,
75
- {
76
- href: `/blog/${folder.slug}`,
77
- className: "flex items-center gap-2",
78
- children: [
79
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [
80
- "View all posts in ",
81
- folder.title
82
- ] }),
83
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ArrowRight, { className: "w-4 h-4" })
84
- ]
85
- }
86
- ) })
87
- ] })
88
- ] })) });
89
- };
90
- const HomePageFolders = ({ client }) => {
91
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.Suspense, { fallback: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(HomePageFoldersSkeleton, {}), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(HomePageFoldersServer, { client }) });
92
- };
93
- // Annotate the CommonJS export names for ESM import in node:
94
- 0 && (module.exports = {
95
- HomePageFolders,
96
- HomePageFoldersSkeleton
97
- });
98
- //# sourceMappingURL=folders.cjs.map
@@ -1,44 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var home_page_exports = {};
20
- __export(home_page_exports, {
21
- HomePage: () => HomePage
22
- });
23
- module.exports = __toCommonJS(home_page_exports);
24
- var import_jsx_runtime = require("react/jsx-runtime");
25
- var import_react = require("react");
26
- var import_top_posts = require("./top-posts");
27
- var import_folders = require("./folders");
28
- var import_pagination = require("./pagination");
29
- const HomePage = ({
30
- searchParams,
31
- client
32
- }) => {
33
- const parsedPage = searchParams.page ? parseInt(searchParams.page) : 1;
34
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "max-w-7xl mx-auto px-4 py-10", children: [
35
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-10", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_top_posts.TopPosts, { client, page: parsedPage }) }),
36
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "flex justify-center items-center mt-10 gap-2", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_pagination.HomePagePagination, { client, page: parsedPage }) }),
37
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "flex flex-col gap-10 mt-20", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.Suspense, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_folders.HomePageFolders, { client }) }) })
38
- ] });
39
- };
40
- // Annotate the CommonJS export names for ESM import in node:
41
- 0 && (module.exports = {
42
- HomePage
43
- });
44
- //# sourceMappingURL=index.cjs.map
@@ -1,91 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var pagination_exports = {};
30
- __export(pagination_exports, {
31
- HomePagePagination: () => HomePagePagination
32
- });
33
- module.exports = __toCommonJS(pagination_exports);
34
- var import_jsx_runtime = require("react/jsx-runtime");
35
- var import_link = __toESM(require("next/link"), 1);
36
- var import_merge = require("../../utils/merge");
37
- const HomePagePagination = async ({
38
- client,
39
- page
40
- }) => {
41
- const count = await client.client.content.postsCount.query();
42
- const totalPages = Math.ceil(count / 9);
43
- const pages = [];
44
- if (totalPages <= 5) {
45
- for (let i = 1; i <= totalPages; i++) {
46
- pages.push(i);
47
- }
48
- } else {
49
- let start, end;
50
- if (page <= 3) {
51
- start = 1;
52
- end = 5;
53
- } else if (page >= totalPages - 2) {
54
- start = totalPages - 4;
55
- end = totalPages;
56
- } else {
57
- start = page - 2;
58
- end = page + 2;
59
- }
60
- if (start > 1) {
61
- pages.push(1);
62
- if (start > 2) pages.push("ellipsis");
63
- }
64
- for (let i = start; i <= end; i++) {
65
- pages.push(i);
66
- }
67
- if (end < totalPages) {
68
- if (end < totalPages - 1) pages.push("ellipsis");
69
- pages.push(totalPages);
70
- }
71
- }
72
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("nav", { "aria-label": "Pagination", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "flex items-center space-x-1", children: pages.map(
73
- (p, idx) => p === "ellipsis" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "px-2", children: "\u2026" }, `el-${idx}`) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
74
- import_link.default,
75
- {
76
- href: `?page=${p}`,
77
- className: (0, import_merge.cn)(
78
- "w-10 h-10 flex items-center justify-center rounded-md",
79
- page === p ? "bg-primary text-white bg-black" : "border border-gray-200 dark:border-gray-700"
80
- ),
81
- children: p
82
- },
83
- p
84
- )
85
- ) }) });
86
- };
87
- // Annotate the CommonJS export names for ESM import in node:
88
- 0 && (module.exports = {
89
- HomePagePagination
90
- });
91
- //# sourceMappingURL=pagination.cjs.map
@@ -1,52 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var top_posts_exports = {};
20
- __export(top_posts_exports, {
21
- TopPosts: () => TopPosts
22
- });
23
- module.exports = __toCommonJS(top_posts_exports);
24
- var import_jsx_runtime = require("react/jsx-runtime");
25
- var import_post_preview = require("../post-preview");
26
- var import_react = require("react");
27
- const TopPostsServer = async ({
28
- client,
29
- page
30
- }) => {
31
- const posts = await client.client.content.paginatedPosts.query({
32
- page
33
- });
34
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: posts.map((post) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_post_preview.PostPreview, { post }, "top-posts-" + post.slug)) });
35
- };
36
- const TopPosts = ({
37
- client,
38
- page
39
- }) => {
40
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
41
- import_react.Suspense,
42
- {
43
- fallback: Array.from({ length: 9 }).map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_post_preview.PostPreviewSkeleton, {}, i)),
44
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TopPostsServer, { client, page })
45
- }
46
- );
47
- };
48
- // Annotate the CommonJS export names for ESM import in node:
49
- 0 && (module.exports = {
50
- TopPosts
51
- });
52
- //# sourceMappingURL=top-posts.cjs.map
@@ -1,60 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var not_found_exports = {};
30
- __export(not_found_exports, {
31
- OpinlyNotFound: () => OpinlyNotFound
32
- });
33
- module.exports = __toCommonJS(not_found_exports);
34
- var import_jsx_runtime = require("react/jsx-runtime");
35
- var import_link = __toESM(require("next/link"), 1);
36
- const OpinlyNotFound = () => {
37
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
38
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "bg-orange-600 py-10", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "max-w-7xl mx-auto px-4", children: [
39
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", { className: "text-4xl font-bold mb-2 leading-tight text-white", children: "Post Not Found" }),
40
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "text-sm mb-4 text-orange-100", children: "The post you're looking for doesn't exist or has been removed." })
41
- ] }) }),
42
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "flex max-w-7xl mx-auto mt-10 gap-12", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("article", { className: "w-2/3", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "prose max-w-none", children: [
43
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-gray-600", children: "You can try:" }),
44
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("ul", { className: "list-disc pl-6 my-4", children: [
45
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("li", { children: "Checking the URL for typos" }),
46
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("li", { children: [
47
- "Returning to the",
48
- " ",
49
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_link.default, { href: "/blog", className: "text-blue-600 underline", children: "blog homepage" })
50
- ] }),
51
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("li", { children: "Using the search function to find what you're looking for" })
52
- ] })
53
- ] }) }) })
54
- ] });
55
- };
56
- // Annotate the CommonJS export names for ESM import in node:
57
- 0 && (module.exports = {
58
- OpinlyNotFound
59
- });
60
- //# sourceMappingURL=not-found.cjs.map