Files
cirux/.next/static/webpack/app/dashboard/calendar/page.9decea8636e94567.hot-update.js
T

22 lines
11 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/dashboard/calendar/page",{
/***/ "(app-pages-browser)/./src/lib/utils.ts":
/*!**************************!*\
!*** ./src/lib/utils.ts ***!
\**************************/
/***/ ((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 */ cn: () => (/* binding */ cn),\n/* harmony export */ formatPgTime: () => (/* binding */ formatPgTime),\n/* harmony export */ toColombiaISOString: () => (/* binding */ toColombiaISOString)\n/* harmony export */ });\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var tailwind_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tailwind-merge */ \"(app-pages-browser)/./node_modules/tailwind-merge/dist/bundle-mjs.mjs\");\n\n\nfunction cn() {\n for(var _len = arguments.length, inputs = new Array(_len), _key = 0; _key < _len; _key++){\n inputs[_key] = arguments[_key];\n }\n return (0,tailwind_merge__WEBPACK_IMPORTED_MODULE_1__.twMerge)((0,clsx__WEBPACK_IMPORTED_MODULE_0__.clsx)(inputs));\n}\n/**\n * Crea un timestamp ISO con offset explícito de Colombia (UTC-5).\n * Útil para insertar en PostgreSQL TIMESTAMPTZ sin depender del TZ del navegador.\n */ function toColombiaISOString(dateStr, hour, minute) {\n // Construye string ISO con offset explícito de Colombia\n const iso = \"\".concat(dateStr, \"T\").concat(String(hour).padStart(2, \"0\"), \":\").concat(String(minute).padStart(2, \"0\"), \":00-05:00\");\n return new Date(iso).toISOString();\n}\n/**\n * Formatea un timestamp de PostgreSQL/Supabase sin conversiones de zona horaria.\n * Asume que el valor ya está en la zona horaria deseada.\n */ function formatPgTime(ts, pattern) {\n const clean = ts.replace(\" \", \"T\");\n const datePart = clean.slice(0, 10); // YYYY-MM-DD\n const hour = clean.slice(11, 13);\n const minute = clean.slice(14, 16);\n const timePart = \"\".concat(hour, \":\").concat(minute);\n if (pattern === \"HH:mm\") return timePart;\n if (pattern === \"haaa\") {\n const h = parseInt(hour, 10);\n const ampm = h < 12 ? \"a. m.\" : \"p. m.\";\n const h12 = h % 12 || 12;\n return \"\".concat(h12, \" \").concat(ampm);\n }\n const [year, month, day] = datePart.split(\"-\");\n const months = [\n \"ene\",\n \"feb\",\n \"mar\",\n \"abr\",\n \"may\",\n \"jun\",\n \"jul\",\n \"ago\",\n \"sep\",\n \"oct\",\n \"nov\",\n \"dic\"\n ];\n const monthAbbr = months[parseInt(month, 10) - 1];\n return \"\".concat(day, \" \").concat(monthAbbr, \" \").concat(year, \" \\xb7 \").concat(timePart);\n}\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9saWIvdXRpbHMudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBNEM7QUFDSjtBQUVqQyxTQUFTRTtJQUFHO1FBQUdDLE9BQUgsdUJBQXVCOztJQUN4QyxPQUFPRix1REFBT0EsQ0FBQ0QsMENBQUlBLENBQUNHO0FBQ3RCO0FBRUE7OztDQUdDLEdBQ00sU0FBU0Msb0JBQW9CQyxPQUFlLEVBQUVDLElBQVksRUFBRUMsTUFBYztJQUMvRSx3REFBd0Q7SUFDeEQsTUFBTUMsTUFBTSxHQUFjQyxPQUFYSixTQUFRLEtBQW9DSSxPQUFqQ0EsT0FBT0gsTUFBTUksUUFBUSxDQUFDLEdBQUcsTUFBSyxLQUFtQyxPQUFoQ0QsT0FBT0YsUUFBUUcsUUFBUSxDQUFDLEdBQUcsTUFBSztJQUMzRixPQUFPLElBQUlDLEtBQUtILEtBQUtJLFdBQVc7QUFDbEM7QUFFQTs7O0NBR0MsR0FDTSxTQUFTQyxhQUFhQyxFQUFVLEVBQUVDLE9BQWlEO0lBQ3hGLE1BQU1DLFFBQVFGLEdBQUdHLE9BQU8sQ0FBQyxLQUFLO0lBQzlCLE1BQU1DLFdBQVdGLE1BQU1HLEtBQUssQ0FBQyxHQUFHLEtBQUssYUFBYTtJQUNsRCxNQUFNYixPQUFPVSxNQUFNRyxLQUFLLENBQUMsSUFBSTtJQUM3QixNQUFNWixTQUFTUyxNQUFNRyxLQUFLLENBQUMsSUFBSTtJQUMvQixNQUFNQyxXQUFXLEdBQVdiLE9BQVJELE1BQUssS0FBVSxPQUFQQztJQUU1QixJQUFJUSxZQUFZLFNBQVMsT0FBT0s7SUFFaEMsSUFBSUwsWUFBWSxRQUFRO1FBQ3RCLE1BQU1NLElBQUlDLFNBQVNoQixNQUFNO1FBQ3pCLE1BQU1pQixPQUFPRixJQUFJLEtBQUssVUFBVTtRQUNoQyxNQUFNRyxNQUFNSCxJQUFJLE1BQU07UUFDdEIsT0FBTyxHQUFVRSxPQUFQQyxLQUFJLEtBQVEsT0FBTEQ7SUFDbkI7SUFFQSxNQUFNLENBQUNFLE1BQU1DLE9BQU9DLElBQUksR0FBR1QsU0FBU1UsS0FBSyxDQUFDO0lBQzFDLE1BQU1DLFNBQVM7UUFBQztRQUFPO1FBQU87UUFBTztRQUFPO1FBQU87UUFBTztRQUFPO1FBQU87UUFBTztRQUFPO1FBQU87S0FBTTtJQUNuRyxNQUFNQyxZQUFZRCxNQUFNLENBQUNQLFNBQVNJLE9BQU8sTUFBTSxFQUFFO0lBQ2pELE9BQU8sR0FBVUksT0FBUEgsS0FBSSxLQUFnQkYsT0FBYkssV0FBVSxLQUFhVixPQUFWSyxNQUFLLFVBQWMsT0FBVEw7QUFDMUMiLCJzb3VyY2VzIjpbIi9ob21lL3NpbHZpby9EZXZlbG9wL0NJUlVYLUFQUC9zcmMvbGliL3V0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNsc3gsIHR5cGUgQ2xhc3NWYWx1ZSB9IGZyb20gXCJjbHN4XCJcbmltcG9ydCB7IHR3TWVyZ2UgfSBmcm9tIFwidGFpbHdpbmQtbWVyZ2VcIlxuXG5leHBvcnQgZnVuY3Rpb24gY24oLi4uaW5wdXRzOiBDbGFzc1ZhbHVlW10pIHtcbiAgcmV0dXJuIHR3TWVyZ2UoY2xzeChpbnB1dHMpKVxufVxuXG4vKipcbiAqIENyZWEgdW4gdGltZXN0YW1wIElTTyBjb24gb2Zmc2V0IGV4cGzDrWNpdG8gZGUgQ29sb21iaWEgKFVUQy01KS5cbiAqIMOadGlsIHBhcmEgaW5zZXJ0YXIgZW4gUG9zdGdyZVNRTCBUSU1FU1RBTVBUWiBzaW4gZGVwZW5kZXIgZGVsIFRaIGRlbCBuYXZlZ2Fkb3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0NvbG9tYmlhSVNPU3RyaW5nKGRhdGVTdHI6IHN0cmluZywgaG91cjogbnVtYmVyLCBtaW51dGU6IG51bWJlcik6IHN0cmluZyB7XG4gIC8vIENvbnN0cnV5ZSBzdHJpbmcgSVNPIGNvbiBvZmZzZXQgZXhwbMOtY2l0byBkZSBDb2xvbWJpYVxuICBjb25zdCBpc28gPSBgJHtkYXRlU3RyfVQke1N0cmluZyhob3VyKS5wYWRTdGFydCgyLCBcIjBcIil9OiR7U3RyaW5nKG1pbnV0ZSkucGFkU3RhcnQoMiwgXCIwXCIpfTowMC0wNTowMGA7XG4gIHJldHVybiBuZXcgRGF0ZShpc28pLnRvSVNPU3RyaW5nKCk7XG59XG5cbi8qKlxuICogRm9ybWF0ZWEgdW4gdGltZXN0YW1wIGRlIFBvc3RncmVTUUwvU3VwYWJhc2Ugc2luIGNvbnZlcnNpb25lcyBkZSB6b25hIGhvcmFyaWEuXG4gKiBBc3VtZSBxdWUgZWwgdmFsb3IgeWEgZXN0w6EgZW4gbGEgem9uYSBob3JhcmlhIGRlc2VhZGEuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRQZ1RpbWUodHM6IHN0cmluZywgcGF0dGVybjogXCJISDptbVwiIHwgXCJkZCBNTU0geXl5eSDCtyBISDptbVwiIHwgXCJoYWFhXCIpOiBzdHJpbmcge1xuICBjb25zdCBjbGVhbiA9IHRzLnJlcGxhY2UoXCIgXCIsIFwiVFwiKTtcbiAgY29uc3QgZGF0ZVBhcnQgPSBjbGVhbi5zbGljZSgwLCAxMCk7IC8vIFlZWVktTU0tRERcbiAgY29uc3QgaG91ciA9IGNsZWFuLnNsaWNlKDExLCAxMyk7XG4gIGNvbnN0IG1pbnV0ZSA9IGNsZWFuLnNsaWNlKDE0LCAxNik7XG4gIGNvbnN0IHRpbWVQYXJ0ID0gYCR7aG91cn06JHttaW51dGV9YDtcblxuICBpZiAocGF0dGVybiA9PT0gXCJISDptbVwiKSByZXR1cm4gdGltZVBhcnQ7XG5cbiAgaWYgKHBhdHRlcm4gPT09IFwiaGFhYVwiKSB7XG4gICAgY29uc3QgaCA9IHBhcnNlSW50KGhvdXIsIDEwKTtcbiAgICBjb25zdCBhbXBtID0gaCA8IDEyID8gXCJhLiBtLlwiIDogXCJwLiBtLlwiO1xuICAgIGNvbnN0IGgxMiA9IGggJSAxMiB8fCAxMjtcbiAgICByZXR1cm4gYCR7aDEyfSAke2FtcG19YDtcbiAgfVxuXG4gIGNvbnN0IFt5ZWFyLCBtb250aCwgZGF5XSA9IGRhdGVQYXJ0LnNwbGl0KFwiLVwiKTtcbiAgY29uc3QgbW9udGhzID0gW1wiZW5lXCIsIFwiZmViXCIsIFwibWFyXCIsIFwiYWJyXCIsIFwibWF5XCIsIFwianVuXCIsIFwianVsXCIsIFwiYWdvXCIsIFwic2VwXCIsIFwib2N0XCIsIFwibm92XCIsIFwiZGljXCJdO1xuICBjb25zdCBtb250aEFiYnIgPSBtb250aHNbcGFyc2VJbnQobW9udGgsIDEwKSAtIDFdO1xuICByZXR1cm4gYCR7ZGF5fSAke21vbnRoQWJicn0gJHt5ZWFyfSDCtyAke3RpbWVQYXJ0fWA7XG59XG4iXSwibmFtZXMiOlsiY2xzeCIsInR3TWVyZ2UiLCJjbiIsImlucHV0cyIsInRvQ29sb21iaWFJU09TdHJpbmciLCJkYXRlU3RyIiwiaG91ciIsIm1pbnV0ZSIsImlzbyIsIlN0cmluZyIsInBhZFN0YXJ0IiwiRGF0ZSIsInRvSVNPU3RyaW5nIiwiZm9ybWF0UGdUaW1lIiwidHMiLCJwYXR0ZXJuIiwiY2xlYW4iLCJyZXBsYWNlIiwiZGF0ZVBhcnQiLCJzbGljZSIsInRpbWVQYXJ0IiwiaCIsInBhcnNlSW50IiwiYW1wbSIsImgxMiIsInllYXIiLCJtb250aCIsImRheSIsInNwbGl0IiwibW9udGhzIiwibW9udGhBYmJyIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/lib/utils.ts\n"));
/***/ })
});