22 lines
16 KiB
JavaScript
22 lines
16 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/app/page.tsx":
|
|
/*!**************************!*\
|
|
!*** ./src/app/page.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 */ Home)\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/.pnpm/next@15.5.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/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/.pnpm/next@15.5.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/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 _components_chat_interface__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/chat-interface */ \"(app-pages-browser)/./src/components/chat-interface.tsx\");\n/* harmony import */ var _components_agent_selector__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/agent-selector */ \"(app-pages-browser)/./src/components/agent-selector.tsx\");\n/* harmony import */ var _components_header__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/header */ \"(app-pages-browser)/./src/components/header.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \nvar _s = $RefreshSig$();\n\n\n\n\nfunction Home() {\n _s();\n const [selectedAgent, setSelectedAgent] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [showAgentDialog, setShowAgentDialog] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [isLoading, setIsLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"Home.useEffect\": ()=>{\n // Try to load previously selected agent from localStorage\n const savedAgent = localStorage.getItem(\"selected-agent\");\n if (savedAgent) {\n try {\n const agent = JSON.parse(savedAgent);\n setSelectedAgent(agent);\n } catch (err) {\n console.error(\"[home] Failed to load saved agent:\", err);\n setShowAgentDialog(true);\n }\n } else {\n // No agent selected, show dialog\n setShowAgentDialog(true);\n }\n setIsLoading(false);\n }\n }[\"Home.useEffect\"], []);\n const handleAgentSelected = (agent)=>{\n setSelectedAgent(agent);\n };\n const handleSwitchAgent = ()=>{\n setShowAgentDialog(true);\n };\n if (isLoading) {\n return null // Avoid hydration mismatch\n ;\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"gallery-shell\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex h-screen flex-col\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_header__WEBPACK_IMPORTED_MODULE_4__.Header, {\n agent: selectedAgent,\n onChangeAgent: handleSwitchAgent\n }, void 0, false, {\n fileName: \"/home/nicholai/Documents/dev/multi-agent_chat_interface/src/app/page.tsx\",\n lineNumber: 49,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"flex-1 overflow-hidden\",\n children: selectedAgent ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_chat_interface__WEBPACK_IMPORTED_MODULE_2__.ChatInterface, {\n agent: selectedAgent\n }, void 0, false, {\n fileName: \"/home/nicholai/Documents/dev/multi-agent_chat_interface/src/app/page.tsx\",\n lineNumber: 52,\n columnNumber: 13\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex h-full items-center justify-center px-6 text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"max-w-sm text-sm uppercase tracking-[0.2em] text-muted-foreground\",\n children: \"Select an agent to begin the dialogue\"\n }, void 0, false, {\n fileName: \"/home/nicholai/Documents/dev/multi-agent_chat_interface/src/app/page.tsx\",\n lineNumber: 55,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/home/nicholai/Documents/dev/multi-agent_chat_interface/src/app/page.tsx\",\n lineNumber: 54,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/home/nicholai/Documents/dev/multi-agent_chat_interface/src/app/page.tsx\",\n lineNumber: 50,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_agent_selector__WEBPACK_IMPORTED_MODULE_3__.AgentSelector, {\n open: showAgentDialog,\n onOpenChange: setShowAgentDialog,\n onAgentSelected: handleAgentSelected\n }, void 0, false, {\n fileName: \"/home/nicholai/Documents/dev/multi-agent_chat_interface/src/app/page.tsx\",\n lineNumber: 62,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/nicholai/Documents/dev/multi-agent_chat_interface/src/app/page.tsx\",\n lineNumber: 48,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/home/nicholai/Documents/dev/multi-agent_chat_interface/src/app/page.tsx\",\n lineNumber: 47,\n columnNumber: 5\n }, this);\n}\n_s(Home, \"aMaSEseBrQGHTlSbHhVPGbPq7gw=\");\n_c = Home;\nvar _c;\n$RefreshReg$(_c, \"Home\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9hcHAvcGFnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBRTJDO0FBQ2dCO0FBQ0E7QUFDZjtBQUc3QixTQUFTSzs7SUFDdEIsTUFBTSxDQUFDQyxlQUFlQyxpQkFBaUIsR0FBR1AsK0NBQVFBLENBQWU7SUFDakUsTUFBTSxDQUFDUSxpQkFBaUJDLG1CQUFtQixHQUFHVCwrQ0FBUUEsQ0FBQztJQUN2RCxNQUFNLENBQUNVLFdBQVdDLGFBQWEsR0FBR1gsK0NBQVFBLENBQUM7SUFFM0NDLGdEQUFTQTswQkFBQztZQUNSLDBEQUEwRDtZQUMxRCxNQUFNVyxhQUFhQyxhQUFhQyxPQUFPLENBQUM7WUFFeEMsSUFBSUYsWUFBWTtnQkFDZCxJQUFJO29CQUNGLE1BQU1HLFFBQVFDLEtBQUtDLEtBQUssQ0FBQ0w7b0JBQ3pCTCxpQkFBaUJRO2dCQUNuQixFQUFFLE9BQU9HLEtBQUs7b0JBQ1pDLFFBQVFDLEtBQUssQ0FBQyxzQ0FBc0NGO29CQUNwRFQsbUJBQW1CO2dCQUNyQjtZQUNGLE9BQU87Z0JBQ0wsaUNBQWlDO2dCQUNqQ0EsbUJBQW1CO1lBQ3JCO1lBRUFFLGFBQWE7UUFDZjt5QkFBRyxFQUFFO0lBRUwsTUFBTVUsc0JBQXNCLENBQUNOO1FBQzNCUixpQkFBaUJRO0lBQ25CO0lBRUEsTUFBTU8sb0JBQW9CO1FBQ3hCYixtQkFBbUI7SUFDckI7SUFFQSxJQUFJQyxXQUFXO1FBQ2IsT0FBTyxLQUFLLDJCQUEyQjs7SUFDekM7SUFFQSxxQkFDRSw4REFBQ2E7UUFBSUMsV0FBVTtrQkFDYiw0RUFBQ0Q7WUFBSUMsV0FBVTs7OEJBQ2IsOERBQUNwQixzREFBTUE7b0JBQUNXLE9BQU9UO29CQUFlbUIsZUFBZUg7Ozs7Ozs4QkFDN0MsOERBQUNJO29CQUFLRixXQUFVOzhCQUNibEIsOEJBQ0MsOERBQUNKLHFFQUFhQTt3QkFBQ2EsT0FBT1Q7Ozs7OzZDQUV0Qiw4REFBQ2lCO3dCQUFJQyxXQUFVO2tDQUNiLDRFQUFDRzs0QkFBRUgsV0FBVTtzQ0FBb0U7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBT3ZGLDhEQUFDckIscUVBQWFBO29CQUNaeUIsTUFBTXBCO29CQUNOcUIsY0FBY3BCO29CQUNkcUIsaUJBQWlCVDs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLM0I7R0E3RHdCaEI7S0FBQUEiLCJzb3VyY2VzIjpbIi9ob21lL25pY2hvbGFpL0RvY3VtZW50cy9kZXYvbXVsdGktYWdlbnRfY2hhdF9pbnRlcmZhY2Uvc3JjL2FwcC9wYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIlxuXG5pbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7IENoYXRJbnRlcmZhY2UgfSBmcm9tIFwiQC9jb21wb25lbnRzL2NoYXQtaW50ZXJmYWNlXCJcbmltcG9ydCB7IEFnZW50U2VsZWN0b3IgfSBmcm9tIFwiQC9jb21wb25lbnRzL2FnZW50LXNlbGVjdG9yXCJcbmltcG9ydCB7IEhlYWRlciB9IGZyb20gXCJAL2NvbXBvbmVudHMvaGVhZGVyXCJcbmltcG9ydCB0eXBlIHsgQWdlbnQgfSBmcm9tIFwiQC9saWIvdHlwZXNcIlxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBIb21lKCkge1xuICBjb25zdCBbc2VsZWN0ZWRBZ2VudCwgc2V0U2VsZWN0ZWRBZ2VudF0gPSB1c2VTdGF0ZTxBZ2VudCB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtzaG93QWdlbnREaWFsb2csIHNldFNob3dBZ2VudERpYWxvZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKHRydWUpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBUcnkgdG8gbG9hZCBwcmV2aW91c2x5IHNlbGVjdGVkIGFnZW50IGZyb20gbG9jYWxTdG9yYWdlXG4gICAgY29uc3Qgc2F2ZWRBZ2VudCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwic2VsZWN0ZWQtYWdlbnRcIilcblxuICAgIGlmIChzYXZlZEFnZW50KSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBhZ2VudCA9IEpTT04ucGFyc2Uoc2F2ZWRBZ2VudClcbiAgICAgICAgc2V0U2VsZWN0ZWRBZ2VudChhZ2VudClcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiW2hvbWVdIEZhaWxlZCB0byBsb2FkIHNhdmVkIGFnZW50OlwiLCBlcnIpXG4gICAgICAgIHNldFNob3dBZ2VudERpYWxvZyh0cnVlKVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBObyBhZ2VudCBzZWxlY3RlZCwgc2hvdyBkaWFsb2dcbiAgICAgIHNldFNob3dBZ2VudERpYWxvZyh0cnVlKVxuICAgIH1cblxuICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgfSwgW10pXG5cbiAgY29uc3QgaGFuZGxlQWdlbnRTZWxlY3RlZCA9IChhZ2VudDogQWdlbnQpID0+IHtcbiAgICBzZXRTZWxlY3RlZEFnZW50KGFnZW50KVxuICB9XG5cbiAgY29uc3QgaGFuZGxlU3dpdGNoQWdlbnQgPSAoKSA9PiB7XG4gICAgc2V0U2hvd0FnZW50RGlhbG9nKHRydWUpXG4gIH1cblxuICBpZiAoaXNMb2FkaW5nKSB7XG4gICAgcmV0dXJuIG51bGwgLy8gQXZvaWQgaHlkcmF0aW9uIG1pc21hdGNoXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZ2FsbGVyeS1zaGVsbFwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGgtc2NyZWVuIGZsZXgtY29sXCI+XG4gICAgICAgIDxIZWFkZXIgYWdlbnQ9e3NlbGVjdGVkQWdlbnR9IG9uQ2hhbmdlQWdlbnQ9e2hhbmRsZVN3aXRjaEFnZW50fSAvPlxuICAgICAgICA8bWFpbiBjbGFzc05hbWU9XCJmbGV4LTEgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgICAge3NlbGVjdGVkQWdlbnQgPyAoXG4gICAgICAgICAgICA8Q2hhdEludGVyZmFjZSBhZ2VudD17c2VsZWN0ZWRBZ2VudH0gLz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGgtZnVsbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcHgtNiB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtYXgtdy1zbSB0ZXh0LXNtIHVwcGVyY2FzZSB0cmFja2luZy1bMC4yZW1dIHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPlxuICAgICAgICAgICAgICAgIFNlbGVjdCBhbiBhZ2VudCB0byBiZWdpbiB0aGUgZGlhbG9ndWVcbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9tYWluPlxuXG4gICAgICAgIDxBZ2VudFNlbGVjdG9yXG4gICAgICAgICAgb3Blbj17c2hvd0FnZW50RGlhbG9nfVxuICAgICAgICAgIG9uT3BlbkNoYW5nZT17c2V0U2hvd0FnZW50RGlhbG9nfVxuICAgICAgICAgIG9uQWdlbnRTZWxlY3RlZD17aGFuZGxlQWdlbnRTZWxlY3RlZH1cbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJDaGF0SW50ZXJmYWNlIiwiQWdlbnRTZWxlY3RvciIsIkhlYWRlciIsIkhvbWUiLCJzZWxlY3RlZEFnZW50Iiwic2V0U2VsZWN0ZWRBZ2VudCIsInNob3dBZ2VudERpYWxvZyIsInNldFNob3dBZ2VudERpYWxvZyIsImlzTG9hZGluZyIsInNldElzTG9hZGluZyIsInNhdmVkQWdlbnQiLCJsb2NhbFN0b3JhZ2UiLCJnZXRJdGVtIiwiYWdlbnQiLCJKU09OIiwicGFyc2UiLCJlcnIiLCJjb25zb2xlIiwiZXJyb3IiLCJoYW5kbGVBZ2VudFNlbGVjdGVkIiwiaGFuZGxlU3dpdGNoQWdlbnQiLCJkaXYiLCJjbGFzc05hbWUiLCJvbkNoYW5nZUFnZW50IiwibWFpbiIsInAiLCJvcGVuIiwib25PcGVuQ2hhbmdlIiwib25BZ2VudFNlbGVjdGVkIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/app/page.tsx\n"));
|
|
|
|
/***/ })
|
|
|
|
}); |