ProfilingAI / src /interface /static /react-components /profile-recommendations.js
Sandrine Guétin
Version propre de DeepVest
2106f78
raw
history blame
6.5 kB
/******/ (() => { // webpackBootstrap
/******/ "use strict";
/******/ var __webpack_modules__ = ({
/***/ 698:
/***/ ((__unused_webpack_module, exports) => {
var __webpack_unused_export__;
/**
* @license React
* react-jsx-runtime.production.js
*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"),
REACT_FRAGMENT_TYPE = Symbol.for("react.fragment");
function jsxProd(type, config, maybeKey) {
var key = null;
void 0 !== maybeKey && (key = "" + maybeKey);
void 0 !== config.key && (key = "" + config.key);
if ("key" in config) {
maybeKey = {};
for (var propName in config)
"key" !== propName && (maybeKey[propName] = config[propName]);
} else maybeKey = config;
config = maybeKey.ref;
return {
$$typeof: REACT_ELEMENT_TYPE,
type: type,
key: key,
ref: void 0 !== config ? config : null,
props: maybeKey
};
}
__webpack_unused_export__ = REACT_FRAGMENT_TYPE;
__webpack_unused_export__ = jsxProd;
__webpack_unused_export__ = jsxProd;
/***/ }),
/***/ 848:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
if (true) {
/* unused reexport */ __webpack_require__(698);
} else {}
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ // no module.id needed
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/************************************************************************/
var __webpack_exports__ = {};
// UNUSED EXPORTS: default
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(848);
;// ./src/interface/components/ui/card.tsx
function card_Card(_a) {
var children = _a.children, _b = _a.className, className = _b === void 0 ? '' : _b;
return (_jsx("div", { className: "bg-white shadow rounded-lg overflow-hidden ".concat(className), children: children }));
}
function card_CardHeader(_a) {
var children = _a.children, _b = _a.className, className = _b === void 0 ? '' : _b;
return (_jsx("div", { className: "px-6 py-4 border-b border-gray-200 ".concat(className), children: children }));
}
function card_CardTitle(_a) {
var children = _a.children, _b = _a.className, className = _b === void 0 ? '' : _b;
return (_jsx("h3", { className: "text-lg font-semibold text-gray-900 ".concat(className), children: children }));
}
function card_CardContent(_a) {
var children = _a.children, _b = _a.className, className = _b === void 0 ? '' : _b;
return (_jsx("div", { className: "px-6 py-4 ".concat(className), children: children }));
}
;// ./src/interface/components/ProfileRecommendations.tsx
var ProfileRecommendations = function (_a) {
var explanation = _a.explanation;
var getPriorityColor = function (priority) {
switch (priority) {
case 'high': return 'bg-red-100 text-red-800';
case 'medium': return 'bg-yellow-100 text-yellow-800';
case 'low': return 'bg-green-100 text-green-800';
default: return 'bg-gray-100 text-gray-800';
}
};
return (_jsxs("div", { className: "space-y-6", children: [_jsxs(Card, { children: [_jsx(CardHeader, { children: _jsx(CardTitle, { children: "Analyse de votre profil" }) }), _jsx(CardContent, { children: _jsxs("div", { className: "prose", children: [_jsx("p", { className: "text-gray-700", children: explanation.summary }), _jsxs("div", { className: "grid grid-cols-3 gap-4 mt-4", children: [_jsxs("div", { className: "text-center p-4 bg-blue-50 rounded-lg", children: [_jsxs("div", { className: "text-2xl font-bold text-blue-700", children: [explanation.riskScore, "/5"] }), _jsx("div", { className: "text-sm text-blue-600", children: "Score de risque" })] }), _jsxs("div", { className: "text-center p-4 bg-green-50 rounded-lg", children: [_jsxs("div", { className: "text-2xl font-bold text-green-700", children: [explanation.horizon, " ans"] }), _jsx("div", { className: "text-sm text-green-600", children: "Horizon recommand\u00E9" })] }), _jsxs("div", { className: "text-center p-4 bg-purple-50 rounded-lg", children: [_jsx("div", { className: "text-2xl font-bold text-purple-700", children: explanation.goals.length }), _jsx("div", { className: "text-sm text-purple-600", children: "Objectifs identifi\u00E9s" })] })] })] }) })] }), _jsxs(Card, { children: [_jsx(CardHeader, { children: _jsx(CardTitle, { children: "Recommandations Personnalis\u00E9es" }) }), _jsx(CardContent, { children: _jsx("div", { className: "space-y-4", children: explanation.recommendations.map(function (rec, index) { return (_jsxs("div", { className: "p-4 rounded-lg ".concat(getPriorityColor(rec.priority)), children: [_jsx("h4", { className: "font-semibold mb-2", children: rec.type }), _jsx("p", { className: "text-sm", children: rec.message }), rec.action && (_jsxs("div", { className: "mt-2 text-sm font-medium", children: ["Action recommand\u00E9e: ", rec.action] }))] }, index)); }) }) })] }), _jsxs(Card, { children: [_jsx(CardHeader, { children: _jsx(CardTitle, { children: "Vos Objectifs" }) }), _jsx(CardContent, { children: _jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: explanation.goals.map(function (goal, index) { return (_jsx("div", { className: "p-4 bg-gray-50 rounded-lg", children: _jsx("div", { className: "text-lg font-medium", children: goal }) }, index)); }) }) })] })] }));
};
/* harmony default export */ const components_ProfileRecommendations = ((/* unused pure expression or super */ null && (ProfileRecommendations)));
/******/ })()
;