22 lines
29 KiB
JavaScript
22 lines
29 KiB
JavaScript
"use strict";
|
|
/*
|
|
* ATTENTION: An "eval-source-map" devtool has been used.
|
|
* This devtool is neither made for production nor for readable output files.
|
|
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
|
|
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
* or disable the default devtool with "devtool: false".
|
|
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
*/
|
|
self["webpackHotUpdate_N_E"]("app/page",{
|
|
|
|
/***/ "(app-pages-browser)/./src/components/BlogPreview.tsx":
|
|
/*!****************************************!*\
|
|
!*** ./src/components/BlogPreview.tsx ***!
|
|
\****************************************/
|
|
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BlogPreview)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/link */ \"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/image */ \"(app-pages-browser)/./node_modules/next/dist/api/image.js\");\n/* harmony import */ var _Layouts__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Layouts */ \"(app-pages-browser)/./src/components/Layouts.tsx\");\n/* harmony import */ var _Buttons__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Buttons */ \"(app-pages-browser)/./src/components/Buttons.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \nvar _s = $RefreshSig$();\n\n\n\n\n\nfunction BlogPreview() {\n _s();\n const [posts, setPosts] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);\n const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"BlogPreview.useEffect\": ()=>{\n const fetchPosts = {\n \"BlogPreview.useEffect.fetchPosts\": async ()=>{\n try {\n const res = await fetch('/api/blog?limit=3') // Fetch only the latest 3 posts\n ;\n if (!res.ok) {\n throw new Error('Failed to fetch blog posts');\n }\n const data = await res.json();\n setPosts(data);\n } catch (err) {\n console.error('Error fetching blog posts:', err);\n setError('Failed to load blog posts');\n } finally{\n setLoading(false);\n }\n }\n }[\"BlogPreview.useEffect.fetchPosts\"];\n fetchPosts();\n }\n }[\"BlogPreview.useEffect\"], []);\n if (loading) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Layouts__WEBPACK_IMPORTED_MODULE_4__.Section, {\n className: \"bg-surface-900\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Layouts__WEBPACK_IMPORTED_MODULE_4__.Container, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-3xl font-display tracking-tight text-white mb-8 text-center\",\n children: \"Latest from the Blog\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/BlogPreview.tsx\",\n lineNumber: 47,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center py-8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-text-muted\",\n children: \"Loading posts...\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/BlogPreview.tsx\",\n lineNumber: 51,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/BlogPreview.tsx\",\n lineNumber: 50,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/BlogPreview.tsx\",\n lineNumber: 46,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/BlogPreview.tsx\",\n lineNumber: 45,\n columnNumber: 7\n }, this);\n }\n if (error) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Layouts__WEBPACK_IMPORTED_MODULE_4__.Section, {\n className: \"bg-surface-900\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Layouts__WEBPACK_IMPORTED_MODULE_4__.Container, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-3xl font-display tracking-tight text-white mb-8 text-center\",\n children: \"Latest from the Blog\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/BlogPreview.tsx\",\n lineNumber: 62,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center py-8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-red-500\",\n children: error\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/BlogPreview.tsx\",\n lineNumber: 66,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/BlogPreview.tsx\",\n lineNumber: 65,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/BlogPreview.tsx\",\n lineNumber: 61,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/BlogPreview.tsx\",\n lineNumber: 60,\n columnNumber: 7\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Layouts__WEBPACK_IMPORTED_MODULE_4__.Section, {\n className: \"bg-surface-900\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Layouts__WEBPACK_IMPORTED_MODULE_4__.Container, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-3xl font-display tracking-tight text-white mb-8 text-center\",\n children: \"Latest from the Blog\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/BlogPreview.tsx\",\n lineNumber: 76,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6\",\n children: posts.map((post)=>{\n // Format the date\n const formattedDate = new Date(post.publishedAt).toLocaleDateString('en-US', {\n year: 'numeric',\n month: 'long',\n day: 'numeric'\n });\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_2___default()), {\n href: \"/blog/\".concat(post.slug),\n className: \"group card transition-colors duration-200 hover:border-accent/30\",\n style: {\n border: '1px solid transparent'\n },\n children: [\n post.coverImage && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative aspect-photo rounded overflow-hidden mb-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n src: post.coverImage,\n alt: post.title,\n fill: true,\n className: \"object-cover transition-transform duration-500 group-hover:scale-105\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/BlogPreview.tsx\",\n lineNumber: 100,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/BlogPreview.tsx\",\n lineNumber: 99,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-accent text-xs font-medium mb-2\",\n children: formattedDate\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/BlogPreview.tsx\",\n lineNumber: 111,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-white text-lg font-bold mb-2\",\n children: post.title\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/BlogPreview.tsx\",\n lineNumber: 114,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-text-muted text-sm line-clamp-3\",\n children: post.excerpt || 'Read more about our latest work and insights.'\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/BlogPreview.tsx\",\n lineNumber: 117,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/BlogPreview.tsx\",\n lineNumber: 110,\n columnNumber: 15\n }, this)\n ]\n }, post.id, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/BlogPreview.tsx\",\n lineNumber: 91,\n columnNumber: 27\n }, this);\n })\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/BlogPreview.tsx\",\n lineNumber: 81,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center mt-10\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Buttons__WEBPACK_IMPORTED_MODULE_5__.LinkButton, {\n href: \"/blog\",\n variant: \"ghost\",\n children: \"Read All Posts\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/BlogPreview.tsx\",\n lineNumber: 128,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/BlogPreview.tsx\",\n lineNumber: 127,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/BlogPreview.tsx\",\n lineNumber: 75,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/BlogPreview.tsx\",\n lineNumber: 74,\n columnNumber: 5\n }, this);\n}\n_s(BlogPreview, \"FFSFm1bVdM1s2gLh8ffGbsIvlRY=\");\n_c = BlogPreview;\nvar _c;\n$RefreshReg$(_c, \"BlogPreview\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0Jsb2dQcmV2aWV3LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUUyQztBQUNmO0FBQ0U7QUFDZ0I7QUFDUjtBQVd2QixTQUFTTzs7SUFDdEIsTUFBTSxDQUFDQyxPQUFPQyxTQUFTLEdBQUdULCtDQUFRQSxDQUFhLEVBQUU7SUFDakQsTUFBTSxDQUFDVSxTQUFTQyxXQUFXLEdBQUdYLCtDQUFRQSxDQUFDO0lBQ3ZDLE1BQU0sQ0FBQ1ksT0FBT0MsU0FBUyxHQUFHYiwrQ0FBUUEsQ0FBZ0I7SUFFbERDLGdEQUFTQTtpQ0FBQztZQUNSLE1BQU1hO29EQUFhO29CQUNqQixJQUFJO3dCQUNGLE1BQU1DLE1BQU0sTUFBTUMsTUFBTSxxQkFBcUIsZ0NBQWdDOzt3QkFDN0UsSUFBSSxDQUFDRCxJQUFJRSxFQUFFLEVBQUU7NEJBQ1gsTUFBTSxJQUFJQyxNQUFNO3dCQUNsQjt3QkFDQSxNQUFNQyxPQUFtQixNQUFNSixJQUFJSyxJQUFJO3dCQUN2Q1gsU0FBU1U7b0JBQ1gsRUFBRSxPQUFPRSxLQUFLO3dCQUNaQyxRQUFRVixLQUFLLENBQUMsOEJBQThCUzt3QkFDNUNSLFNBQVM7b0JBQ1gsU0FBVTt3QkFDUkYsV0FBVztvQkFDYjtnQkFDRjs7WUFFQUc7UUFDRjtnQ0FBRyxFQUFFO0lBRUwsSUFBSUosU0FBUztRQUNYLHFCQUNFLDhEQUFDTCw2Q0FBT0E7WUFBQ2tCLFdBQVU7c0JBQ2pCLDRFQUFDbkIsK0NBQVNBOztrQ0FDUiw4REFBQ29CO3dCQUFHRCxXQUFVO2tDQUFtRTs7Ozs7O2tDQUdqRiw4REFBQ0U7d0JBQUlGLFdBQVU7a0NBQ2IsNEVBQUNHOzRCQUFFSCxXQUFVO3NDQUFrQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQUt6QztJQUVBLElBQUlYLE9BQU87UUFDVCxxQkFDRSw4REFBQ1AsNkNBQU9BO1lBQUNrQixXQUFVO3NCQUNqQiw0RUFBQ25CLCtDQUFTQTs7a0NBQ1IsOERBQUNvQjt3QkFBR0QsV0FBVTtrQ0FBbUU7Ozs7OztrQ0FHakYsOERBQUNFO3dCQUFJRixXQUFVO2tDQUNiLDRFQUFDRzs0QkFBRUgsV0FBVTtzQ0FBZ0JYOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBS3ZDO0lBRUEscUJBQ0UsOERBQUNQLDZDQUFPQTtRQUFDa0IsV0FBVTtrQkFDakIsNEVBQUNuQiwrQ0FBU0E7OzhCQUNSLDhEQUFDb0I7b0JBQUdELFdBQVU7OEJBQW1FOzs7Ozs7OEJBS2pGLDhEQUFDRTtvQkFBSUYsV0FBVTs4QkFDWmYsTUFBTW1CLEdBQUcsQ0FBQyxDQUFDQzt3QkFDVixrQkFBa0I7d0JBQ2xCLE1BQU1DLGdCQUFnQixJQUFJQyxLQUFLRixLQUFLRyxXQUFXLEVBQUVDLGtCQUFrQixDQUFDLFNBQVM7NEJBQzNFQyxNQUFNOzRCQUNOQyxPQUFPOzRCQUNQQyxLQUFLO3dCQUNQO3dCQUVBLHFCQUNjLDhEQUFDakMsa0RBQUlBOzRCQUVqQmtDLE1BQU0sU0FBbUIsT0FBVlIsS0FBS1MsSUFBSTs0QkFDeEJkLFdBQVU7NEJBQ1ZlLE9BQU87Z0NBQUVDLFFBQVE7NEJBQXdCOztnQ0FHeENYLEtBQUtZLFVBQVUsa0JBQ2QsOERBQUNmO29DQUFJRixXQUFVOzhDQUNiLDRFQUFDcEIsa0RBQUtBO3dDQUNKc0MsS0FBS2IsS0FBS1ksVUFBVTt3Q0FDcEJFLEtBQUtkLEtBQUtlLEtBQUs7d0NBQ2ZDLElBQUk7d0NBQ0pyQixXQUFVOzs7Ozs7Ozs7Ozs4Q0FNaEIsOERBQUNFOztzREFDQyw4REFBQ0M7NENBQUVILFdBQVU7c0RBQ1ZNOzs7Ozs7c0RBRUgsOERBQUNnQjs0Q0FBR3RCLFdBQVU7c0RBQ1hLLEtBQUtlLEtBQUs7Ozs7OztzREFFYiw4REFBQ2pCOzRDQUFFSCxXQUFVO3NEQUNWSyxLQUFLa0IsT0FBTyxJQUFJOzs7Ozs7Ozs7Ozs7OzJCQTFCaEJsQixLQUFLbUIsRUFBRTs7Ozs7b0JBK0JoQjs7Ozs7OzhCQUlGLDhEQUFDdEI7b0JBQUlGLFdBQVU7OEJBQ2IsNEVBQUNqQixnREFBVUE7d0JBQUM4QixNQUFLO3dCQUFRWSxTQUFRO2tDQUFROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT25EO0dBckh3QnpDO0tBQUFBIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L0Jpb2hhemFyZFZGWF9XZWJzaXRlL2Jpb2hhemFyZC12Zngvc3JjL2NvbXBvbmVudHMvQmxvZ1ByZXZpZXcudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgTGluayBmcm9tICduZXh0L2xpbmsnXG5pbXBvcnQgSW1hZ2UgZnJvbSAnbmV4dC9pbWFnZSdcbmltcG9ydCB7IENvbnRhaW5lciwgU2VjdGlvbiB9IGZyb20gJy4vTGF5b3V0cydcbmltcG9ydCB7IExpbmtCdXR0b24gfSBmcm9tICcuL0J1dHRvbnMnXG5cbmludGVyZmFjZSBCbG9nUG9zdCB7XG4gIGlkOiBzdHJpbmdcbiAgdGl0bGU6IHN0cmluZ1xuICBleGNlcnB0OiBzdHJpbmcgfCBudWxsXG4gIGNvdmVySW1hZ2U6IHN0cmluZyB8IG51bGxcbiAgc2x1Zzogc3RyaW5nXG4gIHB1Ymxpc2hlZEF0OiBzdHJpbmcgLy8gVGhpcyB3aWxsIGJlIGEgc3RyaW5nIHdoZW4gcGFzc2VkIHRvIHRoZSBjbGllbnQgY29tcG9uZW50XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEJsb2dQcmV2aWV3KCkge1xuICBjb25zdCBbcG9zdHMsIHNldFBvc3RzXSA9IHVzZVN0YXRlPEJsb2dQb3N0W10+KFtdKVxuICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZSh0cnVlKVxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBmZXRjaFBvc3RzID0gYXN5bmMgKCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goJy9hcGkvYmxvZz9saW1pdD0zJykgLy8gRmV0Y2ggb25seSB0aGUgbGF0ZXN0IDMgcG9zdHNcbiAgICAgICAgaWYgKCFyZXMub2spIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBibG9nIHBvc3RzJylcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkYXRhOiBCbG9nUG9zdFtdID0gYXdhaXQgcmVzLmpzb24oKVxuICAgICAgICBzZXRQb3N0cyhkYXRhKVxuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIGJsb2cgcG9zdHM6JywgZXJyKVxuICAgICAgICBzZXRFcnJvcignRmFpbGVkIHRvIGxvYWQgYmxvZyBwb3N0cycpXG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgICAgfVxuICAgIH1cblxuICAgIGZldGNoUG9zdHMoKVxuICB9LCBbXSlcblxuICBpZiAobG9hZGluZykge1xuICAgIHJldHVybiAoXG4gICAgICA8U2VjdGlvbiBjbGFzc05hbWU9XCJiZy1zdXJmYWNlLTkwMFwiPlxuICAgICAgICA8Q29udGFpbmVyPlxuICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJ0ZXh0LTN4bCBmb250LWRpc3BsYXkgdHJhY2tpbmctdGlnaHQgdGV4dC13aGl0ZSBtYi04IHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICBMYXRlc3QgZnJvbSB0aGUgQmxvZ1xuICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlciBweS04XCI+XG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXRleHQtbXV0ZWRcIj5Mb2FkaW5nIHBvc3RzLi4uPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgIDwvU2VjdGlvbj5cbiAgICApXG4gIH1cblxuICBpZiAoZXJyb3IpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNlY3Rpb24gY2xhc3NOYW1lPVwiYmctc3VyZmFjZS05MDBcIj5cbiAgICAgICAgPENvbnRhaW5lcj5cbiAgICAgICAgICA8aDIgY2xhc3NOYW1lPVwidGV4dC0zeGwgZm9udC1kaXNwbGF5IHRyYWNraW5nLXRpZ2h0IHRleHQtd2hpdGUgbWItOCB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgTGF0ZXN0IGZyb20gdGhlIEJsb2dcbiAgICAgICAgICA8L2gyPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1jZW50ZXIgcHktOFwiPlxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1yZWQtNTAwXCI+e2Vycm9yfTwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Db250YWluZXI+XG4gICAgICA8L1NlY3Rpb24+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U2VjdGlvbiBjbGFzc05hbWU9XCJiZy1zdXJmYWNlLTkwMFwiPlxuICAgICAgPENvbnRhaW5lcj5cbiAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQtM3hsIGZvbnQtZGlzcGxheSB0cmFja2luZy10aWdodCB0ZXh0LXdoaXRlIG1iLTggdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICBMYXRlc3QgZnJvbSB0aGUgQmxvZ1xuICAgICAgICA8L2gyPlxuXG4gICAgICAgIHsvKiBXaWRlciBCbG9nIFBvc3QgTGF5b3V0ICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTIgbGc6Z3JpZC1jb2xzLTMgZ2FwLTZcIj5cbiAgICAgICAgICB7cG9zdHMubWFwKChwb3N0KSA9PiB7XG4gICAgICAgICAgICAvLyBGb3JtYXQgdGhlIGRhdGVcbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSBuZXcgRGF0ZShwb3N0LnB1Ymxpc2hlZEF0KS50b0xvY2FsZURhdGVTdHJpbmcoJ2VuLVVTJywge1xuICAgICAgICAgICAgICB5ZWFyOiAnbnVtZXJpYycsXG4gICAgICAgICAgICAgIG1vbnRoOiAnbG9uZycsXG4gICAgICAgICAgICAgIGRheTogJ251bWVyaWMnLFxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAga2V5PXtwb3N0LmlkfVxuICAgICAgICAgICAgICBocmVmPXtgL2Jsb2cvJHtwb3N0LnNsdWd9YH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZ3JvdXAgY2FyZCB0cmFuc2l0aW9uLWNvbG9ycyBkdXJhdGlvbi0yMDAgaG92ZXI6Ym9yZGVyLWFjY2VudC8zMFwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7IGJvcmRlcjogJzFweCBzb2xpZCB0cmFuc3BhcmVudCcgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgey8qIENvdmVyIEltYWdlICovfVxuICAgICAgICAgICAgICB7cG9zdC5jb3ZlckltYWdlICYmIChcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIGFzcGVjdC1waG90byByb3VuZGVkIG92ZXJmbG93LWhpZGRlbiBtYi00XCI+XG4gICAgICAgICAgICAgICAgICA8SW1hZ2VcbiAgICAgICAgICAgICAgICAgICAgc3JjPXtwb3N0LmNvdmVySW1hZ2V9XG4gICAgICAgICAgICAgICAgICAgIGFsdD17cG9zdC50aXRsZX1cbiAgICAgICAgICAgICAgICAgICAgZmlsbFxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJvYmplY3QtY292ZXIgdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tNTAwIGdyb3VwLWhvdmVyOnNjYWxlLTEwNVwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIHsvKiBDb250ZW50ICovfVxuICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtYWNjZW50IHRleHQteHMgZm9udC1tZWRpdW0gbWItMlwiPlxuICAgICAgICAgICAgICAgICAge2Zvcm1hdHRlZERhdGV9XG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJ0ZXh0LXdoaXRlIHRleHQtbGcgZm9udC1ib2xkIG1iLTJcIj5cbiAgICAgICAgICAgICAgICAgIHtwb3N0LnRpdGxlfVxuICAgICAgICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC10ZXh0LW11dGVkIHRleHQtc20gbGluZS1jbGFtcC0zXCI+XG4gICAgICAgICAgICAgICAgICB7cG9zdC5leGNlcnB0IHx8ICdSZWFkIG1vcmUgYWJvdXQgb3VyIGxhdGVzdCB3b3JrIGFuZCBpbnNpZ2h0cy4nfVxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICApXG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIHsvKiBWaWV3IEFsbCBMaW5rICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtY2VudGVyIG10LTEwXCI+XG4gICAgICAgICAgPExpbmtCdXR0b24gaHJlZj1cIi9ibG9nXCIgdmFyaWFudD1cImdob3N0XCI+XG4gICAgICAgICAgICBSZWFkIEFsbCBQb3N0c1xuICAgICAgICAgIDwvTGlua0J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICA8L1NlY3Rpb24+XG4gIClcbn0iXSwibmFtZXMiOlsidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJMaW5rIiwiSW1hZ2UiLCJDb250YWluZXIiLCJTZWN0aW9uIiwiTGlua0J1dHRvbiIsIkJsb2dQcmV2aWV3IiwicG9zdHMiLCJzZXRQb3N0cyIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiZXJyb3IiLCJzZXRFcnJvciIsImZldGNoUG9zdHMiLCJyZXMiLCJmZXRjaCIsIm9rIiwiRXJyb3IiLCJkYXRhIiwianNvbiIsImVyciIsImNvbnNvbGUiLCJjbGFzc05hbWUiLCJoMiIsImRpdiIsInAiLCJtYXAiLCJwb3N0IiwiZm9ybWF0dGVkRGF0ZSIsIkRhdGUiLCJwdWJsaXNoZWRBdCIsInRvTG9jYWxlRGF0ZVN0cmluZyIsInllYXIiLCJtb250aCIsImRheSIsImhyZWYiLCJzbHVnIiwic3R5bGUiLCJib3JkZXIiLCJjb3ZlckltYWdlIiwic3JjIiwiYWx0IiwidGl0bGUiLCJmaWxsIiwiaDMiLCJleGNlcnB0IiwiaWQiLCJ2YXJpYW50Il0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/BlogPreview.tsx\n"));
|
|
|
|
/***/ })
|
|
|
|
}); |