@opinly/next 0.1.25 → 1.0.0-alpha.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/dist/config.cjs +16 -7
- package/dist/config.cjs.map +1 -1
- package/dist/config.d.cts +7 -2
- package/dist/config.d.ts +7 -2
- package/dist/config.js +16 -7
- package/dist/config.js.map +1 -1
- package/dist/index.cjs +33 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +12 -6
- package/dist/index.d.ts +12 -6
- package/dist/index.js +26 -1
- package/dist/index.js.map +1 -1
- package/dist/json-ld.cjs +61 -0
- package/dist/json-ld.cjs.map +1 -0
- package/dist/json-ld.d.cts +17 -0
- package/dist/json-ld.d.ts +17 -0
- package/dist/json-ld.js +38 -0
- package/dist/json-ld.js.map +1 -0
- package/dist/utils/generate-metadata.cjs +23 -32
- package/dist/utils/generate-metadata.cjs.map +1 -1
- package/dist/utils/generate-metadata.d.cts +11 -2
- package/dist/utils/generate-metadata.d.ts +11 -2
- package/dist/utils/generate-metadata.js +23 -32
- package/dist/utils/generate-metadata.js.map +1 -1
- package/dist/utils/generate-sitemap-xml.cjs.map +1 -1
- package/dist/utils/generate-sitemap-xml.d.cts +5 -3
- package/dist/utils/generate-sitemap-xml.d.ts +5 -3
- package/dist/utils/generate-sitemap-xml.js.map +1 -1
- package/dist/utils/sdk-config.cjs +6 -2
- package/dist/utils/sdk-config.cjs.map +1 -1
- package/dist/utils/sdk-config.d.cts +4 -0
- package/dist/utils/sdk-config.d.ts +4 -0
- package/dist/utils/sdk-config.js +6 -2
- package/dist/utils/sdk-config.js.map +1 -1
- package/package.json +9 -23
- package/dist/components/author-page/_helpers/json-ld.cjs +0 -44
- package/dist/components/author-page/_helpers/json-ld.cjs.map +0 -1
- package/dist/components/author-page/_helpers/json-ld.d.cts +0 -8
- package/dist/components/author-page/_helpers/json-ld.d.ts +0 -8
- package/dist/components/author-page/_helpers/json-ld.js +0 -20
- package/dist/components/author-page/_helpers/json-ld.js.map +0 -1
- package/dist/components/author-page/index.cjs +0 -104
- package/dist/components/author-page/index.cjs.map +0 -1
- package/dist/components/author-page/index.d.cts +0 -10
- package/dist/components/author-page/index.d.ts +0 -10
- package/dist/components/author-page/index.js +0 -70
- package/dist/components/author-page/index.js.map +0 -1
- package/dist/components/authors-page/_helpers/json-ld.cjs +0 -53
- package/dist/components/authors-page/_helpers/json-ld.cjs.map +0 -1
- package/dist/components/authors-page/_helpers/json-ld.d.cts +0 -8
- package/dist/components/authors-page/_helpers/json-ld.d.ts +0 -8
- package/dist/components/authors-page/_helpers/json-ld.js +0 -29
- package/dist/components/authors-page/_helpers/json-ld.js.map +0 -1
- package/dist/components/authors-page/index.cjs +0 -121
- package/dist/components/authors-page/index.cjs.map +0 -1
- package/dist/components/authors-page/index.d.cts +0 -10
- package/dist/components/authors-page/index.d.ts +0 -10
- package/dist/components/authors-page/index.js +0 -87
- package/dist/components/authors-page/index.js.map +0 -1
- package/dist/components/blog-post/_components/content.cjs +0 -157
- package/dist/components/blog-post/_components/content.cjs.map +0 -1
- package/dist/components/blog-post/_components/content.d.cts +0 -10
- package/dist/components/blog-post/_components/content.d.ts +0 -10
- package/dist/components/blog-post/_components/content.js +0 -123
- package/dist/components/blog-post/_components/content.js.map +0 -1
- package/dist/components/blog-post/_components/faq.cjs +0 -39
- package/dist/components/blog-post/_components/faq.cjs.map +0 -1
- package/dist/components/blog-post/_components/faq.d.cts +0 -9
- package/dist/components/blog-post/_components/faq.d.ts +0 -9
- package/dist/components/blog-post/_components/faq.js +0 -15
- package/dist/components/blog-post/_components/faq.js.map +0 -1
- package/dist/components/blog-post/_components/share.cjs +0 -100
- package/dist/components/blog-post/_components/share.cjs.map +0 -1
- package/dist/components/blog-post/_components/share.d.cts +0 -9
- package/dist/components/blog-post/_components/share.d.ts +0 -9
- package/dist/components/blog-post/_components/share.js +0 -66
- package/dist/components/blog-post/_components/share.js.map +0 -1
- package/dist/components/blog-post/_components/table-of-contents.cjs +0 -111
- package/dist/components/blog-post/_components/table-of-contents.cjs.map +0 -1
- package/dist/components/blog-post/_components/table-of-contents.d.cts +0 -14
- package/dist/components/blog-post/_components/table-of-contents.d.ts +0 -14
- package/dist/components/blog-post/_components/table-of-contents.js +0 -77
- package/dist/components/blog-post/_components/table-of-contents.js.map +0 -1
- package/dist/components/blog-post/_helpers/calc-reading-time.cjs +0 -2
- package/dist/components/blog-post/_helpers/calc-reading-time.cjs.map +0 -1
- package/dist/components/blog-post/_helpers/calc-reading-time.d.cts +0 -2
- package/dist/components/blog-post/_helpers/calc-reading-time.d.ts +0 -2
- package/dist/components/blog-post/_helpers/calc-reading-time.js +0 -1
- package/dist/components/blog-post/_helpers/calc-reading-time.js.map +0 -1
- package/dist/components/blog-post/_helpers/extract-headings.cjs +0 -45
- package/dist/components/blog-post/_helpers/extract-headings.cjs.map +0 -1
- package/dist/components/blog-post/_helpers/extract-headings.d.cts +0 -9
- package/dist/components/blog-post/_helpers/extract-headings.d.ts +0 -9
- package/dist/components/blog-post/_helpers/extract-headings.js +0 -21
- package/dist/components/blog-post/_helpers/extract-headings.js.map +0 -1
- package/dist/components/blog-post/_helpers/json-ld.cjs +0 -162
- package/dist/components/blog-post/_helpers/json-ld.cjs.map +0 -1
- package/dist/components/blog-post/_helpers/json-ld.d.cts +0 -15
- package/dist/components/blog-post/_helpers/json-ld.d.ts +0 -15
- package/dist/components/blog-post/_helpers/json-ld.js +0 -135
- package/dist/components/blog-post/_helpers/json-ld.js.map +0 -1
- package/dist/components/blog-post/_helpers/reading-time.cjs +0 -50
- package/dist/components/blog-post/_helpers/reading-time.cjs.map +0 -1
- package/dist/components/blog-post/_helpers/reading-time.d.cts +0 -6
- package/dist/components/blog-post/_helpers/reading-time.d.ts +0 -6
- package/dist/components/blog-post/_helpers/reading-time.js +0 -25
- package/dist/components/blog-post/_helpers/reading-time.js.map +0 -1
- package/dist/components/blog-post/_types/blog-post.cjs +0 -17
- package/dist/components/blog-post/_types/blog-post.cjs.map +0 -1
- package/dist/components/blog-post/_types/blog-post.d.cts +0 -7
- package/dist/components/blog-post/_types/blog-post.d.ts +0 -7
- package/dist/components/blog-post/_types/blog-post.js +0 -1
- package/dist/components/blog-post/_types/blog-post.js.map +0 -1
- package/dist/components/blog-post/_types/class-names.cjs +0 -17
- package/dist/components/blog-post/_types/class-names.cjs.map +0 -1
- package/dist/components/blog-post/_types/class-names.d.cts +0 -12
- package/dist/components/blog-post/_types/class-names.d.ts +0 -12
- package/dist/components/blog-post/_types/class-names.js +0 -1
- package/dist/components/blog-post/_types/class-names.js.map +0 -1
- package/dist/components/blog-post/index.cjs +0 -134
- package/dist/components/blog-post/index.cjs.map +0 -1
- package/dist/components/blog-post/index.d.cts +0 -15
- package/dist/components/blog-post/index.d.ts +0 -15
- package/dist/components/blog-post/index.js +0 -100
- package/dist/components/blog-post/index.js.map +0 -1
- package/dist/components/bread-crumbs.cjs +0 -60
- package/dist/components/bread-crumbs.cjs.map +0 -1
- package/dist/components/bread-crumbs.d.cts +0 -10
- package/dist/components/bread-crumbs.d.ts +0 -10
- package/dist/components/bread-crumbs.js +0 -26
- package/dist/components/bread-crumbs.js.map +0 -1
- package/dist/components/folder-page/_helpers/json-ld.cjs +0 -43
- package/dist/components/folder-page/_helpers/json-ld.cjs.map +0 -1
- package/dist/components/folder-page/_helpers/json-ld.d.cts +0 -8
- package/dist/components/folder-page/_helpers/json-ld.d.ts +0 -8
- package/dist/components/folder-page/_helpers/json-ld.js +0 -19
- package/dist/components/folder-page/_helpers/json-ld.js.map +0 -1
- package/dist/components/folder-page/index.cjs +0 -84
- package/dist/components/folder-page/index.cjs.map +0 -1
- package/dist/components/folder-page/index.d.cts +0 -10
- package/dist/components/folder-page/index.d.ts +0 -10
- package/dist/components/folder-page/index.js +0 -60
- package/dist/components/folder-page/index.js.map +0 -1
- package/dist/components/home-page/_helpers/json-ld.cjs +0 -43
- package/dist/components/home-page/_helpers/json-ld.cjs.map +0 -1
- package/dist/components/home-page/_helpers/json-ld.d.cts +0 -3
- package/dist/components/home-page/_helpers/json-ld.d.ts +0 -3
- package/dist/components/home-page/_helpers/json-ld.js +0 -19
- package/dist/components/home-page/_helpers/json-ld.js.map +0 -1
- package/dist/components/home-page/folders.cjs +0 -108
- package/dist/components/home-page/folders.cjs.map +0 -1
- package/dist/components/home-page/folders.d.cts +0 -11
- package/dist/components/home-page/folders.d.ts +0 -11
- package/dist/components/home-page/folders.js +0 -73
- package/dist/components/home-page/folders.js.map +0 -1
- package/dist/components/home-page/index.cjs +0 -50
- package/dist/components/home-page/index.cjs.map +0 -1
- package/dist/components/home-page/index.d.cts +0 -14
- package/dist/components/home-page/index.d.ts +0 -14
- package/dist/components/home-page/index.js +0 -26
- package/dist/components/home-page/index.js.map +0 -1
- package/dist/components/home-page/pagination.cjs +0 -97
- package/dist/components/home-page/pagination.cjs.map +0 -1
- package/dist/components/home-page/pagination.d.cts +0 -9
- package/dist/components/home-page/pagination.d.ts +0 -9
- package/dist/components/home-page/pagination.js +0 -63
- package/dist/components/home-page/pagination.js.map +0 -1
- package/dist/components/home-page/top-posts.cjs +0 -35
- package/dist/components/home-page/top-posts.cjs.map +0 -1
- package/dist/components/home-page/top-posts.d.cts +0 -10
- package/dist/components/home-page/top-posts.d.ts +0 -10
- package/dist/components/home-page/top-posts.js +0 -11
- package/dist/components/home-page/top-posts.js.map +0 -1
- package/dist/components/json-ld.cjs +0 -92
- package/dist/components/json-ld.cjs.map +0 -1
- package/dist/components/json-ld.d.cts +0 -13
- package/dist/components/json-ld.d.ts +0 -13
- package/dist/components/json-ld.js +0 -57
- package/dist/components/json-ld.js.map +0 -1
- package/dist/components/opinly-blog.cjs +0 -59
- package/dist/components/opinly-blog.cjs.map +0 -1
- package/dist/components/opinly-blog.d.cts +0 -16
- package/dist/components/opinly-blog.d.ts +0 -16
- package/dist/components/opinly-blog.js +0 -35
- package/dist/components/opinly-blog.js.map +0 -1
- package/dist/components/post-preview.cjs +0 -114
- package/dist/components/post-preview.cjs.map +0 -1
- package/dist/components/post-preview.d.cts +0 -10
- package/dist/components/post-preview.d.ts +0 -10
- package/dist/components/post-preview.js +0 -79
- package/dist/components/post-preview.js.map +0 -1
- package/dist/pages/index.cjs +0 -23
- package/dist/pages/index.cjs.map +0 -1
- package/dist/pages/index.d.cts +0 -3
- package/dist/pages/index.d.ts +0 -3
- package/dist/pages/index.js +0 -2
- package/dist/pages/index.js.map +0 -1
- package/dist/pages/opinly-blog-pages.cjs +0 -127
- package/dist/pages/opinly-blog-pages.cjs.map +0 -1
- package/dist/pages/opinly-blog-pages.d.cts +0 -9
- package/dist/pages/opinly-blog-pages.d.ts +0 -9
- package/dist/pages/opinly-blog-pages.js +0 -103
- package/dist/pages/opinly-blog-pages.js.map +0 -1
- package/dist/utils/json-ld.cjs +0 -2
- package/dist/utils/json-ld.cjs.map +0 -1
- package/dist/utils/json-ld.d.cts +0 -2
- package/dist/utils/json-ld.d.ts +0 -2
- package/dist/utils/json-ld.js +0 -1
- package/dist/utils/json-ld.js.map +0 -1
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { TopPosts } from "./top-posts";
|
|
3
|
-
import { HomePageFolders } from "./folders";
|
|
4
|
-
import { HomePagePagination } from "./pagination";
|
|
5
|
-
import { blogJSONLD } from "./_helpers/json-ld";
|
|
6
|
-
import { OpinlyJSONLD } from "../json-ld";
|
|
7
|
-
const HomePage = ({
|
|
8
|
-
data,
|
|
9
|
-
header,
|
|
10
|
-
cta
|
|
11
|
-
}) => {
|
|
12
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
13
|
-
/* @__PURE__ */ jsx(OpinlyJSONLD, { content: blogJSONLD() }),
|
|
14
|
-
/* @__PURE__ */ jsxs("div", { className: "max-w-7xl mx-auto px-4 py-10", children: [
|
|
15
|
-
header,
|
|
16
|
-
/* @__PURE__ */ jsx(TopPosts, { posts: data.posts }),
|
|
17
|
-
/* @__PURE__ */ jsx(HomePagePagination, { count: data.count, page: data.page }),
|
|
18
|
-
cta,
|
|
19
|
-
/* @__PURE__ */ jsx(HomePageFolders, { folders: data.folders })
|
|
20
|
-
] })
|
|
21
|
-
] });
|
|
22
|
-
};
|
|
23
|
-
export {
|
|
24
|
-
HomePage
|
|
25
|
-
};
|
|
26
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/home-page/index.tsx"],"sourcesContent":["import { Opinly } from \"@opinly/backend\";\nimport { TopPosts } from \"./top-posts\";\nimport { HomePageFolders } from \"./folders\";\nimport { HomePagePagination } from \"./pagination\";\nimport { blogJSONLD } from \"./_helpers/json-ld\";\nimport { OpinlyBreadCrumbJsonLd, OpinlyJSONLD } from \"../json-ld\";\n\nexport type HomePageProps = {\n header?: React.ReactNode;\n cta?: React.ReactNode;\n};\n\nexport const HomePage = ({\n data,\n header,\n cta,\n}: {\n data: Extract<\n Awaited<ReturnType<Opinly[\"content\"][\"blog\"]>>,\n { type: \"home\" }\n >[\"data\"];\n} & HomePageProps) => {\n return (\n <>\n <OpinlyJSONLD content={blogJSONLD()} />\n\n <div className=\"max-w-7xl mx-auto px-4 py-10\">\n {header}\n\n <TopPosts posts={data.posts} />\n <HomePagePagination count={data.count} page={data.page} />\n {cta}\n <HomePageFolders folders={data.folders} />\n </div>\n </>\n );\n};\n"],"mappings":"AAuBI,mBACE,KAEA,YAHF;AAtBJ,SAAS,gBAAgB;AACzB,SAAS,uBAAuB;AAChC,SAAS,0BAA0B;AACnC,SAAS,kBAAkB;AAC3B,SAAiC,oBAAoB;AAO9C,MAAM,WAAW,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AACF,MAKsB;AACpB,SACE,iCACE;AAAA,wBAAC,gBAAa,SAAS,WAAW,GAAG;AAAA,IAErC,qBAAC,SAAI,WAAU,gCACZ;AAAA;AAAA,MAED,oBAAC,YAAS,OAAO,KAAK,OAAO;AAAA,MAC7B,oBAAC,sBAAmB,OAAO,KAAK,OAAO,MAAM,KAAK,MAAM;AAAA,MACvD;AAAA,MACD,oBAAC,mBAAgB,SAAS,KAAK,SAAS;AAAA,OAC1C;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -1,97 +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 = ({
|
|
38
|
-
count,
|
|
39
|
-
page
|
|
40
|
-
}) => {
|
|
41
|
-
const totalPages = Math.ceil(count / 9);
|
|
42
|
-
const pages = [];
|
|
43
|
-
if (totalPages <= 5) {
|
|
44
|
-
for (let i = 1; i <= totalPages; i++) {
|
|
45
|
-
pages.push(i);
|
|
46
|
-
}
|
|
47
|
-
} else {
|
|
48
|
-
let start, end;
|
|
49
|
-
if (page <= 3) {
|
|
50
|
-
start = 1;
|
|
51
|
-
end = 5;
|
|
52
|
-
} else if (page >= totalPages - 2) {
|
|
53
|
-
start = totalPages - 4;
|
|
54
|
-
end = totalPages;
|
|
55
|
-
} else {
|
|
56
|
-
start = page - 2;
|
|
57
|
-
end = page + 2;
|
|
58
|
-
}
|
|
59
|
-
if (start > 1) {
|
|
60
|
-
pages.push(1);
|
|
61
|
-
if (start > 2) pages.push("ellipsis");
|
|
62
|
-
}
|
|
63
|
-
for (let i = start; i <= end; i++) {
|
|
64
|
-
pages.push(i);
|
|
65
|
-
}
|
|
66
|
-
if (end < totalPages) {
|
|
67
|
-
if (end < totalPages - 1) pages.push("ellipsis");
|
|
68
|
-
pages.push(totalPages);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
72
|
-
"nav",
|
|
73
|
-
{
|
|
74
|
-
"aria-label": "Pagination",
|
|
75
|
-
className: "flex justify-center items-center mt-10 gap-2",
|
|
76
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "flex items-center space-x-1", children: pages.map(
|
|
77
|
-
(p, idx) => p === "ellipsis" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "px-2", children: "\u2026" }, `el-${idx}`) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
78
|
-
import_link.default,
|
|
79
|
-
{
|
|
80
|
-
href: `?page=${p}`,
|
|
81
|
-
className: (0, import_merge.cn)(
|
|
82
|
-
"w-10 h-10 flex items-center justify-center rounded-md",
|
|
83
|
-
page === p ? "bg-primary text-white bg-black" : "border border-gray-200 dark:border-gray-700"
|
|
84
|
-
),
|
|
85
|
-
children: p
|
|
86
|
-
},
|
|
87
|
-
p
|
|
88
|
-
)
|
|
89
|
-
) })
|
|
90
|
-
}
|
|
91
|
-
);
|
|
92
|
-
};
|
|
93
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
94
|
-
0 && (module.exports = {
|
|
95
|
-
HomePagePagination
|
|
96
|
-
});
|
|
97
|
-
//# sourceMappingURL=pagination.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/home-page/pagination.tsx"],"sourcesContent":["import React from \"react\";\nimport Link from \"next/link\";\nimport { cn } from \"../../utils/merge\";\nimport { Opinly } from \"@opinly/backend\";\n\ninterface HomePagePaginationProps {\n count: number;\n page: number;\n}\n\nexport const HomePagePagination = ({\n count,\n page,\n}: HomePagePaginationProps) => {\n const totalPages = Math.ceil(count / 9);\n\n // build a list of page labels: either a number or the string \"ellipsis\"\n const pages: (number | \"ellipsis\")[] = [];\n\n if (totalPages <= 5) {\n // Show every page\n for (let i = 1; i <= totalPages; i++) {\n pages.push(i);\n }\n } else {\n // determine sliding window\n let start: number, end: number;\n\n if (page <= 3) {\n start = 1;\n end = 5;\n } else if (page >= totalPages - 2) {\n start = totalPages - 4;\n end = totalPages;\n } else {\n start = page - 2;\n end = page + 2;\n }\n\n // first page + leading ellipsis\n if (start > 1) {\n pages.push(1);\n if (start > 2) pages.push(\"ellipsis\");\n }\n\n // window of pages\n for (let i = start; i <= end; i++) {\n pages.push(i);\n }\n\n // trailing ellipsis + last page\n if (end < totalPages) {\n if (end < totalPages - 1) pages.push(\"ellipsis\");\n pages.push(totalPages);\n }\n }\n\n return (\n <nav\n aria-label=\"Pagination\"\n className=\"flex justify-center items-center mt-10 gap-2\"\n >\n <div className=\"flex items-center space-x-1\">\n {pages.map((p, idx) =>\n p === \"ellipsis\" ? (\n <span key={`el-${idx}`} className=\"px-2\">\n …\n </span>\n ) : (\n <Link\n key={p}\n href={`?page=${p}`}\n className={cn(\n \"w-10 h-10 flex items-center justify-center rounded-md\",\n page === p\n ? \"bg-primary text-white bg-black\"\n : \"border border-gray-200 dark:border-gray-700\"\n )}\n >\n {p}\n </Link>\n )\n )}\n </div>\n </nav>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAiEY;AAhEZ,kBAAiB;AACjB,mBAAmB;AAQZ,MAAM,qBAAqB,CAAC;AAAA,EACjC;AAAA,EACA;AACF,MAA+B;AAC7B,QAAM,aAAa,KAAK,KAAK,QAAQ,CAAC;AAGtC,QAAM,QAAiC,CAAC;AAExC,MAAI,cAAc,GAAG;AAEnB,aAAS,IAAI,GAAG,KAAK,YAAY,KAAK;AACpC,YAAM,KAAK,CAAC;AAAA,IACd;AAAA,EACF,OAAO;AAEL,QAAI,OAAe;AAEnB,QAAI,QAAQ,GAAG;AACb,cAAQ;AACR,YAAM;AAAA,IACR,WAAW,QAAQ,aAAa,GAAG;AACjC,cAAQ,aAAa;AACrB,YAAM;AAAA,IACR,OAAO;AACL,cAAQ,OAAO;AACf,YAAM,OAAO;AAAA,IACf;AAGA,QAAI,QAAQ,GAAG;AACb,YAAM,KAAK,CAAC;AACZ,UAAI,QAAQ,EAAG,OAAM,KAAK,UAAU;AAAA,IACtC;AAGA,aAAS,IAAI,OAAO,KAAK,KAAK,KAAK;AACjC,YAAM,KAAK,CAAC;AAAA,IACd;AAGA,QAAI,MAAM,YAAY;AACpB,UAAI,MAAM,aAAa,EAAG,OAAM,KAAK,UAAU;AAC/C,YAAM,KAAK,UAAU;AAAA,IACvB;AAAA,EACF;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,cAAW;AAAA,MACX,WAAU;AAAA,MAEV,sDAAC,SAAI,WAAU,+BACZ,gBAAM;AAAA,QAAI,CAAC,GAAG,QACb,MAAM,aACJ,4CAAC,UAAuB,WAAU,QAAO,sBAA9B,MAAM,GAAG,EAEpB,IAEA;AAAA,UAAC,YAAAA;AAAA,UAAA;AAAA,YAEC,MAAM,SAAS,CAAC;AAAA,YAChB,eAAW;AAAA,cACT;AAAA,cACA,SAAS,IACL,mCACA;AAAA,YACN;AAAA,YAEC;AAAA;AAAA,UATI;AAAA,QAUP;AAAA,MAEJ,GACF;AAAA;AAAA,EACF;AAEJ;","names":["Link"]}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
|
|
3
|
-
interface HomePagePaginationProps {
|
|
4
|
-
count: number;
|
|
5
|
-
page: number;
|
|
6
|
-
}
|
|
7
|
-
declare const HomePagePagination: ({ count, page, }: HomePagePaginationProps) => react_jsx_runtime.JSX.Element;
|
|
8
|
-
|
|
9
|
-
export { HomePagePagination };
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
|
|
3
|
-
interface HomePagePaginationProps {
|
|
4
|
-
count: number;
|
|
5
|
-
page: number;
|
|
6
|
-
}
|
|
7
|
-
declare const HomePagePagination: ({ count, page, }: HomePagePaginationProps) => react_jsx_runtime.JSX.Element;
|
|
8
|
-
|
|
9
|
-
export { HomePagePagination };
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import Link from "next/link";
|
|
3
|
-
import { cn } from "../../utils/merge";
|
|
4
|
-
const HomePagePagination = ({
|
|
5
|
-
count,
|
|
6
|
-
page
|
|
7
|
-
}) => {
|
|
8
|
-
const totalPages = Math.ceil(count / 9);
|
|
9
|
-
const pages = [];
|
|
10
|
-
if (totalPages <= 5) {
|
|
11
|
-
for (let i = 1; i <= totalPages; i++) {
|
|
12
|
-
pages.push(i);
|
|
13
|
-
}
|
|
14
|
-
} else {
|
|
15
|
-
let start, end;
|
|
16
|
-
if (page <= 3) {
|
|
17
|
-
start = 1;
|
|
18
|
-
end = 5;
|
|
19
|
-
} else if (page >= totalPages - 2) {
|
|
20
|
-
start = totalPages - 4;
|
|
21
|
-
end = totalPages;
|
|
22
|
-
} else {
|
|
23
|
-
start = page - 2;
|
|
24
|
-
end = page + 2;
|
|
25
|
-
}
|
|
26
|
-
if (start > 1) {
|
|
27
|
-
pages.push(1);
|
|
28
|
-
if (start > 2) pages.push("ellipsis");
|
|
29
|
-
}
|
|
30
|
-
for (let i = start; i <= end; i++) {
|
|
31
|
-
pages.push(i);
|
|
32
|
-
}
|
|
33
|
-
if (end < totalPages) {
|
|
34
|
-
if (end < totalPages - 1) pages.push("ellipsis");
|
|
35
|
-
pages.push(totalPages);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
return /* @__PURE__ */ jsx(
|
|
39
|
-
"nav",
|
|
40
|
-
{
|
|
41
|
-
"aria-label": "Pagination",
|
|
42
|
-
className: "flex justify-center items-center mt-10 gap-2",
|
|
43
|
-
children: /* @__PURE__ */ jsx("div", { className: "flex items-center space-x-1", children: pages.map(
|
|
44
|
-
(p, idx) => p === "ellipsis" ? /* @__PURE__ */ jsx("span", { className: "px-2", children: "\u2026" }, `el-${idx}`) : /* @__PURE__ */ jsx(
|
|
45
|
-
Link,
|
|
46
|
-
{
|
|
47
|
-
href: `?page=${p}`,
|
|
48
|
-
className: cn(
|
|
49
|
-
"w-10 h-10 flex items-center justify-center rounded-md",
|
|
50
|
-
page === p ? "bg-primary text-white bg-black" : "border border-gray-200 dark:border-gray-700"
|
|
51
|
-
),
|
|
52
|
-
children: p
|
|
53
|
-
},
|
|
54
|
-
p
|
|
55
|
-
)
|
|
56
|
-
) })
|
|
57
|
-
}
|
|
58
|
-
);
|
|
59
|
-
};
|
|
60
|
-
export {
|
|
61
|
-
HomePagePagination
|
|
62
|
-
};
|
|
63
|
-
//# sourceMappingURL=pagination.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/home-page/pagination.tsx"],"sourcesContent":["import React from \"react\";\nimport Link from \"next/link\";\nimport { cn } from \"../../utils/merge\";\nimport { Opinly } from \"@opinly/backend\";\n\ninterface HomePagePaginationProps {\n count: number;\n page: number;\n}\n\nexport const HomePagePagination = ({\n count,\n page,\n}: HomePagePaginationProps) => {\n const totalPages = Math.ceil(count / 9);\n\n // build a list of page labels: either a number or the string \"ellipsis\"\n const pages: (number | \"ellipsis\")[] = [];\n\n if (totalPages <= 5) {\n // Show every page\n for (let i = 1; i <= totalPages; i++) {\n pages.push(i);\n }\n } else {\n // determine sliding window\n let start: number, end: number;\n\n if (page <= 3) {\n start = 1;\n end = 5;\n } else if (page >= totalPages - 2) {\n start = totalPages - 4;\n end = totalPages;\n } else {\n start = page - 2;\n end = page + 2;\n }\n\n // first page + leading ellipsis\n if (start > 1) {\n pages.push(1);\n if (start > 2) pages.push(\"ellipsis\");\n }\n\n // window of pages\n for (let i = start; i <= end; i++) {\n pages.push(i);\n }\n\n // trailing ellipsis + last page\n if (end < totalPages) {\n if (end < totalPages - 1) pages.push(\"ellipsis\");\n pages.push(totalPages);\n }\n }\n\n return (\n <nav\n aria-label=\"Pagination\"\n className=\"flex justify-center items-center mt-10 gap-2\"\n >\n <div className=\"flex items-center space-x-1\">\n {pages.map((p, idx) =>\n p === \"ellipsis\" ? (\n <span key={`el-${idx}`} className=\"px-2\">\n …\n </span>\n ) : (\n <Link\n key={p}\n href={`?page=${p}`}\n className={cn(\n \"w-10 h-10 flex items-center justify-center rounded-md\",\n page === p\n ? \"bg-primary text-white bg-black\"\n : \"border border-gray-200 dark:border-gray-700\"\n )}\n >\n {p}\n </Link>\n )\n )}\n </div>\n </nav>\n );\n};\n"],"mappings":"AAiEY;AAhEZ,OAAO,UAAU;AACjB,SAAS,UAAU;AAQZ,MAAM,qBAAqB,CAAC;AAAA,EACjC;AAAA,EACA;AACF,MAA+B;AAC7B,QAAM,aAAa,KAAK,KAAK,QAAQ,CAAC;AAGtC,QAAM,QAAiC,CAAC;AAExC,MAAI,cAAc,GAAG;AAEnB,aAAS,IAAI,GAAG,KAAK,YAAY,KAAK;AACpC,YAAM,KAAK,CAAC;AAAA,IACd;AAAA,EACF,OAAO;AAEL,QAAI,OAAe;AAEnB,QAAI,QAAQ,GAAG;AACb,cAAQ;AACR,YAAM;AAAA,IACR,WAAW,QAAQ,aAAa,GAAG;AACjC,cAAQ,aAAa;AACrB,YAAM;AAAA,IACR,OAAO;AACL,cAAQ,OAAO;AACf,YAAM,OAAO;AAAA,IACf;AAGA,QAAI,QAAQ,GAAG;AACb,YAAM,KAAK,CAAC;AACZ,UAAI,QAAQ,EAAG,OAAM,KAAK,UAAU;AAAA,IACtC;AAGA,aAAS,IAAI,OAAO,KAAK,KAAK,KAAK;AACjC,YAAM,KAAK,CAAC;AAAA,IACd;AAGA,QAAI,MAAM,YAAY;AACpB,UAAI,MAAM,aAAa,EAAG,OAAM,KAAK,UAAU;AAC/C,YAAM,KAAK,UAAU;AAAA,IACvB;AAAA,EACF;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,cAAW;AAAA,MACX,WAAU;AAAA,MAEV,8BAAC,SAAI,WAAU,+BACZ,gBAAM;AAAA,QAAI,CAAC,GAAG,QACb,MAAM,aACJ,oBAAC,UAAuB,WAAU,QAAO,sBAA9B,MAAM,GAAG,EAEpB,IAEA;AAAA,UAAC;AAAA;AAAA,YAEC,MAAM,SAAS,CAAC;AAAA,YAChB,WAAW;AAAA,cACT;AAAA,cACA,SAAS,IACL,mCACA;AAAA,YACN;AAAA,YAEC;AAAA;AAAA,UATI;AAAA,QAUP;AAAA,MAEJ,GACF;AAAA;AAAA,EACF;AAEJ;","names":[]}
|
|
@@ -1,35 +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
|
-
const TopPosts = ({
|
|
27
|
-
posts
|
|
28
|
-
}) => {
|
|
29
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-10", children: posts.map((post) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_post_preview.PostPreview, { post, priority: true }, "top-posts-" + post.slug)) });
|
|
30
|
-
};
|
|
31
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
32
|
-
0 && (module.exports = {
|
|
33
|
-
TopPosts
|
|
34
|
-
});
|
|
35
|
-
//# sourceMappingURL=top-posts.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/home-page/top-posts.tsx"],"sourcesContent":["import { Opinly } from \"@opinly/backend\";\nimport { PostPreview } from \"../post-preview\";\n\nexport const TopPosts = ({\n posts,\n}: {\n posts: Extract<\n Awaited<ReturnType<Opinly[\"content\"][\"blog\"]>>,\n { type: \"home\" }\n >[\"data\"][\"posts\"];\n}) => {\n return (\n <div className=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-10\">\n {posts.map((post) => (\n <PostPreview key={\"top-posts-\" + post.slug} post={post} priority />\n ))}\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAcQ;AAbR,0BAA4B;AAErB,MAAM,WAAW,CAAC;AAAA,EACvB;AACF,MAKM;AACJ,SACE,4CAAC,SAAI,WAAU,yDACZ,gBAAM,IAAI,CAAC,SACV,4CAAC,mCAA2C,MAAY,UAAQ,QAA9C,eAAe,KAAK,IAA2B,CAClE,GACH;AAEJ;","names":[]}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { Opinly } from '@opinly/backend';
|
|
3
|
-
|
|
4
|
-
declare const TopPosts: ({ posts, }: {
|
|
5
|
-
posts: Extract<Awaited<ReturnType<Opinly["content"]["blog"]>>, {
|
|
6
|
-
type: "home";
|
|
7
|
-
}>["data"]["posts"];
|
|
8
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
9
|
-
|
|
10
|
-
export { TopPosts };
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { Opinly } from '@opinly/backend';
|
|
3
|
-
|
|
4
|
-
declare const TopPosts: ({ posts, }: {
|
|
5
|
-
posts: Extract<Awaited<ReturnType<Opinly["content"]["blog"]>>, {
|
|
6
|
-
type: "home";
|
|
7
|
-
}>["data"]["posts"];
|
|
8
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
9
|
-
|
|
10
|
-
export { TopPosts };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { PostPreview } from "../post-preview";
|
|
3
|
-
const TopPosts = ({
|
|
4
|
-
posts
|
|
5
|
-
}) => {
|
|
6
|
-
return /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-10", children: posts.map((post) => /* @__PURE__ */ jsx(PostPreview, { post, priority: true }, "top-posts-" + post.slug)) });
|
|
7
|
-
};
|
|
8
|
-
export {
|
|
9
|
-
TopPosts
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=top-posts.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/home-page/top-posts.tsx"],"sourcesContent":["import { Opinly } from \"@opinly/backend\";\nimport { PostPreview } from \"../post-preview\";\n\nexport const TopPosts = ({\n posts,\n}: {\n posts: Extract<\n Awaited<ReturnType<Opinly[\"content\"][\"blog\"]>>,\n { type: \"home\" }\n >[\"data\"][\"posts\"];\n}) => {\n return (\n <div className=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-10\">\n {posts.map((post) => (\n <PostPreview key={\"top-posts-\" + post.slug} post={post} priority />\n ))}\n </div>\n );\n};\n"],"mappings":"AAcQ;AAbR,SAAS,mBAAmB;AAErB,MAAM,WAAW,CAAC;AAAA,EACvB;AACF,MAKM;AACJ,SACE,oBAAC,SAAI,WAAU,yDACZ,gBAAM,IAAI,CAAC,SACV,oBAAC,eAA2C,MAAY,UAAQ,QAA9C,eAAe,KAAK,IAA2B,CAClE,GACH;AAEJ;","names":[]}
|
|
@@ -1,92 +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 json_ld_exports = {};
|
|
30
|
-
__export(json_ld_exports, {
|
|
31
|
-
OpinlyBreadCrumbJsonLd: () => OpinlyBreadCrumbJsonLd,
|
|
32
|
-
OpinlyJSONLD: () => OpinlyJSONLD
|
|
33
|
-
});
|
|
34
|
-
module.exports = __toCommonJS(json_ld_exports);
|
|
35
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
36
|
-
var import_script = __toESM(require("next/script"), 1);
|
|
37
|
-
var import_sdk_config = require("../utils/sdk-config");
|
|
38
|
-
const OpinlyJSONLD = ({ content }) => {
|
|
39
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
40
|
-
import_script.default,
|
|
41
|
-
{
|
|
42
|
-
strategy: "beforeInteractive",
|
|
43
|
-
type: "application/ld+json",
|
|
44
|
-
dangerouslySetInnerHTML: {
|
|
45
|
-
__html: content
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
);
|
|
49
|
-
};
|
|
50
|
-
const OpinlyBreadCrumbJsonLd = ({
|
|
51
|
-
items
|
|
52
|
-
}) => {
|
|
53
|
-
const itemListElement = [
|
|
54
|
-
{
|
|
55
|
-
"@type": "ListItem",
|
|
56
|
-
position: 1,
|
|
57
|
-
item: {
|
|
58
|
-
"@id": import_sdk_config.opinlyConfig.siteUrl,
|
|
59
|
-
name: import_sdk_config.opinlyConfig.siteName
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
"@type": "ListItem",
|
|
64
|
-
position: 2,
|
|
65
|
-
item: {
|
|
66
|
-
"@id": import_sdk_config.opinlyConfig.blogUrl,
|
|
67
|
-
name: "Blog"
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
|
-
...items.map((item, index) => ({
|
|
71
|
-
"@type": "ListItem",
|
|
72
|
-
position: index + 3,
|
|
73
|
-
item: {
|
|
74
|
-
"@id": `${import_sdk_config.opinlyConfig.blogUrl}/${item.slugNoPrefixSlash}`,
|
|
75
|
-
name: item.name
|
|
76
|
-
}
|
|
77
|
-
}))
|
|
78
|
-
];
|
|
79
|
-
const jsonLD = {
|
|
80
|
-
"@context": "https://schema.org",
|
|
81
|
-
"@type": "BreadcrumbList",
|
|
82
|
-
// @ts-expect-error - itemListElement is not typed correctly
|
|
83
|
-
itemListElement
|
|
84
|
-
};
|
|
85
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(OpinlyJSONLD, { content: JSON.stringify(jsonLD) });
|
|
86
|
-
};
|
|
87
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
88
|
-
0 && (module.exports = {
|
|
89
|
-
OpinlyBreadCrumbJsonLd,
|
|
90
|
-
OpinlyJSONLD
|
|
91
|
-
});
|
|
92
|
-
//# sourceMappingURL=json-ld.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/json-ld.tsx"],"sourcesContent":["import Script from \"next/script\";\nimport { opinlyConfig } from \"../utils/sdk-config\";\nimport { BreadcrumbList, WithContext } from \"schema-dts\";\n\nexport const OpinlyJSONLD = ({ content }: { content: string }) => {\n return (\n <Script\n strategy=\"beforeInteractive\"\n type=\"application/ld+json\"\n dangerouslySetInnerHTML={{\n __html: content,\n }}\n />\n );\n};\n\nexport const OpinlyBreadCrumbJsonLd = ({\n items,\n}: {\n items: {\n slugNoPrefixSlash: string;\n name: string;\n }[];\n}) => {\n const itemListElement = [\n {\n \"@type\": \"ListItem\",\n position: 1,\n item: {\n \"@id\": opinlyConfig.siteUrl,\n name: opinlyConfig.siteName,\n },\n },\n {\n \"@type\": \"ListItem\",\n position: 2,\n item: {\n \"@id\": opinlyConfig.blogUrl,\n name: \"Blog\",\n },\n },\n ...items.map((item, index) => ({\n \"@type\": \"ListItem\",\n position: index + 3,\n item: {\n \"@id\": `${opinlyConfig.blogUrl}/${item.slugNoPrefixSlash}`,\n name: item.name,\n },\n })),\n ];\n\n const jsonLD: WithContext<BreadcrumbList> = {\n \"@context\": \"https://schema.org\",\n \"@type\": \"BreadcrumbList\",\n // @ts-expect-error - itemListElement is not typed correctly\n itemListElement,\n };\n\n return <OpinlyJSONLD content={JSON.stringify(jsonLD)} />;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMI;AANJ,oBAAmB;AACnB,wBAA6B;AAGtB,MAAM,eAAe,CAAC,EAAE,QAAQ,MAA2B;AAChE,SACE;AAAA,IAAC,cAAAA;AAAA,IAAA;AAAA,MACC,UAAS;AAAA,MACT,MAAK;AAAA,MACL,yBAAyB;AAAA,QACvB,QAAQ;AAAA,MACV;AAAA;AAAA,EACF;AAEJ;AAEO,MAAM,yBAAyB,CAAC;AAAA,EACrC;AACF,MAKM;AACJ,QAAM,kBAAkB;AAAA,IACtB;AAAA,MACE,SAAS;AAAA,MACT,UAAU;AAAA,MACV,MAAM;AAAA,QACJ,OAAO,+BAAa;AAAA,QACpB,MAAM,+BAAa;AAAA,MACrB;AAAA,IACF;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,UAAU;AAAA,MACV,MAAM;AAAA,QACJ,OAAO,+BAAa;AAAA,QACpB,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,GAAG,MAAM,IAAI,CAAC,MAAM,WAAW;AAAA,MAC7B,SAAS;AAAA,MACT,UAAU,QAAQ;AAAA,MAClB,MAAM;AAAA,QACJ,OAAO,GAAG,+BAAa,OAAO,IAAI,KAAK,iBAAiB;AAAA,QACxD,MAAM,KAAK;AAAA,MACb;AAAA,IACF,EAAE;AAAA,EACJ;AAEA,QAAM,SAAsC;AAAA,IAC1C,YAAY;AAAA,IACZ,SAAS;AAAA;AAAA,IAET;AAAA,EACF;AAEA,SAAO,4CAAC,gBAAa,SAAS,KAAK,UAAU,MAAM,GAAG;AACxD;","names":["Script"]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
|
|
3
|
-
declare const OpinlyJSONLD: ({ content }: {
|
|
4
|
-
content: string;
|
|
5
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
6
|
-
declare const OpinlyBreadCrumbJsonLd: ({ items, }: {
|
|
7
|
-
items: {
|
|
8
|
-
slugNoPrefixSlash: string;
|
|
9
|
-
name: string;
|
|
10
|
-
}[];
|
|
11
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
12
|
-
|
|
13
|
-
export { OpinlyBreadCrumbJsonLd, OpinlyJSONLD };
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
|
|
3
|
-
declare const OpinlyJSONLD: ({ content }: {
|
|
4
|
-
content: string;
|
|
5
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
6
|
-
declare const OpinlyBreadCrumbJsonLd: ({ items, }: {
|
|
7
|
-
items: {
|
|
8
|
-
slugNoPrefixSlash: string;
|
|
9
|
-
name: string;
|
|
10
|
-
}[];
|
|
11
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
12
|
-
|
|
13
|
-
export { OpinlyBreadCrumbJsonLd, OpinlyJSONLD };
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import Script from "next/script";
|
|
3
|
-
import { opinlyConfig } from "../utils/sdk-config";
|
|
4
|
-
const OpinlyJSONLD = ({ content }) => {
|
|
5
|
-
return /* @__PURE__ */ jsx(
|
|
6
|
-
Script,
|
|
7
|
-
{
|
|
8
|
-
strategy: "beforeInteractive",
|
|
9
|
-
type: "application/ld+json",
|
|
10
|
-
dangerouslySetInnerHTML: {
|
|
11
|
-
__html: content
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
);
|
|
15
|
-
};
|
|
16
|
-
const OpinlyBreadCrumbJsonLd = ({
|
|
17
|
-
items
|
|
18
|
-
}) => {
|
|
19
|
-
const itemListElement = [
|
|
20
|
-
{
|
|
21
|
-
"@type": "ListItem",
|
|
22
|
-
position: 1,
|
|
23
|
-
item: {
|
|
24
|
-
"@id": opinlyConfig.siteUrl,
|
|
25
|
-
name: opinlyConfig.siteName
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
"@type": "ListItem",
|
|
30
|
-
position: 2,
|
|
31
|
-
item: {
|
|
32
|
-
"@id": opinlyConfig.blogUrl,
|
|
33
|
-
name: "Blog"
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
|
-
...items.map((item, index) => ({
|
|
37
|
-
"@type": "ListItem",
|
|
38
|
-
position: index + 3,
|
|
39
|
-
item: {
|
|
40
|
-
"@id": `${opinlyConfig.blogUrl}/${item.slugNoPrefixSlash}`,
|
|
41
|
-
name: item.name
|
|
42
|
-
}
|
|
43
|
-
}))
|
|
44
|
-
];
|
|
45
|
-
const jsonLD = {
|
|
46
|
-
"@context": "https://schema.org",
|
|
47
|
-
"@type": "BreadcrumbList",
|
|
48
|
-
// @ts-expect-error - itemListElement is not typed correctly
|
|
49
|
-
itemListElement
|
|
50
|
-
};
|
|
51
|
-
return /* @__PURE__ */ jsx(OpinlyJSONLD, { content: JSON.stringify(jsonLD) });
|
|
52
|
-
};
|
|
53
|
-
export {
|
|
54
|
-
OpinlyBreadCrumbJsonLd,
|
|
55
|
-
OpinlyJSONLD
|
|
56
|
-
};
|
|
57
|
-
//# sourceMappingURL=json-ld.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/json-ld.tsx"],"sourcesContent":["import Script from \"next/script\";\nimport { opinlyConfig } from \"../utils/sdk-config\";\nimport { BreadcrumbList, WithContext } from \"schema-dts\";\n\nexport const OpinlyJSONLD = ({ content }: { content: string }) => {\n return (\n <Script\n strategy=\"beforeInteractive\"\n type=\"application/ld+json\"\n dangerouslySetInnerHTML={{\n __html: content,\n }}\n />\n );\n};\n\nexport const OpinlyBreadCrumbJsonLd = ({\n items,\n}: {\n items: {\n slugNoPrefixSlash: string;\n name: string;\n }[];\n}) => {\n const itemListElement = [\n {\n \"@type\": \"ListItem\",\n position: 1,\n item: {\n \"@id\": opinlyConfig.siteUrl,\n name: opinlyConfig.siteName,\n },\n },\n {\n \"@type\": \"ListItem\",\n position: 2,\n item: {\n \"@id\": opinlyConfig.blogUrl,\n name: \"Blog\",\n },\n },\n ...items.map((item, index) => ({\n \"@type\": \"ListItem\",\n position: index + 3,\n item: {\n \"@id\": `${opinlyConfig.blogUrl}/${item.slugNoPrefixSlash}`,\n name: item.name,\n },\n })),\n ];\n\n const jsonLD: WithContext<BreadcrumbList> = {\n \"@context\": \"https://schema.org\",\n \"@type\": \"BreadcrumbList\",\n // @ts-expect-error - itemListElement is not typed correctly\n itemListElement,\n };\n\n return <OpinlyJSONLD content={JSON.stringify(jsonLD)} />;\n};\n"],"mappings":"AAMI;AANJ,OAAO,YAAY;AACnB,SAAS,oBAAoB;AAGtB,MAAM,eAAe,CAAC,EAAE,QAAQ,MAA2B;AAChE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,UAAS;AAAA,MACT,MAAK;AAAA,MACL,yBAAyB;AAAA,QACvB,QAAQ;AAAA,MACV;AAAA;AAAA,EACF;AAEJ;AAEO,MAAM,yBAAyB,CAAC;AAAA,EACrC;AACF,MAKM;AACJ,QAAM,kBAAkB;AAAA,IACtB;AAAA,MACE,SAAS;AAAA,MACT,UAAU;AAAA,MACV,MAAM;AAAA,QACJ,OAAO,aAAa;AAAA,QACpB,MAAM,aAAa;AAAA,MACrB;AAAA,IACF;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,UAAU;AAAA,MACV,MAAM;AAAA,QACJ,OAAO,aAAa;AAAA,QACpB,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,GAAG,MAAM,IAAI,CAAC,MAAM,WAAW;AAAA,MAC7B,SAAS;AAAA,MACT,UAAU,QAAQ;AAAA,MAClB,MAAM;AAAA,QACJ,OAAO,GAAG,aAAa,OAAO,IAAI,KAAK,iBAAiB;AAAA,QACxD,MAAM,KAAK;AAAA,MACb;AAAA,IACF,EAAE;AAAA,EACJ;AAEA,QAAM,SAAsC;AAAA,IAC1C,YAAY;AAAA,IACZ,SAAS;AAAA;AAAA,IAET;AAAA,EACF;AAEA,SAAO,oBAAC,gBAAa,SAAS,KAAK,UAAU,MAAM,GAAG;AACxD;","names":[]}
|
|
@@ -1,59 +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 opinly_blog_exports = {};
|
|
20
|
-
__export(opinly_blog_exports, {
|
|
21
|
-
OpinlyBlog: () => OpinlyBlog
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(opinly_blog_exports);
|
|
24
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
25
|
-
var import_blog_post = require("./blog-post");
|
|
26
|
-
var import_folder_page = require("./folder-page");
|
|
27
|
-
var import_home_page = require("./home-page");
|
|
28
|
-
var import_author_page = require("./author-page");
|
|
29
|
-
var import_authors_page = require("./authors-page");
|
|
30
|
-
var import_navigation = require("next/navigation");
|
|
31
|
-
const OpinlyBlog = async ({
|
|
32
|
-
pageData,
|
|
33
|
-
client,
|
|
34
|
-
homePageProps = {},
|
|
35
|
-
blogPostProps = {}
|
|
36
|
-
}) => {
|
|
37
|
-
const blog = await client.content.blog(pageData);
|
|
38
|
-
if (blog.type === "not-found") {
|
|
39
|
-
return (0, import_navigation.notFound)();
|
|
40
|
-
}
|
|
41
|
-
if (blog.type === "home") {
|
|
42
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_home_page.HomePage, { data: blog.data, ...homePageProps });
|
|
43
|
-
}
|
|
44
|
-
if (blog.type === "post") {
|
|
45
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_blog_post.BlogPost, { post: blog.data, ...blogPostProps });
|
|
46
|
-
}
|
|
47
|
-
if (blog.type === "author") {
|
|
48
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_author_page.AuthorPage, { author: blog.data });
|
|
49
|
-
}
|
|
50
|
-
if (blog.type === "authors") {
|
|
51
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_authors_page.AuthorsPage, { authors: blog.data });
|
|
52
|
-
}
|
|
53
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_folder_page.FolderPage, { folder: blog.data });
|
|
54
|
-
};
|
|
55
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
56
|
-
0 && (module.exports = {
|
|
57
|
-
OpinlyBlog
|
|
58
|
-
});
|
|
59
|
-
//# sourceMappingURL=opinly-blog.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/opinly-blog.tsx"],"sourcesContent":["import { BlogPost, BlogPostProps } from \"./blog-post\";\nimport { FolderPage } from \"./folder-page\";\nimport { Opinly, OpinlyPagePropsPromisified } from \"@opinly/backend\";\nimport { HomePage, HomePageProps } from \"./home-page\";\nimport { AuthorPage } from \"./author-page\";\nimport { AuthorsPage } from \"./authors-page\";\nimport { notFound } from \"next/navigation\";\n\nexport const OpinlyBlog = async ({\n pageData,\n client,\n homePageProps = {},\n blogPostProps = {},\n}: {\n pageData: OpinlyPagePropsPromisified;\n client: Opinly;\n homePageProps?: HomePageProps;\n blogPostProps?: BlogPostProps;\n}) => {\n const blog = await client.content.blog(pageData);\n\n if (blog.type === \"not-found\") {\n return notFound();\n }\n\n if (blog.type === \"home\") {\n return <HomePage data={blog.data} {...homePageProps} />;\n }\n\n if (blog.type === \"post\") {\n return <BlogPost post={blog.data} {...blogPostProps} />;\n }\n\n if (blog.type === \"author\") {\n return <AuthorPage author={blog.data} />;\n }\n\n if (blog.type === \"authors\") {\n return <AuthorsPage authors={blog.data} />;\n }\n\n return <FolderPage folder={blog.data} />;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA0BW;AA1BX,uBAAwC;AACxC,yBAA2B;AAE3B,uBAAwC;AACxC,yBAA2B;AAC3B,0BAA4B;AAC5B,wBAAyB;AAElB,MAAM,aAAa,OAAO;AAAA,EAC/B;AAAA,EACA;AAAA,EACA,gBAAgB,CAAC;AAAA,EACjB,gBAAgB,CAAC;AACnB,MAKM;AACJ,QAAM,OAAO,MAAM,OAAO,QAAQ,KAAK,QAAQ;AAE/C,MAAI,KAAK,SAAS,aAAa;AAC7B,eAAO,4BAAS;AAAA,EAClB;AAEA,MAAI,KAAK,SAAS,QAAQ;AACxB,WAAO,4CAAC,6BAAS,MAAM,KAAK,MAAO,GAAG,eAAe;AAAA,EACvD;AAEA,MAAI,KAAK,SAAS,QAAQ;AACxB,WAAO,4CAAC,6BAAS,MAAM,KAAK,MAAO,GAAG,eAAe;AAAA,EACvD;AAEA,MAAI,KAAK,SAAS,UAAU;AAC1B,WAAO,4CAAC,iCAAW,QAAQ,KAAK,MAAM;AAAA,EACxC;AAEA,MAAI,KAAK,SAAS,WAAW;AAC3B,WAAO,4CAAC,mCAAY,SAAS,KAAK,MAAM;AAAA,EAC1C;AAEA,SAAO,4CAAC,iCAAW,QAAQ,KAAK,MAAM;AACxC;","names":[]}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { BlogPostProps } from './blog-post/index.cjs';
|
|
3
|
-
import { OpinlyPagePropsPromisified, Opinly } from '@opinly/backend';
|
|
4
|
-
import { HomePageProps } from './home-page/index.cjs';
|
|
5
|
-
import 'react';
|
|
6
|
-
import './blog-post/_types/blog-post.cjs';
|
|
7
|
-
import './blog-post/_types/class-names.cjs';
|
|
8
|
-
|
|
9
|
-
declare const OpinlyBlog: ({ pageData, client, homePageProps, blogPostProps, }: {
|
|
10
|
-
pageData: OpinlyPagePropsPromisified;
|
|
11
|
-
client: Opinly;
|
|
12
|
-
homePageProps?: HomePageProps;
|
|
13
|
-
blogPostProps?: BlogPostProps;
|
|
14
|
-
}) => Promise<react_jsx_runtime.JSX.Element>;
|
|
15
|
-
|
|
16
|
-
export { OpinlyBlog };
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { BlogPostProps } from './blog-post/index.js';
|
|
3
|
-
import { OpinlyPagePropsPromisified, Opinly } from '@opinly/backend';
|
|
4
|
-
import { HomePageProps } from './home-page/index.js';
|
|
5
|
-
import 'react';
|
|
6
|
-
import './blog-post/_types/blog-post.js';
|
|
7
|
-
import './blog-post/_types/class-names.js';
|
|
8
|
-
|
|
9
|
-
declare const OpinlyBlog: ({ pageData, client, homePageProps, blogPostProps, }: {
|
|
10
|
-
pageData: OpinlyPagePropsPromisified;
|
|
11
|
-
client: Opinly;
|
|
12
|
-
homePageProps?: HomePageProps;
|
|
13
|
-
blogPostProps?: BlogPostProps;
|
|
14
|
-
}) => Promise<react_jsx_runtime.JSX.Element>;
|
|
15
|
-
|
|
16
|
-
export { OpinlyBlog };
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { BlogPost } from "./blog-post";
|
|
3
|
-
import { FolderPage } from "./folder-page";
|
|
4
|
-
import { HomePage } from "./home-page";
|
|
5
|
-
import { AuthorPage } from "./author-page";
|
|
6
|
-
import { AuthorsPage } from "./authors-page";
|
|
7
|
-
import { notFound } from "next/navigation";
|
|
8
|
-
const OpinlyBlog = async ({
|
|
9
|
-
pageData,
|
|
10
|
-
client,
|
|
11
|
-
homePageProps = {},
|
|
12
|
-
blogPostProps = {}
|
|
13
|
-
}) => {
|
|
14
|
-
const blog = await client.content.blog(pageData);
|
|
15
|
-
if (blog.type === "not-found") {
|
|
16
|
-
return notFound();
|
|
17
|
-
}
|
|
18
|
-
if (blog.type === "home") {
|
|
19
|
-
return /* @__PURE__ */ jsx(HomePage, { data: blog.data, ...homePageProps });
|
|
20
|
-
}
|
|
21
|
-
if (blog.type === "post") {
|
|
22
|
-
return /* @__PURE__ */ jsx(BlogPost, { post: blog.data, ...blogPostProps });
|
|
23
|
-
}
|
|
24
|
-
if (blog.type === "author") {
|
|
25
|
-
return /* @__PURE__ */ jsx(AuthorPage, { author: blog.data });
|
|
26
|
-
}
|
|
27
|
-
if (blog.type === "authors") {
|
|
28
|
-
return /* @__PURE__ */ jsx(AuthorsPage, { authors: blog.data });
|
|
29
|
-
}
|
|
30
|
-
return /* @__PURE__ */ jsx(FolderPage, { folder: blog.data });
|
|
31
|
-
};
|
|
32
|
-
export {
|
|
33
|
-
OpinlyBlog
|
|
34
|
-
};
|
|
35
|
-
//# sourceMappingURL=opinly-blog.js.map
|