trade-safety 1.10.0 → 1.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/DetailedResult/AISummarySection.d.ts +2 -2
- package/dist/components/DetailedResult/AISummarySection.d.ts.map +1 -1
- package/dist/components/DetailedResult/AnalysisCard.d.ts +6 -3
- package/dist/components/DetailedResult/AnalysisCard.d.ts.map +1 -1
- package/dist/components/DetailedResult/PriceAnalysisSection.d.ts.map +1 -1
- package/dist/components/DetailedResult/SafetyChecklistSection.d.ts.map +1 -1
- package/dist/components/DetailedResult/SectionContent.d.ts +7 -0
- package/dist/components/DetailedResult/SectionContent.d.ts.map +1 -0
- package/dist/components/DetailedResult/SignalsSection.d.ts +3 -3
- package/dist/components/DetailedResult/SignalsSection.d.ts.map +1 -1
- package/dist/components/DetailedResult/TranslationSection.d.ts.map +1 -1
- package/dist/components/DetailedResult/index.d.ts.map +1 -1
- package/dist/components/PageHeader.d.ts.map +1 -1
- package/dist/i18n/translations.d.ts +243 -36
- package/dist/i18n/translations.d.ts.map +1 -1
- package/dist/index.js +14 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1111 -414
- package/dist/index.mjs.map +1 -1
- package/dist/isChromatic-5i32AXac-BWePUv7P.js +2 -0
- package/dist/isChromatic-5i32AXac-BWePUv7P.js.map +1 -0
- package/dist/isChromatic-5i32AXac-CtZ5BKgh.mjs +8 -0
- package/dist/isChromatic-5i32AXac-CtZ5BKgh.mjs.map +1 -0
- package/dist/locale.js +54 -9
- package/dist/locale.js.map +1 -1
- package/dist/locale.mjs +85 -40
- package/dist/locale.mjs.map +1 -1
- package/dist/lottie-react.esm-BUHy0Xb6.mjs +6105 -0
- package/dist/lottie-react.esm-BUHy0Xb6.mjs.map +1 -0
- package/dist/lottie-react.esm-Bv7L41xK.js +257 -0
- package/dist/lottie-react.esm-Bv7L41xK.js.map +1 -0
- package/dist/repositories/TradeSafetyRepository.d.ts +18 -18
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -1
- package/dist/components/DetailedResult/RecommendationSection.d.ts +0 -6
- package/dist/components/DetailedResult/RecommendationSection.d.ts.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,2 +1,15 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),m=require("react-i18next");require("i18next");require("i18next-resources-to-backend");const d=require("./locale.js"),u=require("react"),T=require("@aioia/core"),a=require("zod");function O(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const c=O(u);function _(e){var t,r,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e)){var l=e.length;for(t=0;t<l;t++)e[t]&&(r=_(e[t]))&&(s&&(s+=" "),s+=r)}else for(r in e)e[r]&&(s&&(s+=" "),s+=r);return s}function N(){for(var e,t,r=0,s="",l=arguments.length;r<l;r++)(e=arguments[r])&&(t=_(e))&&(s&&(s+=" "),s+=t);return s}const R={default:"border-base-300",error:"border-error bg-error/10",warning:"border-warning bg-warning/10",success:"border-success bg-success/10",info:"border-info bg-info/10"};function h({title:e,icon:t,variant:r="default",children:s}){return s?n.jsxs("div",{className:N("rounded-lg border p-6",R[r]),children:[e&&n.jsxs("h2",{className:"mb-2 flex items-center gap-2 font-bold",children:[e,t]}),s]}):null}function A({summary:e}){const{t}=m.useTranslation(d.TRADE_SAFETY_NS);return n.jsx(h,{title:t("result.aiSummary"),children:n.jsx("p",{className:"rounded-lg bg-base-200 p-6 text-sm leading-relaxed text-base-content",children:e})})}function P({data:e}){const{t,i18n:r}=m.useTranslation(d.TRADE_SAFETY_NS);return e?n.jsxs(h,{title:t("result.priceAnalysis"),children:[e.market_price_range&&n.jsxs("div",{className:"mb-2",children:[n.jsx("h3",{className:"text-sm font-bold",children:t("result.marketPrice")}),n.jsx("p",{className:"text-xs",children:e.market_price_range})]}),e.offered_price&&n.jsxs("div",{className:"mb-2",children:[n.jsx("h3",{className:"text-sm font-bold",children:t("result.offeredPrice")}),n.jsx("p",{className:"text-xs",children:new Intl.NumberFormat(r.language,{style:"currency",currency:e.currency||"USD"}).format(e.offered_price)})]}),e.price_assessment&&n.jsxs("div",{children:[n.jsx("h3",{className:"text-sm font-bold",children:t("result.priceAssessment")}),n.jsx("p",{className:"text-xs",children:e.price_assessment})]})]}):null}function C({recommendation:e}){const{t}=m.useTranslation(d.TRADE_SAFETY_NS);return e?n.jsx(h,{title:t("result.recommendation"),children:n.jsx("p",{className:"text-xs",children:e})}):null}function D({title:e,titleId:t,...r},s){return c.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:s,"aria-labelledby":t},r),e?c.createElement("title",{id:t},e):null,c.createElement("path",{fillRule:"evenodd",d:"M8.603 3.799A4.49 4.49 0 0 1 12 2.25c1.357 0 2.573.6 3.397 1.549a4.49 4.49 0 0 1 3.498 1.307 4.491 4.491 0 0 1 1.307 3.497A4.49 4.49 0 0 1 21.75 12a4.49 4.49 0 0 1-1.549 3.397 4.491 4.491 0 0 1-1.307 3.497 4.491 4.491 0 0 1-3.497 1.307A4.49 4.49 0 0 1 12 21.75a4.49 4.49 0 0 1-3.397-1.549 4.49 4.49 0 0 1-3.498-1.306 4.491 4.491 0 0 1-1.307-3.498A4.49 4.49 0 0 1 2.25 12c0-1.357.6-2.573 1.549-3.397a4.49 4.49 0 0 1 1.307-3.497 4.49 4.49 0 0 1 3.497-1.307Zm7.007 6.387a.75.75 0 1 0-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 0 0-1.06 1.06l2.25 2.25a.75.75 0 0 0 1.14-.094l3.75-5.25Z",clipRule:"evenodd"}))}const k=c.forwardRef(D);function F({title:e,titleId:t,...r},s){return c.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:s,"aria-labelledby":t},r),e?c.createElement("title",{id:t},e):null,c.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003ZM12 8.25a.75.75 0 0 1 .75.75v3.75a.75.75 0 0 1-1.5 0V9a.75.75 0 0 1 .75-.75Zm0 8.25a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z",clipRule:"evenodd"}))}const H=c.forwardRef(F);function L({title:e,titleId:t,...r},s){return c.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:s,"aria-labelledby":t},r),e?c.createElement("title",{id:t},e):null,c.createElement("path",{fillRule:"evenodd",d:"M12 2.25c-5.385 0-9.75 4.365-9.75 9.75s4.365 9.75 9.75 9.75 9.75-4.365 9.75-9.75S17.385 2.25 12 2.25Zm-2.625 6c-.54 0-.828.419-.936.634a1.96 1.96 0 0 0-.189.866c0 .298.059.605.189.866.108.215.395.634.936.634.54 0 .828-.419.936-.634.13-.26.189-.568.189-.866 0-.298-.059-.605-.189-.866-.108-.215-.395-.634-.936-.634Zm4.314.634c.108-.215.395-.634.936-.634.54 0 .828.419.936.634.13.26.189.568.189.866 0 .298-.059.605-.189.866-.108.215-.395.634-.936.634-.54 0-.828-.419-.936-.634a1.96 1.96 0 0 1-.189-.866c0-.298.059-.605.189-.866Zm-4.34 7.964a.75.75 0 0 1-1.061-1.06 5.236 5.236 0 0 1 3.73-1.538 5.236 5.236 0 0 1 3.695 1.538.75.75 0 1 1-1.061 1.06 3.736 3.736 0 0 0-2.639-1.098 3.736 3.736 0 0 0-2.664 1.098Z",clipRule:"evenodd"}))}const M=c.forwardRef(L);function Y({title:e,titleId:t,...r},s){return c.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:s,"aria-labelledby":t},r),e?c.createElement("title",{id:t},e):null,c.createElement("path",{fillRule:"evenodd",d:"M11.484 2.17a.75.75 0 0 1 1.032 0 11.209 11.209 0 0 0 7.877 3.08.75.75 0 0 1 .722.515 12.74 12.74 0 0 1 .635 3.985c0 5.942-4.064 10.933-9.563 12.348a.749.749 0 0 1-.374 0C6.314 20.683 2.25 15.692 2.25 9.75c0-1.39.223-2.73.635-3.985a.75.75 0 0 1 .722-.516l.143.001c2.996 0 5.718-1.17 7.734-3.08ZM12 8.25a.75.75 0 0 1 .75.75v3.75a.75.75 0 0 1-1.5 0V9a.75.75 0 0 1 .75-.75ZM12 15a.75.75 0 0 0-.75.75v.008c0 .414.336.75.75.75h.008a.75.75 0 0 0 .75-.75v-.008a.75.75 0 0 0-.75-.75H12Z",clipRule:"evenodd"}))}const Z=c.forwardRef(Y);function B({items:e}){const{t}=m.useTranslation(d.TRADE_SAFETY_NS);return e.length===0?null:n.jsxs("div",{className:"mb-4",children:[n.jsxs("h2",{className:"flex items-center gap-1 py-4 font-bold",children:[t("result.safetyChecklist")," ",n.jsx(k,{className:"size-6"})]}),n.jsx(h,{variant:"info",children:e.map((r,s)=>n.jsxs("label",{className:"label w-fit cursor-pointer gap-2",children:[n.jsx("input",{type:"checkbox",className:"checkbox rounded-full [--chkbg:theme(colors.neutral)] [--chkfg:theme(colors.neutral-content)]"}),n.jsx("span",{className:"label-text",children:r})]},s))})]})}const I={error:M,warning:H,success:Z},q={error:"result.riskSignals",warning:"result.cautions",success:"result.safeIndicators"};function g({signals:e,variant:t="error"}){const{t:r}=m.useTranslation(d.TRADE_SAFETY_NS);if(e.length===0)return null;const s=I[t];return n.jsxs("div",{className:"mb-4",children:[n.jsxs("h2",{className:"flex items-center gap-1 py-4 font-bold",children:[r(q[t])," ",n.jsx(s,{className:"size-6"})]}),n.jsx("div",{className:"space-y-3",children:e.map((l,i)=>n.jsx(h,{variant:t,children:n.jsxs("div",{className:"space-y-2",children:[n.jsxs("div",{children:[n.jsx("h3",{className:"text-sm font-bold",children:l.title}),n.jsx("p",{className:"text-xs",children:l.description})]}),n.jsxs("div",{children:[n.jsx("h3",{className:"text-sm font-bold",children:r("result.whatToDo")}),n.jsx("p",{className:"text-xs",children:l.what_to_do})]})]})},i))})]})}function $({translation:e,nuance:t}){const{t:r}=m.useTranslation(d.TRADE_SAFETY_NS);return n.jsxs(h,{title:r("result.translation"),children:[e&&n.jsxs("div",{className:"mb-2",children:[n.jsx("h3",{className:"text-sm font-bold",children:r("result.translationTitle")}),n.jsx("p",{className:"text-xs",children:e})]}),t&&n.jsxs("div",{children:[n.jsx("h3",{className:"text-sm font-bold",children:r("result.nuanceTitle")}),n.jsx("p",{className:"text-xs",children:t})]})]})}function W({analysis:e}){return n.jsxs("div",{children:[e.ai_summary&&n.jsx(A,{summary:e.ai_summary}),n.jsxs("div",{className:"my-4 flex flex-col gap-4",children:[(e.translation||e.nuance_explanation)&&n.jsx($,{translation:e.translation,nuance:e.nuance_explanation}),e.price_analysis&&n.jsx(P,{data:e.price_analysis}),e.recommendation&&n.jsx(C,{recommendation:e.recommendation})]}),e.risk_signals.length>0&&n.jsx(g,{signals:e.risk_signals,variant:"error"}),e.cautions.length>0&&n.jsx(g,{signals:e.cautions,variant:"warning"}),e.safe_indicators.length>0&&n.jsx(g,{signals:e.safe_indicators,variant:"success"}),e.safety_checklist.length>0&&n.jsx(B,{items:e.safety_checklist})]})}var S={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},y=u.createContext&&u.createContext(S),K=["attr","size","title"];function U(e,t){if(e==null)return{};var r=V(e,t),s,l;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(l=0;l<i.length;l++)s=i[l],!(t.indexOf(s)>=0)&&Object.prototype.propertyIsEnumerable.call(e,s)&&(r[s]=e[s])}return r}function V(e,t){if(e==null)return{};var r={};for(var s in e)if(Object.prototype.hasOwnProperty.call(e,s)){if(t.indexOf(s)>=0)continue;r[s]=e[s]}return r}function p(){return p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(e[s]=r[s])}return e},p.apply(this,arguments)}function w(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),r.push.apply(r,s)}return r}function b(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?w(Object(r),!0).forEach(function(s){X(e,s,r[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):w(Object(r)).forEach(function(s){Object.defineProperty(e,s,Object.getOwnPropertyDescriptor(r,s))})}return e}function X(e,t,r){return t=G(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function G(e){var t=J(e,"string");return typeof t=="symbol"?t:t+""}function J(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var s=r.call(e,t);if(typeof s!="object")return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function z(e){return e&&e.map((t,r)=>u.createElement(t.tag,b({key:r},t.attr),z(t.child)))}function E(e){return t=>u.createElement(Q,p({attr:b({},e.attr)},t),z(e.child))}function Q(e){var t=r=>{var{attr:s,size:l,title:i}=e,x=U(e,K),f=l||r.size||"1em",o;return r.className&&(o=r.className),e.className&&(o=(o?o+" ":"")+e.className),u.createElement("svg",p({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},r.attr,s,x,{className:o,style:b(b({color:e.color||r.color},r.style),e.style),height:f,width:f,xmlns:"http://www.w3.org/2000/svg"}),i&&u.createElement("title",null,i),e.children)};return y!==void 0?u.createElement(y.Consumer,null,r=>t(r)):t(S)}function ee(e){return E({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M0 256C0 114.6 114.6 0 256 0S512 114.6 512 256s-114.6 256-256 256L37.1 512c-13.7 0-20.5-16.5-10.9-26.2L75 437C28.7 390.7 0 326.7 0 256zM349.6 153.6c23.6 0 42.7-19.1 42.7-42.7s-19.1-42.7-42.7-42.7c-20.6 0-37.8 14.6-41.8 34c-34.5 3.7-61.4 33-61.4 68.4l0 .2c-37.5 1.6-71.8 12.3-99 29.1c-10.1-7.8-22.8-12.5-36.5-12.5c-33 0-59.8 26.8-59.8 59.8c0 24 14.1 44.6 34.4 54.1c2 69.4 77.6 125.2 170.6 125.2s168.7-55.9 170.6-125.3c20.2-9.6 34.1-30.2 34.1-54c0-33-26.8-59.8-59.8-59.8c-13.7 0-26.3 4.6-36.4 12.4c-27.4-17-62.1-27.7-100-29.1l0-.2c0-25.4 18.9-46.5 43.4-49.9l0 0c4.4 18.8 21.3 32.8 41.5 32.8zM177.1 246.9c16.7 0 29.5 17.6 28.5 39.3s-13.5 29.6-30.3 29.6s-31.4-8.8-30.4-30.5s15.4-38.3 32.1-38.3zm190.1 38.3c1 21.7-13.7 30.5-30.4 30.5s-29.3-7.9-30.3-29.6c-1-21.7 11.8-39.3 28.5-39.3s31.2 16.6 32.1 38.3zm-48.1 56.7c-10.3 24.6-34.6 41.9-63 41.9s-52.7-17.3-63-41.9c-1.2-2.9 .8-6.2 3.9-6.5c18.4-1.9 38.3-2.9 59.1-2.9s40.7 1 59.1 2.9c3.1 .3 5.1 3.6 3.9 6.5z"},child:[]}]})(e)}function te(e){return E({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"},child:[]}]})(e)}function re({value:e,onChange:t,onSubmit:r,isLoading:s,error:l}){const{t:i}=m.useTranslation(d.TRADE_SAFETY_NS),x=s?n.jsx("span",{className:"loading loading-spinner loading-sm"}):i("hero.checkSafety"),f=s||!e.trim();return n.jsx("div",{className:"flex w-full flex-col items-center justify-center",children:n.jsxs("div",{className:"w-full lg:max-w-[720px]",children:[n.jsx("h1",{className:"mb-2 text-left text-3xl font-bold text-base-content sm:mb-8 sm:text-center sm:text-4xl md:mb-8",children:i("hero.title")}),n.jsx("p",{className:"mb-4 text-left text-sm text-base-content/70 sm:mb-8 sm:text-center sm:text-base md:mb-16",children:i("hero.subtitle")}),n.jsxs("div",{className:N("mb-4",!l&&"sm:mb-8 md:mb-12"),children:[n.jsxs("div",{className:"relative hidden lg:block",children:[n.jsx("input",{type:"text",className:"input input-bordered h-[72px] w-full pr-36 text-sm placeholder:text-base-300 focus:outline-none",placeholder:i("hero.placeholder"),"aria-label":i("hero.placeholder"),value:e,onChange:o=>t(o.target.value),disabled:s,onKeyDown:o=>{o.key==="Enter"&&!f&&r()}}),n.jsx("button",{className:"btn btn-neutral absolute right-2 top-1/2 h-[56px] min-h-0 -translate-y-1/2 !animate-none px-6 font-bold text-neutral-content",onClick:r,disabled:f,children:x})]}),n.jsx("div",{className:"block lg:hidden",children:n.jsxs("div",{className:"relative h-[400px] w-full overflow-hidden rounded-xl border border-base-300 bg-base-100",children:[!e&&n.jsx("div",{className:"pointer-events-none absolute inset-0 overflow-hidden p-5 pb-24 text-base text-base-300","aria-hidden":"true",children:n.jsxs("div",{className:"whitespace-pre-line leading-relaxed",children:[n.jsx("p",{className:"mb-4 text-base-300",children:i("hero.placeholder")}),i("hero.placeholderExample")]})}),n.jsx("div",{className:"absolute inset-0 overflow-hidden pb-24",children:n.jsx("textarea",{className:"textarea size-full resize-none overflow-auto bg-transparent p-4 leading-6 text-base-content focus:outline-none",value:e,"aria-label":i("hero.placeholder"),onChange:o=>t(o.target.value),disabled:s,placeholder:""})}),n.jsx("div",{className:"absolute inset-x-4 bottom-4 z-10",children:n.jsx("button",{className:"btn btn-neutral h-16 w-full text-base font-medium text-neutral-content",onClick:r,disabled:f,children:x})})]})})]}),l&&n.jsx("div",{className:"alert alert-error mb-6 flex items-center gap-2 text-sm",children:n.jsx("span",{children:l})}),n.jsx("p",{className:"mb-4 text-left text-xs text-base-content/60 sm:mb-8 sm:text-center md:mb-12",children:i("hero.disclaimer")}),n.jsxs("div",{className:"flex items-center justify-start gap-6 sm:justify-center",children:[n.jsx("a",{href:"https://x.com",target:"_blank",rel:"noopener noreferrer","aria-label":"X",children:n.jsx(te,{className:"size-6 text-base-content transition-colors hover:text-base-content/70"})}),n.jsx("a",{href:"https://reddit.com",target:"_blank",rel:"noopener noreferrer","aria-label":"Reddit",children:n.jsx(ee,{className:"size-6 text-base-content transition-colors hover:text-base-content/70"})})]})]})})}function ne({level:e,score:t}){const{t:r}=m.useTranslation(d.TRADE_SAFETY_NS);return n.jsxs("div",{className:"mb-4 rounded-lg",children:[n.jsx("h1",{className:"mb-2 text-3xl font-bold",children:r(`result.safetyLevel.${e}.title`)}),n.jsx("p",{className:"mt-2 text-sm text-neutral",children:r(`result.safetyLevel.${e}.description`,{score:t})})]})}const v={safe:70,caution:40},se=e=>e>=v.safe?"safe":e>=v.caution?"caution":"danger",j=a.z.object({category:a.z.enum(["payment","seller","platform","price","content"]),severity:a.z.enum(["high","medium","low"]),title:a.z.string(),description:a.z.string(),what_to_do:a.z.string()}),ae=a.z.object({market_price_range:a.z.string().nullish(),offered_price:a.z.number().nullish(),currency:a.z.string().nullish(),price_assessment:a.z.string(),warnings:a.z.array(a.z.string())}),le=a.z.object({ai_summary:a.z.string(),translation:a.z.string().nullish(),nuance_explanation:a.z.string().nullish(),risk_signals:a.z.array(j),cautions:a.z.array(j),safe_indicators:a.z.array(j),price_analysis:ae,safety_checklist:a.z.array(a.z.string()),safe_score:a.z.number(),recommendation:a.z.string(),emotional_support:a.z.string()}),ie=a.z.object({id:a.z.string(),user_id:a.z.string().nullish(),input_text:a.z.string(),llm_analysis:le,safe_score:a.z.number(),expert_advice:a.z.string().nullish(),expert_reviewed:a.z.boolean(),expert_reviewed_at:a.z.string().nullish(),expert_reviewed_by:a.z.string().nullish(),created_at:a.z.string(),updated_at:a.z.string()}),ce=a.z.enum(["twitter"]),oe=a.z.object({platform:ce,author:a.z.string(),created_at:a.z.string().nullish(),text:a.z.string(),text_preview:a.z.string(),images:a.z.array(a.z.string())}),de=a.z.object({data:oe});class ue extends T.BaseCrudRepository{constructor(){super(...arguments),this.resource="trade-safety"}getDataSchema(){return ie}async fetchPreview(t,r){const s=`${this.apiService.buildUrl(this.resource)}/preview`,l=await this.apiService.request(s,{...r,method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:t})});return this.validateResponse(l,de).data}}exports.TRADE_SAFETY_NS=d.TRADE_SAFETY_NS;exports.tradeSafetyTranslations=d.tradeSafetyTranslations;exports.DetailedResult=W;exports.HomeHeroSection=re;exports.PageHeader=ne;exports.SAFETY_SCORE_THRESHOLDS=v;exports.TradeSafetyRepository=ue;exports.getSafetyLevel=se;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),E=require("react-i18next");require("i18next");require("i18next-resources-to-backend");const R=require("./locale.js"),N=require("react"),zt=require("@aioia/core"),c=require("zod");function Pt(t){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const a in t)if(a!=="default"){const o=Object.getOwnPropertyDescriptor(t,a);Object.defineProperty(r,a,o.get?o:{enumerable:!0,get:()=>t[a]})}}return r.default=t,Object.freeze(r)}const D=Pt(N);function Dt({title:t,titleId:r,...a},o){return D.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:o,"aria-labelledby":r},a),t?D.createElement("title",{id:r},t):null,D.createElement("path",{fillRule:"evenodd",d:"M2.625 6.75a1.125 1.125 0 1 1 2.25 0 1.125 1.125 0 0 1-2.25 0Zm4.875 0A.75.75 0 0 1 8.25 6h12a.75.75 0 0 1 0 1.5h-12a.75.75 0 0 1-.75-.75ZM2.625 12a1.125 1.125 0 1 1 2.25 0 1.125 1.125 0 0 1-2.25 0ZM7.5 12a.75.75 0 0 1 .75-.75h12a.75.75 0 0 1 0 1.5h-12A.75.75 0 0 1 7.5 12Zm-4.875 5.25a1.125 1.125 0 1 1 2.25 0 1.125 1.125 0 0 1-2.25 0Zm4.875 0a.75.75 0 0 1 .75-.75h12a.75.75 0 0 1 0 1.5h-12a.75.75 0 0 1-.75-.75Z",clipRule:"evenodd"}))}const At=D.forwardRef(Dt);function Ct({title:t,titleId:r,...a},o){return D.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:o,"aria-labelledby":r},a),t?D.createElement("title",{id:r},t):null,D.createElement("path",{fillRule:"evenodd",d:"M9 4.5a.75.75 0 0 1 .721.544l.813 2.846a3.75 3.75 0 0 0 2.576 2.576l2.846.813a.75.75 0 0 1 0 1.442l-2.846.813a3.75 3.75 0 0 0-2.576 2.576l-.813 2.846a.75.75 0 0 1-1.442 0l-.813-2.846a3.75 3.75 0 0 0-2.576-2.576l-2.846-.813a.75.75 0 0 1 0-1.442l2.846-.813A3.75 3.75 0 0 0 7.466 7.89l.813-2.846A.75.75 0 0 1 9 4.5ZM18 1.5a.75.75 0 0 1 .728.568l.258 1.036c.236.94.97 1.674 1.91 1.91l1.036.258a.75.75 0 0 1 0 1.456l-1.036.258c-.94.236-1.674.97-1.91 1.91l-.258 1.036a.75.75 0 0 1-1.456 0l-.258-1.036a2.625 2.625 0 0 0-1.91-1.91l-1.036-.258a.75.75 0 0 1 0-1.456l1.036-.258a2.625 2.625 0 0 0 1.91-1.91l.258-1.036A.75.75 0 0 1 18 1.5ZM16.5 15a.75.75 0 0 1 .712.513l.394 1.183c.15.447.5.799.948.948l1.183.395a.75.75 0 0 1 0 1.422l-1.183.395c-.447.15-.799.5-.948.948l-.395 1.183a.75.75 0 0 1-1.422 0l-.395-1.183a1.5 1.5 0 0 0-.948-.948l-1.183-.395a.75.75 0 0 1 0-1.422l1.183-.395c.447-.15.799-.5.948-.948l.395-1.183A.75.75 0 0 1 16.5 15Z",clipRule:"evenodd"}))}const Ft=D.forwardRef(Ct);function He(t){var r,a,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t)){var p=t.length;for(r=0;r<p;r++)t[r]&&(a=He(t[r]))&&(o&&(o+=" "),o+=a)}else for(a in t)t[a]&&(o&&(o+=" "),o+=a);return o}function V(){for(var t,r,a=0,o="",p=arguments.length;a<p;a++)(t=arguments[a])&&(r=He(t))&&(o&&(o+=" "),o+=r);return o}const $t={danger:"bg-error/10 text-error",caution:"bg-error/10 text-error",safe:"bg-neutral/10 text-neutral"},Lt={danger:"result.danger.badge",caution:"result.caution.badge",safe:"result.safe.badge"},It={sm:"text-xl font-bold",lg:"text-2xl font-bold"};function q({badgeVariant:t,subtitle:r,icon:a,title:o,titleSize:p="lg",children:h}){const{t:j}=E.useTranslation(R.TRADE_SAFETY_NS);return s.jsxs("section",{className:"rounded-2xl bg-neutral-content p-6 shadow-sm",children:[s.jsxs("header",{className:"mb-4 flex flex-col items-start",children:[t&&s.jsx("div",{className:V("mb-2 rounded-full px-4 py-1 text-sm font-bold",$t[t]),children:j(Lt[t])}),r&&s.jsx("p",{className:"mb-1 break-keep text-lg font-medium text-neutral",children:r}),s.jsxs("div",{className:"flex items-center gap-2 text-neutral",children:[a&&s.jsx("span",{className:"text-base",children:a}),s.jsx("h2",{className:V("whitespace-pre-line break-keep sm:whitespace-normal",It[p]),children:o})]})]}),s.jsx("div",{children:h})]})}function Mt({summary:t}){const{t:r}=E.useTranslation(R.TRADE_SAFETY_NS);return t.length===0?null:s.jsx(q,{title:r("result.aiSummary"),icon:s.jsx(Ft,{className:"size-6"}),children:s.jsx("div",{children:t.map((a,o)=>s.jsx("p",{className:V("py-2 text-sm leading-relaxed text-neutral first:pt-0",o<t.length-1&&"border-b border-base-300"),children:a},`${a}-${o}`))})})}function F({title:t,content:r}){return s.jsxs("div",{className:"text-neutral",children:[s.jsx("h3",{className:"mb-1 break-keep text-lg font-semibold",children:t}),s.jsx("p",{className:"break-keep",children:r})]})}function Yt({data:t}){const{t:r,i18n:a}=E.useTranslation(R.TRADE_SAFETY_NS);return t?s.jsx(q,{subtitle:r("result.priceAnalysis.subtitle"),title:r("result.priceAnalysis.title"),children:s.jsxs("div",{className:"space-y-4",children:[t.market_price_range&&s.jsx(F,{title:r("result.marketPrice"),content:t.market_price_range}),t.offered_price&&s.jsx(F,{title:r("result.offeredPrice"),content:new Intl.NumberFormat(a.language,{style:"currency",currency:t.currency||"USD"}).format(t.offered_price)}),t.price_assessment&&s.jsx(F,{title:r("result.priceAssessment"),content:t.price_assessment})]})}):null}function Wt({items:t}){const{t:r}=E.useTranslation(R.TRADE_SAFETY_NS);return t.length===0?null:s.jsx(q,{icon:s.jsx(At,{className:"size-6"}),title:r("result.safetyChecklist"),titleSize:"sm",children:s.jsx("div",{className:"space-y-4",children:t.map((a,o)=>s.jsxs("label",{className:"label cursor-pointer gap-4 rounded-2xl bg-base-200 p-4",children:[s.jsx("span",{className:"label-text break-keep text-neutral",children:a}),s.jsx("input",{type:"checkbox",className:"checkbox checkbox-sm [--chkbg:theme(colors.neutral)] [--chkfg:theme(colors.neutral-content)]"})]},o))})})}const qt={danger:"result.danger.title",caution:"result.caution.title",safe:"result.safe.title"};function ie({signals:t,variant:r}){const{t:a}=E.useTranslation(R.TRADE_SAFETY_NS);return t.length===0?null:s.jsx(q,{badgeVariant:r,title:a(qt[r]),children:s.jsx("div",{className:"divide-y divide-base-300",children:t.map((o,p)=>s.jsxs("div",{className:"space-y-4 py-4 first:pt-0 last:pb-0",children:[s.jsx(F,{title:o.title,content:o.description}),s.jsx(F,{title:a("result.whatToDo"),content:o.what_to_do})]},p))})})}function Ht({translation:t,nuance:r}){const{t:a}=E.useTranslation(R.TRADE_SAFETY_NS);return s.jsx(q,{subtitle:a("result.translation.subtitle"),title:a("result.translation.title"),children:s.jsxs("div",{className:"space-y-4",children:[t&&s.jsx(F,{title:a("result.translation.label"),content:t}),r&&s.jsx(F,{title:a("result.nuance.label"),content:r})]})})}function Bt({analysis:t}){return s.jsxs("div",{className:"space-y-6",children:[t.ai_summary.length>0&&s.jsx(Mt,{summary:t.ai_summary}),t.risk_signals.length>0&&s.jsx(ie,{signals:t.risk_signals,variant:"danger"}),t.cautions.length>0&&s.jsx(ie,{signals:t.cautions,variant:"caution"}),t.safe_indicators.length>0&&s.jsx(ie,{signals:t.safe_indicators,variant:"safe"}),t.safety_checklist.length>0&&s.jsx(Wt,{items:t.safety_checklist}),(t.translation||t.nuance_explanation)&&s.jsx(Ht,{translation:t.translation,nuance:t.nuance_explanation}),t.price_analysis&&s.jsx(Yt,{data:t.price_analysis})]})}var Be={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},Le=N.createContext&&N.createContext(Be),Ut=["attr","size","title"];function Zt(t,r){if(t==null)return{};var a=Kt(t,r),o,p;if(Object.getOwnPropertySymbols){var h=Object.getOwnPropertySymbols(t);for(p=0;p<h.length;p++)o=h[p],!(r.indexOf(o)>=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(a[o]=t[o])}return a}function Kt(t,r){if(t==null)return{};var a={};for(var o in t)if(Object.prototype.hasOwnProperty.call(t,o)){if(r.indexOf(o)>=0)continue;a[o]=t[o]}return a}function X(){return X=Object.assign?Object.assign.bind():function(t){for(var r=1;r<arguments.length;r++){var a=arguments[r];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(t[o]=a[o])}return t},X.apply(this,arguments)}function Ie(t,r){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);r&&(o=o.filter(function(p){return Object.getOwnPropertyDescriptor(t,p).enumerable})),a.push.apply(a,o)}return a}function G(t){for(var r=1;r<arguments.length;r++){var a=arguments[r]!=null?arguments[r]:{};r%2?Ie(Object(a),!0).forEach(function(o){Jt(t,o,a[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):Ie(Object(a)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(a,o))})}return t}function Jt(t,r,a){return r=Vt(r),r in t?Object.defineProperty(t,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[r]=a,t}function Vt(t){var r=Xt(t,"string");return typeof r=="symbol"?r:r+""}function Xt(t,r){if(typeof t!="object"||!t)return t;var a=t[Symbol.toPrimitive];if(a!==void 0){var o=a.call(t,r);if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(t)}function Ue(t){return t&&t.map((r,a)=>N.createElement(r.tag,G({key:a},r.attr),Ue(r.child)))}function Ze(t){return r=>N.createElement(Gt,X({attr:G({},t.attr)},r),Ue(t.child))}function Gt(t){var r=a=>{var{attr:o,size:p,title:h}=t,j=Zt(t,Ut),v=p||a.size||"1em",d;return a.className&&(d=a.className),t.className&&(d=(d?d+" ":"")+t.className),N.createElement("svg",X({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},a.attr,o,j,{className:d,style:G(G({color:t.color||a.color},a.style),t.style),height:v,width:v,xmlns:"http://www.w3.org/2000/svg"}),h&&N.createElement("title",null,h),t.children)};return Le!==void 0?N.createElement(Le.Consumer,null,a=>r(a)):r(Be)}function Qt(t){return Ze({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M0 256C0 114.6 114.6 0 256 0S512 114.6 512 256s-114.6 256-256 256L37.1 512c-13.7 0-20.5-16.5-10.9-26.2L75 437C28.7 390.7 0 326.7 0 256zM349.6 153.6c23.6 0 42.7-19.1 42.7-42.7s-19.1-42.7-42.7-42.7c-20.6 0-37.8 14.6-41.8 34c-34.5 3.7-61.4 33-61.4 68.4l0 .2c-37.5 1.6-71.8 12.3-99 29.1c-10.1-7.8-22.8-12.5-36.5-12.5c-33 0-59.8 26.8-59.8 59.8c0 24 14.1 44.6 34.4 54.1c2 69.4 77.6 125.2 170.6 125.2s168.7-55.9 170.6-125.3c20.2-9.6 34.1-30.2 34.1-54c0-33-26.8-59.8-59.8-59.8c-13.7 0-26.3 4.6-36.4 12.4c-27.4-17-62.1-27.7-100-29.1l0-.2c0-25.4 18.9-46.5 43.4-49.9l0 0c4.4 18.8 21.3 32.8 41.5 32.8zM177.1 246.9c16.7 0 29.5 17.6 28.5 39.3s-13.5 29.6-30.3 29.6s-31.4-8.8-30.4-30.5s15.4-38.3 32.1-38.3zm190.1 38.3c1 21.7-13.7 30.5-30.4 30.5s-29.3-7.9-30.3-29.6c-1-21.7 11.8-39.3 28.5-39.3s31.2 16.6 32.1 38.3zm-48.1 56.7c-10.3 24.6-34.6 41.9-63 41.9s-52.7-17.3-63-41.9c-1.2-2.9 .8-6.2 3.9-6.5c18.4-1.9 38.3-2.9 59.1-2.9s40.7 1 59.1 2.9c3.1 .3 5.1 3.6 3.9 6.5z"},child:[]}]})(t)}function er(t){return Ze({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"},child:[]}]})(t)}function tr({value:t,onChange:r,onSubmit:a,isLoading:o,error:p}){const{t:h}=E.useTranslation(R.TRADE_SAFETY_NS),j=o?s.jsx("span",{className:"loading loading-spinner loading-sm"}):h("hero.checkSafety"),v=o||!t.trim();return s.jsx("div",{className:"flex w-full flex-col items-center justify-center",children:s.jsxs("div",{className:"w-full lg:max-w-[720px]",children:[s.jsx("h1",{className:"mb-2 text-left text-3xl font-bold text-base-content sm:mb-8 sm:text-center sm:text-4xl md:mb-8",children:h("hero.title")}),s.jsx("p",{className:"mb-4 text-left text-sm text-base-content/70 sm:mb-8 sm:text-center sm:text-base md:mb-16",children:h("hero.subtitle")}),s.jsxs("div",{className:V("mb-4",!p&&"sm:mb-8 md:mb-12"),children:[s.jsxs("div",{className:"relative hidden lg:block",children:[s.jsx("input",{type:"text",className:"input input-bordered h-[72px] w-full pr-36 text-sm placeholder:text-base-300 focus:outline-none",placeholder:h("hero.placeholder"),"aria-label":h("hero.placeholder"),value:t,onChange:d=>r(d.target.value),disabled:o,onKeyDown:d=>{d.key==="Enter"&&!v&&a()}}),s.jsx("button",{className:"btn btn-neutral absolute right-2 top-1/2 h-[56px] min-h-0 -translate-y-1/2 !animate-none px-6 font-bold text-neutral-content",onClick:a,disabled:v,children:j})]}),s.jsx("div",{className:"block lg:hidden",children:s.jsxs("div",{className:"relative h-[400px] w-full overflow-hidden rounded-xl border border-base-300 bg-base-100",children:[!t&&s.jsx("div",{className:"pointer-events-none absolute inset-0 overflow-hidden p-5 pb-24 text-base text-base-300","aria-hidden":"true",children:s.jsxs("div",{className:"whitespace-pre-line leading-relaxed",children:[s.jsx("p",{className:"mb-4 text-base-300",children:h("hero.placeholder")}),h("hero.placeholderExample")]})}),s.jsx("div",{className:"absolute inset-0 overflow-hidden pb-24",children:s.jsx("textarea",{className:"textarea size-full resize-none overflow-auto bg-transparent p-4 leading-6 text-base-content focus:outline-none",value:t,"aria-label":h("hero.placeholder"),onChange:d=>r(d.target.value),disabled:o,placeholder:""})}),s.jsx("div",{className:"absolute inset-x-4 bottom-4 z-10",children:s.jsx("button",{className:"btn btn-neutral h-16 w-full text-base font-medium text-neutral-content",onClick:a,disabled:v,children:j})})]})})]}),p&&s.jsx("div",{className:"alert alert-error mb-6 flex items-center gap-2 text-sm",children:s.jsx("span",{children:p})}),s.jsx("p",{className:"mb-4 text-left text-xs text-base-content/60 sm:mb-8 sm:text-center md:mb-12",children:h("hero.disclaimer")}),s.jsxs("div",{className:"flex items-center justify-start gap-6 sm:justify-center",children:[s.jsx("a",{href:"https://x.com",target:"_blank",rel:"noopener noreferrer","aria-label":"X",children:s.jsx(er,{className:"size-6 text-base-content transition-colors hover:text-base-content/70"})}),s.jsx("a",{href:"https://reddit.com",target:"_blank",rel:"noopener noreferrer","aria-label":"Reddit",children:s.jsx(Qt,{className:"size-6 text-base-content transition-colors hover:text-base-content/70"})})]})]})})}var le={exports:{}},W={},Me;function rr(){if(Me)return W;Me=1;var t=N,r=Symbol.for("react.element"),a=Symbol.for("react.fragment"),o=Object.prototype.hasOwnProperty,p=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,h={key:!0,ref:!0,__self:!0,__source:!0};function j(v,d,z){var x,w={},T=null,H=null;z!==void 0&&(T=""+z),d.key!==void 0&&(T=""+d.key),d.ref!==void 0&&(H=d.ref);for(x in d)o.call(d,x)&&!h.hasOwnProperty(x)&&(w[x]=d[x]);if(v&&v.defaultProps)for(x in d=v.defaultProps,d)w[x]===void 0&&(w[x]=d[x]);return{$$typeof:r,type:v,key:T,ref:H,props:w,_owner:p.current}}return W.Fragment=a,W.jsx=j,W.jsxs=j,W}var J={},Ye;function nr(){return Ye||(Ye=1,process.env.NODE_ENV!=="production"&&(function(){var t=N,r=Symbol.for("react.element"),a=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),p=Symbol.for("react.strict_mode"),h=Symbol.for("react.profiler"),j=Symbol.for("react.provider"),v=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),z=Symbol.for("react.suspense"),x=Symbol.for("react.suspense_list"),w=Symbol.for("react.memo"),T=Symbol.for("react.lazy"),H=Symbol.for("react.offscreen"),pe=Symbol.iterator,Ke="@@iterator";function Je(e){if(e===null||typeof e!="object")return null;var n=pe&&e[pe]||e[Ke];return typeof n=="function"?n:null}var $=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function _(e){{for(var n=arguments.length,i=new Array(n>1?n-1:0),l=1;l<n;l++)i[l-1]=arguments[l];Ve("error",e,i)}}function Ve(e,n,i){{var l=$.ReactDebugCurrentFrame,m=l.getStackAddendum();m!==""&&(n+="%s",i=i.concat([m]));var y=i.map(function(f){return String(f)});y.unshift("Warning: "+n),Function.prototype.apply.call(console[e],console,y)}}var Xe=!1,Ge=!1,Qe=!1,et=!1,tt=!1,de;de=Symbol.for("react.module.reference");function rt(e){return!!(typeof e=="string"||typeof e=="function"||e===o||e===h||tt||e===p||e===z||e===x||et||e===H||Xe||Ge||Qe||typeof e=="object"&&e!==null&&(e.$$typeof===T||e.$$typeof===w||e.$$typeof===j||e.$$typeof===v||e.$$typeof===d||e.$$typeof===de||e.getModuleId!==void 0))}function nt(e,n,i){var l=e.displayName;if(l)return l;var m=n.displayName||n.name||"";return m!==""?i+"("+m+")":i}function me(e){return e.displayName||"Context"}function P(e){if(e==null)return null;if(typeof e.tag=="number"&&_("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case o:return"Fragment";case a:return"Portal";case h:return"Profiler";case p:return"StrictMode";case z:return"Suspense";case x:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case v:var n=e;return me(n)+".Consumer";case j:var i=e;return me(i._context)+".Provider";case d:return nt(e,e.render,"ForwardRef");case w:var l=e.displayName||null;return l!==null?l:P(e.type)||"Memo";case T:{var m=e,y=m._payload,f=m._init;try{return P(f(y))}catch{return null}}}return null}var A=Object.assign,M=0,ye,he,be,ge,ve,xe,je;function _e(){}_e.__reactDisabledLog=!0;function at(){{if(M===0){ye=console.log,he=console.info,be=console.warn,ge=console.error,ve=console.group,xe=console.groupCollapsed,je=console.groupEnd;var e={configurable:!0,enumerable:!0,value:_e,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}M++}}function st(){{if(M--,M===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:A({},e,{value:ye}),info:A({},e,{value:he}),warn:A({},e,{value:be}),error:A({},e,{value:ge}),group:A({},e,{value:ve}),groupCollapsed:A({},e,{value:xe}),groupEnd:A({},e,{value:je})})}M<0&&_("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var Q=$.ReactCurrentDispatcher,ee;function B(e,n,i){{if(ee===void 0)try{throw Error()}catch(m){var l=m.stack.trim().match(/\n( *(at )?)/);ee=l&&l[1]||""}return`
|
|
2
|
+
`+ee+e}}var te=!1,U;{var ot=typeof WeakMap=="function"?WeakMap:Map;U=new ot}function Se(e,n){if(!e||te)return"";{var i=U.get(e);if(i!==void 0)return i}var l;te=!0;var m=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var y;y=Q.current,Q.current=null,at();try{if(n){var f=function(){throw Error()};if(Object.defineProperty(f.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(f,[])}catch(k){l=k}Reflect.construct(e,[],f)}else{try{f.call()}catch(k){l=k}e.call(f.prototype)}}else{try{throw Error()}catch(k){l=k}e()}}catch(k){if(k&&l&&typeof k.stack=="string"){for(var u=k.stack.split(`
|
|
3
|
+
`),S=l.stack.split(`
|
|
4
|
+
`),b=u.length-1,g=S.length-1;b>=1&&g>=0&&u[b]!==S[g];)g--;for(;b>=1&&g>=0;b--,g--)if(u[b]!==S[g]){if(b!==1||g!==1)do if(b--,g--,g<0||u[b]!==S[g]){var O=`
|
|
5
|
+
`+u[b].replace(" at new "," at ");return e.displayName&&O.includes("<anonymous>")&&(O=O.replace("<anonymous>",e.displayName)),typeof e=="function"&&U.set(e,O),O}while(b>=1&&g>=0);break}}}finally{te=!1,Q.current=y,st(),Error.prepareStackTrace=m}var I=e?e.displayName||e.name:"",C=I?B(I):"";return typeof e=="function"&&U.set(e,C),C}function it(e,n,i){return Se(e,!1)}function lt(e){var n=e.prototype;return!!(n&&n.isReactComponent)}function Z(e,n,i){if(e==null)return"";if(typeof e=="function")return Se(e,lt(e));if(typeof e=="string")return B(e);switch(e){case z:return B("Suspense");case x:return B("SuspenseList")}if(typeof e=="object")switch(e.$$typeof){case d:return it(e.render);case w:return Z(e.type,n,i);case T:{var l=e,m=l._payload,y=l._init;try{return Z(y(m),n,i)}catch{}}}return""}var Y=Object.prototype.hasOwnProperty,we={},ke=$.ReactDebugCurrentFrame;function K(e){if(e){var n=e._owner,i=Z(e.type,e._source,n?n.type:null);ke.setExtraStackFrame(i)}else ke.setExtraStackFrame(null)}function ct(e,n,i,l,m){{var y=Function.call.bind(Y);for(var f in e)if(y(e,f)){var u=void 0;try{if(typeof e[f]!="function"){var S=Error((l||"React class")+": "+i+" type `"+f+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[f]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw S.name="Invariant Violation",S}u=e[f](n,f,l,i,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(b){u=b}u&&!(u instanceof Error)&&(K(m),_("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",l||"React class",i,f,typeof u),K(null)),u instanceof Error&&!(u.message in we)&&(we[u.message]=!0,K(m),_("Failed %s type: %s",i,u.message),K(null))}}}var ut=Array.isArray;function re(e){return ut(e)}function ft(e){{var n=typeof Symbol=="function"&&Symbol.toStringTag,i=n&&e[Symbol.toStringTag]||e.constructor.name||"Object";return i}}function pt(e){try{return Ne(e),!1}catch{return!0}}function Ne(e){return""+e}function Oe(e){if(pt(e))return _("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",ft(e)),Ne(e)}var Ee=$.ReactCurrentOwner,dt={key:!0,ref:!0,__self:!0,__source:!0},Re,Te;function mt(e){if(Y.call(e,"ref")){var n=Object.getOwnPropertyDescriptor(e,"ref").get;if(n&&n.isReactWarning)return!1}return e.ref!==void 0}function yt(e){if(Y.call(e,"key")){var n=Object.getOwnPropertyDescriptor(e,"key").get;if(n&&n.isReactWarning)return!1}return e.key!==void 0}function ht(e,n){typeof e.ref=="string"&&Ee.current}function bt(e,n){{var i=function(){Re||(Re=!0,_("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",n))};i.isReactWarning=!0,Object.defineProperty(e,"key",{get:i,configurable:!0})}}function gt(e,n){{var i=function(){Te||(Te=!0,_("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",n))};i.isReactWarning=!0,Object.defineProperty(e,"ref",{get:i,configurable:!0})}}var vt=function(e,n,i,l,m,y,f){var u={$$typeof:r,type:e,key:n,ref:i,props:f,_owner:y};return u._store={},Object.defineProperty(u._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(u,"_self",{configurable:!1,enumerable:!1,writable:!1,value:l}),Object.defineProperty(u,"_source",{configurable:!1,enumerable:!1,writable:!1,value:m}),Object.freeze&&(Object.freeze(u.props),Object.freeze(u)),u};function xt(e,n,i,l,m){{var y,f={},u=null,S=null;i!==void 0&&(Oe(i),u=""+i),yt(n)&&(Oe(n.key),u=""+n.key),mt(n)&&(S=n.ref,ht(n));for(y in n)Y.call(n,y)&&!dt.hasOwnProperty(y)&&(f[y]=n[y]);if(e&&e.defaultProps){var b=e.defaultProps;for(y in b)f[y]===void 0&&(f[y]=b[y])}if(u||S){var g=typeof e=="function"?e.displayName||e.name||"Unknown":e;u&&bt(f,g),S&>(f,g)}return vt(e,u,S,m,l,Ee.current,f)}}var ne=$.ReactCurrentOwner,ze=$.ReactDebugCurrentFrame;function L(e){if(e){var n=e._owner,i=Z(e.type,e._source,n?n.type:null);ze.setExtraStackFrame(i)}else ze.setExtraStackFrame(null)}var ae;ae=!1;function se(e){return typeof e=="object"&&e!==null&&e.$$typeof===r}function Pe(){{if(ne.current){var e=P(ne.current.type);if(e)return`
|
|
6
|
+
|
|
7
|
+
Check the render method of \``+e+"`."}return""}}function jt(e){return""}var De={};function _t(e){{var n=Pe();if(!n){var i=typeof e=="string"?e:e.displayName||e.name;i&&(n=`
|
|
8
|
+
|
|
9
|
+
Check the top-level render call using <`+i+">.")}return n}}function Ae(e,n){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var i=_t(n);if(De[i])return;De[i]=!0;var l="";e&&e._owner&&e._owner!==ne.current&&(l=" It was passed a child from "+P(e._owner.type)+"."),L(e),_('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',i,l),L(null)}}function Ce(e,n){{if(typeof e!="object")return;if(re(e))for(var i=0;i<e.length;i++){var l=e[i];se(l)&&Ae(l,n)}else if(se(e))e._store&&(e._store.validated=!0);else if(e){var m=Je(e);if(typeof m=="function"&&m!==e.entries)for(var y=m.call(e),f;!(f=y.next()).done;)se(f.value)&&Ae(f.value,n)}}}function St(e){{var n=e.type;if(n==null||typeof n=="string")return;var i;if(typeof n=="function")i=n.propTypes;else if(typeof n=="object"&&(n.$$typeof===d||n.$$typeof===w))i=n.propTypes;else return;if(i){var l=P(n);ct(i,e.props,"prop",l,e)}else if(n.PropTypes!==void 0&&!ae){ae=!0;var m=P(n);_("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",m||"Unknown")}typeof n.getDefaultProps=="function"&&!n.getDefaultProps.isReactClassApproved&&_("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function wt(e){{for(var n=Object.keys(e.props),i=0;i<n.length;i++){var l=n[i];if(l!=="children"&&l!=="key"){L(e),_("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",l),L(null);break}}e.ref!==null&&(L(e),_("Invalid attribute `ref` supplied to `React.Fragment`."),L(null))}}var Fe={};function $e(e,n,i,l,m,y){{var f=rt(e);if(!f){var u="";(e===void 0||typeof e=="object"&&e!==null&&Object.keys(e).length===0)&&(u+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var S=jt();S?u+=S:u+=Pe();var b;e===null?b="null":re(e)?b="array":e!==void 0&&e.$$typeof===r?(b="<"+(P(e.type)||"Unknown")+" />",u=" Did you accidentally export a JSX literal instead of a component?"):b=typeof e,_("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",b,u)}var g=xt(e,n,i,m,y);if(g==null)return g;if(f){var O=n.children;if(O!==void 0)if(l)if(re(O)){for(var I=0;I<O.length;I++)Ce(O[I],e);Object.freeze&&Object.freeze(O)}else _("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else Ce(O,e)}if(Y.call(n,"key")){var C=P(e),k=Object.keys(n).filter(function(Tt){return Tt!=="key"}),oe=k.length>0?"{key: someKey, "+k.join(": ..., ")+": ...}":"{key: someKey}";if(!Fe[C+oe]){var Rt=k.length>0?"{"+k.join(": ..., ")+": ...}":"{}";_(`A props object containing a "key" prop is being spread into JSX:
|
|
10
|
+
let props = %s;
|
|
11
|
+
<%s {...props} />
|
|
12
|
+
React keys must be passed directly to JSX without using spread:
|
|
13
|
+
let props = %s;
|
|
14
|
+
<%s key={someKey} {...props} />`,oe,C,Rt,C),Fe[C+oe]=!0}}return e===o?wt(g):St(g),g}}function kt(e,n,i){return $e(e,n,i,!0)}function Nt(e,n,i){return $e(e,n,i,!1)}var Ot=Nt,Et=kt;J.Fragment=o,J.jsx=Ot,J.jsxs=Et})()),J}var We;function ar(){return We||(We=1,process.env.NODE_ENV==="production"?le.exports=rr():le.exports=nr()),le.exports}var qe=ar();function sr({src:t,autoplay:r,loop:a=!0,...o}){const[p,h]=N.useState(!1),[j,v]=N.useState(null),[d,z]=N.useState(!1);return N.useEffect(()=>{let x=!0;return h(!0),Promise.all([Promise.resolve().then(()=>require("./lottie-react.esm-Bv7L41xK.js")),Promise.resolve().then(()=>require("./isChromatic-5i32AXac-BWePUv7P.js"))]).then(([{Player:w},{default:T}])=>{x&&(v(()=>w),z(T()))}).catch(w=>{throw console.error("[LottiePlayer] Failed to load dependencies:",w),w}),()=>{x=!1}},[]),!p||!j?qe.jsx("div",{...o}):qe.jsx(j,{src:t,loop:a,autoplay:r!==void 0?r:!d,...o})}const or={danger:{lottie:"https://fonts.gstatic.com/s/e/notoemoji/latest/1f6a8/lottie.json",webp:"https://fonts.gstatic.com/s/e/notoemoji/latest/1f6a8/512.webp",gif:"https://fonts.gstatic.com/s/e/notoemoji/latest/1f6a8/512.gif",alt:"🚨"},caution:{lottie:"https://fonts.gstatic.com/s/e/notoemoji/latest/26a0_fe0f/lottie.json",webp:"https://fonts.gstatic.com/s/e/notoemoji/latest/26a0_fe0f/512.webp",gif:"https://fonts.gstatic.com/s/e/notoemoji/latest/26a0_fe0f/512.gif",alt:"⚠️"},safe:{lottie:"https://fonts.gstatic.com/s/e/notoemoji/latest/2705/lottie.json",webp:"https://fonts.gstatic.com/s/e/notoemoji/latest/2705/512.webp",gif:"https://fonts.gstatic.com/s/e/notoemoji/latest/2705/512.gif",alt:"✅"}},ce={danger:"font-bold text-error",caution:"font-bold text-warning",safe:"font-bold text-success"};function ir({level:t,score:r}){const{t:a}=E.useTranslation(R.TRADE_SAFETY_NS),o=or[t];return s.jsxs("div",{className:"mb-8 flex flex-col items-center text-center",children:[s.jsx("div",{className:"mb-5 rounded-full bg-neutral/75 px-4 py-1.5",children:s.jsx("span",{className:"text-sm font-medium text-neutral-content",children:a(`result.safetyLevel.${t}.badge`)})}),s.jsx("h1",{className:"mb-9 break-keep text-4xl font-bold leading-tight text-base-content",children:s.jsx(E.Trans,{t:a,i18nKey:`result.safetyLevel.${t}.title`,components:[s.jsx("strong",{className:ce[t]},"0")]})}),s.jsx("div",{className:"mb-9 flex size-32 items-center justify-center",children:s.jsx(sr,{src:o.lottie,autoplay:!0,loop:!0,className:"size-full"})}),s.jsx("p",{className:"max-w-md break-keep text-xl leading-relaxed text-base-content",children:s.jsx(E.Trans,{t:a,i18nKey:`result.safetyLevel.${t}.description`,values:{score:r},components:[s.jsx("strong",{className:ce[t]},"0"),s.jsx("strong",{className:ce[t]},"1")]})})]})}const fe={safe:70,caution:40},lr=t=>t>=fe.safe?"safe":t>=fe.caution?"caution":"danger",ue=c.z.object({category:c.z.enum(["payment","seller","platform","price","content"]),severity:c.z.enum(["high","medium","low"]),title:c.z.string(),description:c.z.string(),what_to_do:c.z.string()}),cr=c.z.object({market_price_range:c.z.string().nullish(),offered_price:c.z.number().nullish(),currency:c.z.string().nullish(),price_assessment:c.z.string(),warnings:c.z.array(c.z.string())}),ur=c.z.object({ai_summary:c.z.array(c.z.string()),translation:c.z.string().nullish(),nuance_explanation:c.z.string().nullish(),risk_signals:c.z.array(ue),cautions:c.z.array(ue),safe_indicators:c.z.array(ue),price_analysis:cr,safety_checklist:c.z.array(c.z.string()),safe_score:c.z.number(),recommendation:c.z.string(),emotional_support:c.z.string()}),fr=c.z.object({id:c.z.string(),user_id:c.z.string().nullish(),input_text:c.z.string(),llm_analysis:ur,safe_score:c.z.number(),expert_advice:c.z.string().nullish(),expert_reviewed:c.z.boolean(),expert_reviewed_at:c.z.string().nullish(),expert_reviewed_by:c.z.string().nullish(),created_at:c.z.string(),updated_at:c.z.string()}),pr=c.z.enum(["twitter"]),dr=c.z.object({platform:pr,author:c.z.string(),created_at:c.z.string().nullish(),text:c.z.string(),text_preview:c.z.string(),images:c.z.array(c.z.string())}),mr=c.z.object({data:dr});class yr extends zt.BaseCrudRepository{constructor(){super(...arguments),this.resource="trade-safety"}getDataSchema(){return fr}async fetchPreview(r,a){const o=`${this.apiService.buildUrl(this.resource)}/preview`,p=await this.apiService.request(o,{...a,method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:r})});return this.validateResponse(p,mr).data}}exports.TRADE_SAFETY_NS=R.TRADE_SAFETY_NS;exports.tradeSafetyTranslations=R.tradeSafetyTranslations;exports.DetailedResult=Bt;exports.HomeHeroSection=tr;exports.PageHeader=ir;exports.SAFETY_SCORE_THRESHOLDS=fe;exports.TradeSafetyRepository=yr;exports.getSafetyLevel=lr;
|
|
2
15
|
//# sourceMappingURL=index.js.map
|