{"version":3,"file":"static/chunks/pages/mesonet-climate-6502592f4da706ba.js","mappings":"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","sources":["webpack://_N_E/?e7e8","webpack://_N_E/./component/MoreResources.jsx","webpack://_N_E/./component/NextBreadcrumbs.jsx","webpack://_N_E/./component/ClimateChart.jsx","webpack://_N_E/./pages/mesonet-climate.js","webpack://_N_E/"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/mesonet-climate\",\n function () {\n return require(\"private-next-pages/mesonet-climate.js\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/mesonet-climate\"])\n });\n }\n ","import {\n Card,\n CardContent,\n CardMedia,\n Typography,\n CardActionArea,\n Container,\n Grid,\n} from \"@mui/material\";\nimport moment from \"moment-timezone\";\nimport { useState, useEffect } from \"react\";\n\nconst SHOW_RESOURCES = 3;\n\nconst getInitials = (name, separator = \" \") => {\n return name\n .split(separator)\n .map((part) => part[0]?.toUpperCase() || \"\")\n .join(\"\");\n};\n\nconst truncateContent = (content, maxLength) => {\n const text = content.replace(/<[^>]+>/g, \"\"); // Strip HTML tags\n return text.length > maxLength ? `${text.substring(0, maxLength)}...` : text;\n};\n\nconst MoreResources = ({ filterId = [] }) => {\n const [resources, setResources] = useState([]);\n const [hasFetched, setHasFetched] = useState(false);\n\n useEffect(() => {\n if (!hasFetched) {\n const fetchResources = async () => {\n try {\n const response = await fetch(\"/api/getBlogPosts\");\n const data = await response.json();\n const filteredResources = data\n .filter((item) => !filterId.includes(item.id))\n .sort(() => 0.5 - Math.random())\n .slice(0, SHOW_RESOURCES);\n setResources(filteredResources);\n } catch (error) {\n console.error(\"Failed to fetch resources:\", error);\n }\n };\n\n fetchResources();\n setHasFetched(true); // Ensure fetch only happens once\n }\n }, [filterId, hasFetched]); // `filterId` ensures the fetch updates if `filterId` changes\n\n return (\n \n \n Read Next\n \n \n {resources.map((resource, idx) => (\n \n \n \n {resource.images?.length > 0 ? (\n \n ) : (\n \n )}\n \n \n {resource.title}\n \n \n {resource.author.displayName ||\n getInitials(resource.author.name)}\n \n \n {console.log(JSON.stringify(resource))}\n \n \n {moment(resource.published).fromNow()}\n \n \n \n \n \n ))}\n \n \n );\n};\n\nexport default MoreResources;\n","import React, { useEffect, useState } from \"react\";\nimport { useRouter } from \"next/router\";\nimport Link from \"next/link\";\nimport { Breadcrumbs, Typography } from \"@mui/material\";\nimport { ConvertPathText } from \"./Utils/utils\";\n\nconst NextBreadcrumbs = ({ title }) => {\n const router = useRouter();\n const [breadcrumbs, setBreadcrumbs] = useState(null);\n\n useEffect(() => {\n if (router) {\n const linkPath = router.asPath.split(\"/\");\n linkPath.shift();\n const pathArray = linkPath.map((path, i) => {\n return {\n breadcrumb: path,\n href: \"/\" + linkPath.slice(0, i + 1).join(\"/\"),\n };\n });\n setBreadcrumbs(pathArray);\n }\n }, [router]);\n\n if (!breadcrumbs) {\n return null;\n }\n const breadcrumbsLength = breadcrumbs.length;\n return (\n \n \n Home\n \n {breadcrumbs.map((breadcrumb, i) => {\n // const text = convertBreadcrumb(breadcrumb.breadcrumb);\n const text = ConvertPathText(breadcrumb.breadcrumb);\n if (breadcrumbsLength - 1 == i) {\n return (\n \n {title ? title : text}\n \n );\n }\n return (\n \n {text}\n \n );\n })}\n \n );\n};\n\nexport default NextBreadcrumbs;\n","import colorLib from \"@kurkle/color\";\nimport { useEffect, useState } from \"react\";\nimport { Line } from \"react-chartjs-2\";\nimport {\n Chart as ChartJS,\n CategoryScale,\n LinearScale,\n LineElement,\n PointElement,\n Title,\n Tooltip,\n Legend,\n Filler,\n BarController,\n BarElement,\n} from \"chart.js\";\nimport { Box, Skeleton, Typography } from \"@mui/material\";\n\nChartJS.register(\n CategoryScale,\n LinearScale,\n LineElement,\n PointElement,\n BarElement,\n BarController,\n Title,\n Tooltip,\n Legend,\n Filler\n);\n\nconst CHART_COLORS = {\n red: \"rgb(255, 99, 132)\",\n orange: \"rgb(255, 159, 64)\",\n yellow: \"rgb(255, 205, 86)\",\n green: \"rgb(75, 192, 192)\",\n blue: \"rgb(54, 162, 235)\",\n purple: \"rgb(153, 102, 255)\",\n grey: \"rgb(201, 203, 207)\",\n};\n\nconst conversion = (value, variable) => {\n if (typeof value !== \"number\" || isNaN(value)) {\n return value;\n }\n\n switch (variable) {\n case \"TAIR\":\n return (value * 9) / 5 + 32;\n case \"PRCP\":\n return value / 25.4;\n default:\n return value;\n }\n};\n\nconst accumulateArray = (arr) => {\n let sum = 0;\n return arr.map((value) => (sum += value));\n};\n\nconst transparentize = (value, opacity = 0.5) => {\n return colorLib(value)\n .alpha(1 - opacity)\n .rgbString();\n};\n\nconst chartOptions = (title, yLabel, customData = []) => ({\n responsive: true,\n interaction: {\n intersect: false,\n mode: \"index\",\n },\n scales: {\n x: {\n title: {\n display: true,\n text: \"Day of the Year\",\n },\n },\n y: {\n title: {\n display: true,\n text: yLabel,\n },\n },\n },\n plugins: {\n legend: {\n position: \"top\",\n },\n title: {\n display: true,\n text: title,\n },\n tooltip: {\n callbacks: {\n footer: function (context) {\n if (customData?.[context[0].dataIndex]) {\n return customData?.[context[0].dataIndex]; // Combine data for tooltip\n }\n },\n },\n },\n },\n});\n\nconst ClimateChart = ({ site }) => {\n const [isLoading, setIsLoading] = useState(false);\n const [climateData, setClimateData] = useState(null);\n const [chartData, setChartData] = useState(null);\n const [chart2Data, setChart2Data] = useState(null);\n\n useEffect(() => {\n const fetchData = async () => {\n try {\n setIsLoading(true);\n const res = await fetch(`/api/climateData/${site.value || site}`);\n const json = await res.json();\n setClimateData(json);\n } finally {\n setIsLoading(false);\n }\n };\n fetchData();\n }, [site]);\n\n useEffect(() => {\n if (!climateData) return;\n\n const { climate, current } = climateData;\n\n const createDataset = (label, data, options) => ({\n label,\n data,\n ...options,\n });\n\n const data = {\n labels: climate.map((i) => i.date),\n datasets: [\n createDataset(\n \"Maximum Maximum Air Temps\",\n climate\n .map((i) => conversion(i.TMAX_MAX, \"TAIR\"))\n .map((i) => parseFloat(i).toFixed(1)),\n {\n type: \"line\",\n borderColor: CHART_COLORS.red,\n backgroundColor: transparentize(CHART_COLORS.red),\n pointRadius: 0,\n tension: 0.2,\n fill: \"1\",\n }\n ),\n createDataset(\n \"Average Maximum Air Temps\",\n climate\n .map((i) => conversion(i.TMAX_AVG, \"TAIR\"))\n .map((i) => parseFloat(i).toFixed(1)),\n {\n type: \"line\",\n borderColor: CHART_COLORS.green,\n backgroundColor: transparentize(CHART_COLORS.green),\n pointRadius: 0,\n tension: 0.2,\n fill: \"2\",\n }\n ),\n createDataset(\n \"Average Minimum Air Temps\",\n climate\n .map((i) => conversion(i.TMIN_AVG, \"TAIR\"))\n .map((i) => parseFloat(i).toFixed(1)),\n {\n type: \"line\",\n borderColor: CHART_COLORS.green,\n pointRadius: 0,\n tension: 0.2,\n }\n ),\n createDataset(\n \"Minimum Minimum Air Temps\",\n climate\n .map((i) => conversion(i.TMIN_MIN, \"TAIR\"))\n .map((i) => parseFloat(i).toFixed(1)),\n {\n type: \"line\",\n borderColor: CHART_COLORS.blue,\n backgroundColor: transparentize(CHART_COLORS.blue),\n pointRadius: 0,\n tension: 0.2,\n fill: \"2\",\n }\n ),\n createDataset(\n \"Current\",\n current.map((i) =>\n [\n conversion(i.TAIR_MIN, \"TAIR\"),\n conversion(i.TAIR_MAX, \"TAIR\"),\n ].map((i) => parseFloat(i).toFixed(1))\n ),\n {\n type: \"bar\",\n backgroundColor: \"#000\",\n }\n ),\n ],\n };\n\n const data2 = {\n labels: climate.map((i) => i.date),\n datasets: [\n createDataset(\n \"Accumulated Precipitation\",\n accumulateArray(\n current.map((i) => conversion(i.PRCP_SUM, \"PRCP\"))\n ).map((i) => parseFloat(i).toFixed(2)),\n {\n type: \"line\",\n borderColor: CHART_COLORS.green,\n backgroundColor: transparentize(CHART_COLORS.green),\n pointRadius: 0,\n tension: 0.2,\n fill: true,\n }\n ),\n createDataset(\n \"Average Accumulated Precipitation\",\n accumulateArray(\n climate.map((i) => conversion(i.PSUM_AVG, \"PRCP\"))\n ).map((i) => parseFloat(i).toFixed(2)),\n {\n type: \"line\",\n borderColor: CHART_COLORS.green,\n pointRadius: 0,\n tension: 0.2,\n fill: true,\n backgroundColor: (ctx) => {\n const index = ctx.index; // Current data point index\n return index < climateData[\"current\"].length - 1\n ? transparentize(CHART_COLORS.red)\n : \"rgba(0, 0, 0, 0)\"; // Fill only the first 340 points\n },\n segment: {\n backgroundColor: (ctx) => {\n const index = ctx.p0DataIndex; // Current segment start index\n return index < climateData[\"current\"].length - 1\n ? transparentize(CHART_COLORS.red)\n : \"rgba(0, 0, 0, 0)\"; // Fill only the first 340 points\n },\n },\n }\n ),\n ],\n };\n\n setChartData(data);\n setChart2Data(data2);\n }, [climateData]);\n\n if (isLoading || !chartData) {\n return (\n <>\n \n \n \n \n \n \n );\n }\n\n return (\n <>\n \n \n Last Update:{\" \"}\n {new Date(\n `${new Date().getFullYear()}-${climateData?.current.at(-1)?.date}`\n ).toISOString()}\n \n \n `MAX Year ${i.TMAX_YEAR}, MIN Year ${i.TMIN_YEAR}`\n )\n )}\n />\n \n \n );\n};\n\nexport default ClimateChart;\n","import { useEffect, useState } from \"react\";\nimport ClimateChart from \"../component/ClimateChart\";\nimport Page from \"../component/Page\";\nimport { Autocomplete, Box, Container, TextField, Typography } from \"@mui/material\";\nimport NextBreadcrumbs from \"../component/NextBreadcrumbs\";\nimport moment from \"moment-timezone\";\nimport MoreResources from \"../component/MoreResources\";\n\n\n\nexport default function MesonetClimate() {\n const [site, setSite] = useState(\"FARM\");\n const [options, setOptions] = useState([]);\n\n useEffect(() => {\n fetch(\"/api/getStationsInfo\").then(res => res.json()).then(json => {\n const x = Object.entries(json).map(([key, index]) => {\n const item = json[key];\n if (!item.isDiscontinued && moment().startOf(\"day\").diff(moment(item.dateEstablished, \"YYYY-MM-DD HH:mm:ss\"), \"days\") >= (3 * 365) + 1) {\n return { label: json[key].county + \" County (\" + key + \")\", value: key }\n }\n return null;\n })\n .filter(i => i !== null)\n .sort((a, b) => a.label.localeCompare(b.label));\n setOptions(x);\n setSite(x[0])\n })\n }, []);\n\n\n\n return \n \n \n \n Mesonet Climate\n \n \n \n }\n onChange={(event, newValue) => setSite(newValue)}\n value={site}\n disableClearable\n />\n \n\n \n\n \n\n\n \n\n}","(self[\"webpackChunk_N_E\"] = self[\"webpackChunk_N_E\"] || []).push([[1924],{\n\n/***/ 8849:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/mesonet-climate\",\n function () {\n return __webpack_require__(4133);\n }\n ]);\n if(false) {}\n \n\n/***/ }),\n\n/***/ 1384:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5893);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4288);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1138);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7138);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(4278);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(5285);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(2213);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(9677);\n/* harmony import */ var moment_timezone__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8);\n/* harmony import */ var moment_timezone__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(moment_timezone__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7294);\n\n\n\n\nconst SHOW_RESOURCES = 3;\nconst getInitials = function(name) {\n let separator = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \" \";\n return name.split(separator).map((part)=>{\n var _part_;\n return ((_part_ = part[0]) === null || _part_ === void 0 ? void 0 : _part_.toUpperCase()) || \"\";\n }).join(\"\");\n};\nconst truncateContent = (content, maxLength)=>{\n const text = content.replace(/<[^>]+>/g, \"\"); // Strip HTML tags\n return text.length > maxLength ? \"\".concat(text.substring(0, maxLength), \"...\") : text;\n};\nconst MoreResources = (param)=>{\n let { filterId =[] } = param;\n const [resources, setResources] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)([]);\n const [hasFetched, setHasFetched] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(false);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(()=>{\n if (!hasFetched) {\n const fetchResources = async ()=>{\n try {\n const response = await fetch(\"/api/getBlogPosts\");\n const data = await response.json();\n const filteredResources = data.filter((item)=>!filterId.includes(item.id)).sort(()=>0.5 - Math.random()).slice(0, SHOW_RESOURCES);\n setResources(filteredResources);\n } catch (error) {\n console.error(\"Failed to fetch resources:\", error);\n }\n };\n fetchResources();\n setHasFetched(true); // Ensure fetch only happens once\n }\n }, [\n filterId,\n hasFetched\n ]); // `filterId` ensures the fetch updates if `filterId` changes\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"] */ .Z, {\n sx: {\n pb: 2\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_4__/* [\"default\"] */ .Z, {\n variant: \"h4\",\n gutterBottom: true,\n children: \"Read Next\"\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"] */ .ZP, {\n container: true,\n spacing: 2,\n sx: {\n py: 2\n },\n children: resources.map((resource, idx)=>{\n var _resource_images;\n /*#__PURE__*/ return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"] */ .ZP, {\n item: true,\n xs: 12,\n sm: 6,\n md: 4,\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z, {\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_7__/* [\"default\"] */ .Z, {\n href: \"/topic/\" + resource.id,\n children: [\n ((_resource_images = resource.images) === null || _resource_images === void 0 ? void 0 : _resource_images.length) > 0 ? /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_8__/* [\"default\"] */ .Z, {\n image: resource.images[0].url,\n sx: {\n height: 150,\n objectFit: \"cover\"\n }\n }) : /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_8__/* [\"default\"] */ .Z, {\n component: \"img\",\n sx: {\n height: 150,\n objectFit: \"contain\"\n },\n image: \"/KCC-Logo.webp\"\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_9__/* [\"default\"] */ .Z, {\n sx: {\n py: 1\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_4__/* [\"default\"] */ .Z, {\n variant: \"body1\",\n noWrap: true,\n sx: {\n width: \"100%\",\n maxWidth: \"100%\"\n },\n children: resource.title\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_4__/* [\"default\"] */ .Z, {\n variant: \"caption\",\n children: resource.author.displayName || getInitials(resource.author.name)\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_4__/* [\"default\"] */ .Z, {\n variant: \"caption\",\n children: console.log(JSON.stringify(resource))\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_4__/* [\"default\"] */ .Z, {\n variant: \"subtitle2\",\n color: \"text.secondary\",\n component: \"div\",\n children: moment_timezone__WEBPACK_IMPORTED_MODULE_1___default()(resource.published).fromNow()\n })\n ]\n })\n ]\n })\n })\n }, \"more_resources_card_\".concat(idx));\n })\n })\n ]\n });\n};\n/* harmony default export */ __webpack_exports__[\"Z\"] = (MoreResources);\n\n\n/***/ }),\n\n/***/ 9733:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5893);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7294);\n/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1163);\n/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_router__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1664);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(1391);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(1138);\n/* harmony import */ var _Utils_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7209);\n\n\n\n\n\n\nconst NextBreadcrumbs = (param)=>{\n let { title } = param;\n const router = (0,next_router__WEBPACK_IMPORTED_MODULE_2__.useRouter)();\n const [breadcrumbs, setBreadcrumbs] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (router) {\n const linkPath = router.asPath.split(\"/\");\n linkPath.shift();\n const pathArray = linkPath.map((path, i)=>{\n return {\n breadcrumb: path,\n href: \"/\" + linkPath.slice(0, i + 1).join(\"/\")\n };\n });\n setBreadcrumbs(pathArray);\n }\n }, [\n router\n ]);\n if (!breadcrumbs) {\n return null;\n }\n const breadcrumbsLength = breadcrumbs.length;\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"] */ .Z, {\n \"aria-label\": \"breadcrumb\",\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)((next_link__WEBPACK_IMPORTED_MODULE_3___default()), {\n underline: \"hover\",\n color: \"inherit\",\n href: \"/\",\n children: \"Home\"\n }),\n breadcrumbs.map((breadcrumb, i)=>{\n // const text = convertBreadcrumb(breadcrumb.breadcrumb);\n const text = (0,_Utils_utils__WEBPACK_IMPORTED_MODULE_4__/* .ConvertPathText */ .gO)(breadcrumb.breadcrumb);\n if (breadcrumbsLength - 1 == i) {\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z, {\n color: \"text.primary\",\n children: title ? title : text\n }, \"Breadcrumb_\" + i);\n }\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)((next_link__WEBPACK_IMPORTED_MODULE_3___default()), {\n underline: \"hover\",\n color: \"inherit\",\n href: breadcrumb.href,\n children: text\n }, \"Breadcrumb_\" + i);\n })\n ]\n });\n};\n/* harmony default export */ __webpack_exports__[\"Z\"] = (NextBreadcrumbs);\n\n\n/***/ }),\n\n/***/ 4133:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": function() { return /* binding */ MesonetClimate; }\n});\n\n// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js\nvar jsx_runtime = __webpack_require__(5893);\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__(7294);\n// EXTERNAL MODULE: ./node_modules/@kurkle/color/dist/color.esm.js\nvar color_esm = __webpack_require__(6193);\n// EXTERNAL MODULE: ./node_modules/react-chartjs-2/dist/index.js\nvar dist = __webpack_require__(5430);\n// EXTERNAL MODULE: ./node_modules/chart.js/dist/chart.js\nvar chart = __webpack_require__(3148);\n// EXTERNAL MODULE: ./node_modules/@mui/material/esm/Box/Box.js + 1 modules\nvar Box = __webpack_require__(1953);\n// EXTERNAL MODULE: ./node_modules/@mui/material/esm/Skeleton/Skeleton.js\nvar Skeleton = __webpack_require__(8304);\n// EXTERNAL MODULE: ./node_modules/@mui/material/esm/Typography/Typography.js\nvar Typography = __webpack_require__(1138);\n;// CONCATENATED MODULE: ./component/ClimateChart.jsx\n\n\n\n\n\n\nchart/* Chart.register */.kL.register(chart/* CategoryScale */.uw, chart/* LinearScale */.f$, chart/* LineElement */.jn, chart/* PointElement */.od, chart/* BarElement */.ZL, chart/* BarController */.vn, chart/* Title */.Dx, chart/* Tooltip */.u, chart/* Legend */.De, chart/* Filler */.Gu);\nconst CHART_COLORS = {\n red: \"rgb(255, 99, 132)\",\n orange: \"rgb(255, 159, 64)\",\n yellow: \"rgb(255, 205, 86)\",\n green: \"rgb(75, 192, 192)\",\n blue: \"rgb(54, 162, 235)\",\n purple: \"rgb(153, 102, 255)\",\n grey: \"rgb(201, 203, 207)\"\n};\nconst conversion = (value, variable)=>{\n if (typeof value !== \"number\" || isNaN(value)) {\n return value;\n }\n switch(variable){\n case \"TAIR\":\n return value * 9 / 5 + 32;\n case \"PRCP\":\n return value / 25.4;\n default:\n return value;\n }\n};\nconst accumulateArray = (arr)=>{\n let sum = 0;\n return arr.map((value)=>sum += value);\n};\nconst transparentize = function(value) {\n let opacity = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0.5;\n return (0,color_esm/* default */.ZP)(value).alpha(1 - opacity).rgbString();\n};\nconst chartOptions = function(title, yLabel) {\n let customData = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];\n return {\n responsive: true,\n interaction: {\n intersect: false,\n mode: \"index\"\n },\n scales: {\n x: {\n title: {\n display: true,\n text: \"Day of the Year\"\n }\n },\n y: {\n title: {\n display: true,\n text: yLabel\n }\n }\n },\n plugins: {\n legend: {\n position: \"top\"\n },\n title: {\n display: true,\n text: title\n },\n tooltip: {\n callbacks: {\n footer: function(context) {\n if (customData === null || customData === void 0 ? void 0 : customData[context[0].dataIndex]) {\n return customData === null || customData === void 0 ? void 0 : customData[context[0].dataIndex]; // Combine data for tooltip\n }\n }\n }\n }\n }\n };\n};\nconst ClimateChart = (param)=>{\n let { site } = param;\n var _climateData_current_at;\n const [isLoading, setIsLoading] = (0,react.useState)(false);\n const [climateData, setClimateData] = (0,react.useState)(null);\n const [chartData, setChartData] = (0,react.useState)(null);\n const [chart2Data, setChart2Data] = (0,react.useState)(null);\n (0,react.useEffect)(()=>{\n const fetchData = async ()=>{\n try {\n setIsLoading(true);\n const res = await fetch(\"/api/climateData/\".concat(site.value || site));\n const json = await res.json();\n setClimateData(json);\n } finally{\n setIsLoading(false);\n }\n };\n fetchData();\n }, [\n site\n ]);\n (0,react.useEffect)(()=>{\n if (!climateData) return;\n const { climate , current } = climateData;\n const createDataset = (label, data, options)=>({\n label,\n data,\n ...options\n });\n const data = {\n labels: climate.map((i)=>i.date),\n datasets: [\n createDataset(\"Maximum Maximum Air Temps\", climate.map((i)=>conversion(i.TMAX_MAX, \"TAIR\")).map((i)=>parseFloat(i).toFixed(1)), {\n type: \"line\",\n borderColor: CHART_COLORS.red,\n backgroundColor: transparentize(CHART_COLORS.red),\n pointRadius: 0,\n tension: 0.2,\n fill: \"1\"\n }),\n createDataset(\"Average Maximum Air Temps\", climate.map((i)=>conversion(i.TMAX_AVG, \"TAIR\")).map((i)=>parseFloat(i).toFixed(1)), {\n type: \"line\",\n borderColor: CHART_COLORS.green,\n backgroundColor: transparentize(CHART_COLORS.green),\n pointRadius: 0,\n tension: 0.2,\n fill: \"2\"\n }),\n createDataset(\"Average Minimum Air Temps\", climate.map((i)=>conversion(i.TMIN_AVG, \"TAIR\")).map((i)=>parseFloat(i).toFixed(1)), {\n type: \"line\",\n borderColor: CHART_COLORS.green,\n pointRadius: 0,\n tension: 0.2\n }),\n createDataset(\"Minimum Minimum Air Temps\", climate.map((i)=>conversion(i.TMIN_MIN, \"TAIR\")).map((i)=>parseFloat(i).toFixed(1)), {\n type: \"line\",\n borderColor: CHART_COLORS.blue,\n backgroundColor: transparentize(CHART_COLORS.blue),\n pointRadius: 0,\n tension: 0.2,\n fill: \"2\"\n }),\n createDataset(\"Current\", current.map((i)=>[\n conversion(i.TAIR_MIN, \"TAIR\"),\n conversion(i.TAIR_MAX, \"TAIR\")\n ].map((i)=>parseFloat(i).toFixed(1))), {\n type: \"bar\",\n backgroundColor: \"#000\"\n })\n ]\n };\n const data2 = {\n labels: climate.map((i)=>i.date),\n datasets: [\n createDataset(\"Accumulated Precipitation\", accumulateArray(current.map((i)=>conversion(i.PRCP_SUM, \"PRCP\"))).map((i)=>parseFloat(i).toFixed(2)), {\n type: \"line\",\n borderColor: CHART_COLORS.green,\n backgroundColor: transparentize(CHART_COLORS.green),\n pointRadius: 0,\n tension: 0.2,\n fill: true\n }),\n createDataset(\"Average Accumulated Precipitation\", accumulateArray(climate.map((i)=>conversion(i.PSUM_AVG, \"PRCP\"))).map((i)=>parseFloat(i).toFixed(2)), {\n type: \"line\",\n borderColor: CHART_COLORS.green,\n pointRadius: 0,\n tension: 0.2,\n fill: true,\n backgroundColor: (ctx)=>{\n const index = ctx.index; // Current data point index\n return index < climateData[\"current\"].length - 1 ? transparentize(CHART_COLORS.red) : \"rgba(0, 0, 0, 0)\"; // Fill only the first 340 points\n },\n segment: {\n backgroundColor: (ctx)=>{\n const index = ctx.p0DataIndex; // Current segment start index\n return index < climateData[\"current\"].length - 1 ? transparentize(CHART_COLORS.red) : \"rgba(0, 0, 0, 0)\"; // Fill only the first 340 points\n }\n }\n })\n ]\n };\n setChartData(data);\n setChart2Data(data2);\n }, [\n climateData\n ]);\n if (isLoading || !chartData) {\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Box/* default */.Z, {\n sx: {\n display: \"flex\",\n pt: 1,\n justifyContent: \"flex-end\"\n },\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(Skeleton/* default */.Z, {\n height: 25,\n width: 300,\n sx: {\n transform: \"none\"\n }\n })\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Skeleton/* default */.Z, {\n height: 500,\n sx: {\n my: 1,\n transform: \"none\"\n }\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Skeleton/* default */.Z, {\n height: 500,\n sx: {\n my: 1,\n transform: \"none\"\n }\n })\n ]\n });\n }\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Box/* default */.Z, {\n sx: {\n display: \"flex\",\n pt: 1,\n justifyContent: \"flex-end\"\n },\n children: /*#__PURE__*/ (0,jsx_runtime.jsxs)(Typography/* default */.Z, {\n children: [\n \"Last Update:\",\n \" \",\n new Date(\"\".concat(new Date().getFullYear(), \"-\").concat((_climateData_current_at = climateData === null || climateData === void 0 ? void 0 : climateData.current.at(-1)) === null || _climateData_current_at === void 0 ? void 0 : _climateData_current_at.date)).toISOString()\n ]\n })\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(dist/* Line */.x1, {\n data: chartData,\n options: chartOptions(\"\".concat(site.label, \" Climate Graph\"), \"Degrees F\", climateData === null || climateData === void 0 ? void 0 : climateData.climate.map((i)=>\"MAX Year \".concat(i.TMAX_YEAR, \", MIN Year \").concat(i.TMIN_YEAR)))\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(dist/* Line */.x1, {\n data: chart2Data,\n options: chartOptions(\"\".concat(site.label, \" Precipitation Graph\"), \"Inches\")\n })\n ]\n });\n};\n/* harmony default export */ var component_ClimateChart = (ClimateChart);\n\n// EXTERNAL MODULE: ./component/Page.jsx + 4 modules\nvar Page = __webpack_require__(4374);\n// EXTERNAL MODULE: ./node_modules/@mui/material/esm/Container/Container.js + 1 modules\nvar Container = __webpack_require__(4288);\n// EXTERNAL MODULE: ./node_modules/@mui/material/esm/Autocomplete/Autocomplete.js\nvar Autocomplete = __webpack_require__(6127);\n// EXTERNAL MODULE: ./node_modules/@mui/material/esm/TextField/TextField.js\nvar TextField = __webpack_require__(6351);\n// EXTERNAL MODULE: ./component/NextBreadcrumbs.jsx\nvar NextBreadcrumbs = __webpack_require__(9733);\n// EXTERNAL MODULE: ./node_modules/moment-timezone/index.js\nvar moment_timezone = __webpack_require__(8);\nvar moment_timezone_default = /*#__PURE__*/__webpack_require__.n(moment_timezone);\n// EXTERNAL MODULE: ./component/MoreResources.jsx\nvar MoreResources = __webpack_require__(1384);\n;// CONCATENATED MODULE: ./pages/mesonet-climate.js\n\n\n\n\n\n\n\n\nfunction MesonetClimate() {\n const [site, setSite] = (0,react.useState)(\"FARM\");\n const [options, setOptions] = (0,react.useState)([]);\n (0,react.useEffect)(()=>{\n fetch(\"/api/getStationsInfo\").then((res)=>res.json()).then((json)=>{\n const x = Object.entries(json).map((param)=>{\n let [key, index] = param;\n const item = json[key];\n if (!item.isDiscontinued && moment_timezone_default()().startOf(\"day\").diff(moment_timezone_default()(item.dateEstablished, \"YYYY-MM-DD HH:mm:ss\"), \"days\") >= 3 * 365 + 1) {\n return {\n label: json[key].county + \" County (\" + key + \")\",\n value: key\n };\n }\n return null;\n }).filter((i)=>i !== null).sort((a, b)=>a.label.localeCompare(b.label));\n setOptions(x);\n setSite(x[0]);\n });\n }, []);\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(Page/* default */.Z, {\n children: /*#__PURE__*/ (0,jsx_runtime.jsxs)(Container/* default */.Z, {\n sx: {\n py: 5\n },\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(NextBreadcrumbs/* default */.Z, {}),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Box/* default */.Z, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n variant: \"h3\",\n children: \"Mesonet Climate\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n sx: {\n textAlign: \"justify\",\n py: 3\n }\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Autocomplete/* default */.Z, {\n options: options,\n renderInput: (params)=>/*#__PURE__*/ (0,jsx_runtime.jsx)(TextField/* default */.Z, {\n ...params,\n label: \"Stations\"\n }),\n onChange: (event, newValue)=>setSite(newValue),\n value: site,\n disableClearable: true\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(component_ClimateChart, {\n site: site,\n variable: \"TAIR\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(MoreResources/* default */.Z, {})\n ]\n })\n });\n}\n\n\n/***/ })\n\n},\n/******/ function(__webpack_require__) { // webpackRuntimeModules\n/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }\n/******/ __webpack_require__.O(0, [2678,4885,2196,6770,9412,5446,6087,4633,9381,6972,4374,9774,2888,179], function() { return __webpack_exec__(8849); });\n/******/ var __webpack_exports__ = __webpack_require__.O();\n/******/ _N_E = __webpack_exports__;\n/******/ }\n]);"],"names":["self","push","__unused_webpack_module","__unused_webpack_exports","__webpack_require__","window","__NEXT_P","__webpack_exports__","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","_mui_material__WEBPACK_IMPORTED_MODULE_3__","_mui_material__WEBPACK_IMPORTED_MODULE_4__","_mui_material__WEBPACK_IMPORTED_MODULE_5__","_mui_material__WEBPACK_IMPORTED_MODULE_6__","_mui_material__WEBPACK_IMPORTED_MODULE_7__","_mui_material__WEBPACK_IMPORTED_MODULE_8__","_mui_material__WEBPACK_IMPORTED_MODULE_9__","moment_timezone__WEBPACK_IMPORTED_MODULE_1__","moment_timezone__WEBPACK_IMPORTED_MODULE_1___default","n","react__WEBPACK_IMPORTED_MODULE_2__","getInitials","name","separator","arguments","length","split","map","_part_","part","toUpperCase","join","MoreResources","filterId","param","resources","setResources","useState","hasFetched","setHasFetched","useEffect","fetchResources","response","fetch","data","json","filteredResources","filter","includes","item","id","sort","Math","random","slice","error","console","jsxs","Z","sx","pb","children","jsx","variant","gutterBottom","ZP","container","spacing","py","resource","idx","_resource_images","xs","sm","md","href","images","image","url","height","objectFit","component","noWrap","width","maxWidth","title","author","displayName","log","JSON","stringify","color","published","fromNow","concat","react__WEBPACK_IMPORTED_MODULE_1__","next_router__WEBPACK_IMPORTED_MODULE_2__","next_link__WEBPACK_IMPORTED_MODULE_3__","next_link__WEBPACK_IMPORTED_MODULE_3___default","_Utils_utils__WEBPACK_IMPORTED_MODULE_4__","NextBreadcrumbs","router","useRouter","breadcrumbs","setBreadcrumbs","linkPath","asPath","shift","pathArray","path","i","breadcrumb","breadcrumbsLength","underline","text","gO","r","d","MesonetClimate","jsx_runtime","react","color_esm","dist","chart","Box","Skeleton","Typography","kL","register","uw","f$","jn","od","ZL","vn","Dx","u","De","Gu","CHART_COLORS","red","orange","yellow","green","blue","purple","grey","conversion","value","variable","isNaN","accumulateArray","sum","arr","transparentize","opacity","alpha","rgbString","chartOptions","yLabel","customData","responsive","interaction","intersect","mode","scales","x","display","y","plugins","legend","position","tooltip","callbacks","footer","context","dataIndex","ClimateChart","_climateData_current_at","site","isLoading","setIsLoading","climateData","setClimateData","chartData","setChartData","chart2Data","setChart2Data","fetchData","res","climate","current","createDataset","label","options","labels","date","datasets","TMAX_MAX","parseFloat","toFixed","type","borderColor","backgroundColor","pointRadius","tension","fill","TMAX_AVG","TMIN_AVG","TMIN_MIN","TAIR_MIN","TAIR_MAX","data2","PRCP_SUM","PSUM_AVG","ctx","index","segment","p0DataIndex","Fragment","pt","justifyContent","transform","my","Date","getFullYear","at","toISOString","x1","TMAX_YEAR","TMIN_YEAR","Page","Container","Autocomplete","TextField","moment_timezone","moment_timezone_default","setSite","setOptions","then","Object","entries","key","isDiscontinued","startOf","diff","dateEstablished","county","a","b","localeCompare","textAlign","renderInput","params","onChange","event","newValue","disableClearable","O","s","_N_E"],"sourceRoot":""}