trade-safety 0.1.3 → 0.2.1

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/index.mjs CHANGED
@@ -1,321 +1,335 @@
1
1
  import { jsx as a, jsxs as r } from "react/jsx-runtime";
2
2
  import { motion as c } from "framer-motion";
3
3
  import { useTranslation as o } from "react-i18next";
4
- import * as n from "react";
5
- import h from "next/link";
6
- import { BaseCrudRepository as v } from "@aioia/core";
4
+ import * as s from "react";
5
+ import f from "next/link";
6
+ import { BaseCrudRepository as y } from "@aioia/core";
7
7
  import { z as l } from "zod";
8
- function b({
8
+ function x({
9
9
  title: e,
10
10
  titleId: t,
11
11
  ...i
12
- }, s) {
13
- return /* @__PURE__ */ n.createElement("svg", Object.assign({
12
+ }, n) {
13
+ return /* @__PURE__ */ s.createElement("svg", Object.assign({
14
14
  xmlns: "http://www.w3.org/2000/svg",
15
15
  viewBox: "0 0 24 24",
16
16
  fill: "currentColor",
17
17
  "aria-hidden": "true",
18
18
  "data-slot": "icon",
19
- ref: s,
19
+ ref: n,
20
20
  "aria-labelledby": t
21
- }, i), e ? /* @__PURE__ */ n.createElement("title", {
21
+ }, i), e ? /* @__PURE__ */ s.createElement("title", {
22
22
  id: t
23
- }, e) : null, /* @__PURE__ */ n.createElement("path", {
23
+ }, e) : null, /* @__PURE__ */ s.createElement("path", {
24
24
  fillRule: "evenodd",
25
25
  d: "M4.804 21.644A6.707 6.707 0 0 0 6 21.75a6.721 6.721 0 0 0 3.583-1.029c.774.182 1.584.279 2.417.279 5.322 0 9.75-3.97 9.75-9 0-5.03-4.428-9-9.75-9s-9.75 3.97-9.75 9c0 2.409 1.025 4.587 2.674 6.192.232.226.277.428.254.543a3.73 3.73 0 0 1-.814 1.686.75.75 0 0 0 .44 1.223ZM8.25 10.875a1.125 1.125 0 1 0 0 2.25 1.125 1.125 0 0 0 0-2.25ZM10.875 12a1.125 1.125 0 1 1 2.25 0 1.125 1.125 0 0 1-2.25 0Zm4.875-1.125a1.125 1.125 0 1 0 0 2.25 1.125 1.125 0 0 0 0-2.25Z",
26
26
  clipRule: "evenodd"
27
27
  }));
28
28
  }
29
- const y = /* @__PURE__ */ n.forwardRef(b);
30
- function x({
29
+ const w = /* @__PURE__ */ s.forwardRef(x);
30
+ function k({
31
31
  title: e,
32
32
  titleId: t,
33
33
  ...i
34
- }, s) {
35
- return /* @__PURE__ */ n.createElement("svg", Object.assign({
34
+ }, n) {
35
+ return /* @__PURE__ */ s.createElement("svg", Object.assign({
36
36
  xmlns: "http://www.w3.org/2000/svg",
37
37
  viewBox: "0 0 24 24",
38
38
  fill: "currentColor",
39
39
  "aria-hidden": "true",
40
40
  "data-slot": "icon",
41
- ref: s,
41
+ ref: n,
42
42
  "aria-labelledby": t
43
- }, i), e ? /* @__PURE__ */ n.createElement("title", {
43
+ }, i), e ? /* @__PURE__ */ s.createElement("title", {
44
44
  id: t
45
- }, e) : null, /* @__PURE__ */ n.createElement("path", {
45
+ }, e) : null, /* @__PURE__ */ s.createElement("path", {
46
46
  fillRule: "evenodd",
47
47
  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",
48
48
  clipRule: "evenodd"
49
49
  }));
50
50
  }
51
- const w = /* @__PURE__ */ n.forwardRef(x);
52
- function k({
51
+ const A = /* @__PURE__ */ s.forwardRef(k);
52
+ function S({
53
53
  title: e,
54
54
  titleId: t,
55
55
  ...i
56
- }, s) {
57
- return /* @__PURE__ */ n.createElement("svg", Object.assign({
56
+ }, n) {
57
+ return /* @__PURE__ */ s.createElement("svg", Object.assign({
58
58
  xmlns: "http://www.w3.org/2000/svg",
59
59
  viewBox: "0 0 24 24",
60
60
  fill: "currentColor",
61
61
  "aria-hidden": "true",
62
62
  "data-slot": "icon",
63
- ref: s,
63
+ ref: n,
64
64
  "aria-labelledby": t
65
- }, i), e ? /* @__PURE__ */ n.createElement("title", {
65
+ }, i), e ? /* @__PURE__ */ s.createElement("title", {
66
66
  id: t
67
- }, e) : null, /* @__PURE__ */ n.createElement("path", {
67
+ }, e) : null, /* @__PURE__ */ s.createElement("path", {
68
68
  fillRule: "evenodd",
69
69
  d: "M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm13.36-1.814a.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",
70
70
  clipRule: "evenodd"
71
71
  }));
72
72
  }
73
- const A = /* @__PURE__ */ n.forwardRef(k);
74
- function S({
73
+ const N = /* @__PURE__ */ s.forwardRef(S);
74
+ function R({
75
75
  title: e,
76
76
  titleId: t,
77
77
  ...i
78
- }, s) {
79
- return /* @__PURE__ */ n.createElement("svg", Object.assign({
78
+ }, n) {
79
+ return /* @__PURE__ */ s.createElement("svg", Object.assign({
80
80
  xmlns: "http://www.w3.org/2000/svg",
81
81
  viewBox: "0 0 24 24",
82
82
  fill: "currentColor",
83
83
  "aria-hidden": "true",
84
84
  "data-slot": "icon",
85
- ref: s,
85
+ ref: n,
86
86
  "aria-labelledby": t
87
- }, i), e ? /* @__PURE__ */ n.createElement("title", {
87
+ }, i), e ? /* @__PURE__ */ s.createElement("title", {
88
88
  id: t
89
- }, e) : null, /* @__PURE__ */ n.createElement("path", {
89
+ }, e) : null, /* @__PURE__ */ s.createElement("path", {
90
90
  fillRule: "evenodd",
91
91
  d: "M7.502 6h7.128A3.375 3.375 0 0 1 18 9.375v9.375a3 3 0 0 0 3-3V6.108c0-1.505-1.125-2.811-2.664-2.94a48.972 48.972 0 0 0-.673-.05A3 3 0 0 0 15 1.5h-1.5a3 3 0 0 0-2.663 1.618c-.225.015-.45.032-.673.05C8.662 3.295 7.554 4.542 7.502 6ZM13.5 3A1.5 1.5 0 0 0 12 4.5h4.5A1.5 1.5 0 0 0 15 3h-1.5Z",
92
92
  clipRule: "evenodd"
93
- }), /* @__PURE__ */ n.createElement("path", {
93
+ }), /* @__PURE__ */ s.createElement("path", {
94
94
  fillRule: "evenodd",
95
95
  d: "M3 9.375C3 8.339 3.84 7.5 4.875 7.5h9.75c1.036 0 1.875.84 1.875 1.875v11.25c0 1.035-.84 1.875-1.875 1.875h-9.75A1.875 1.875 0 0 1 3 20.625V9.375Zm9.586 4.594a.75.75 0 0 0-1.172-.938l-2.476 3.096-.908-.907a.75.75 0 0 0-1.06 1.06l1.5 1.5a.75.75 0 0 0 1.116-.062l3-3.75Z",
96
96
  clipRule: "evenodd"
97
97
  }));
98
98
  }
99
- const N = /* @__PURE__ */ n.forwardRef(S);
100
- function R({
99
+ const I = /* @__PURE__ */ s.forwardRef(R);
100
+ function T({
101
101
  title: e,
102
102
  titleId: t,
103
103
  ...i
104
- }, s) {
105
- return /* @__PURE__ */ n.createElement("svg", Object.assign({
104
+ }, n) {
105
+ return /* @__PURE__ */ s.createElement("svg", Object.assign({
106
106
  xmlns: "http://www.w3.org/2000/svg",
107
107
  viewBox: "0 0 24 24",
108
108
  fill: "currentColor",
109
109
  "aria-hidden": "true",
110
110
  "data-slot": "icon",
111
- ref: s,
111
+ ref: n,
112
112
  "aria-labelledby": t
113
- }, i), e ? /* @__PURE__ */ n.createElement("title", {
113
+ }, i), e ? /* @__PURE__ */ s.createElement("title", {
114
114
  id: t
115
- }, e) : null, /* @__PURE__ */ n.createElement("path", {
115
+ }, e) : null, /* @__PURE__ */ s.createElement("path", {
116
116
  d: "M10.464 8.746c.227-.18.497-.311.786-.394v2.795a2.252 2.252 0 0 1-.786-.393c-.394-.313-.546-.681-.546-1.004 0-.323.152-.691.546-1.004ZM12.75 15.662v-2.824c.347.085.664.228.921.421.427.32.579.686.579.991 0 .305-.152.671-.579.991a2.534 2.534 0 0 1-.921.42Z"
117
- }), /* @__PURE__ */ n.createElement("path", {
117
+ }), /* @__PURE__ */ s.createElement("path", {
118
118
  fillRule: "evenodd",
119
119
  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.25ZM12.75 6a.75.75 0 0 0-1.5 0v.816a3.836 3.836 0 0 0-1.72.756c-.712.566-1.112 1.35-1.112 2.178 0 .829.4 1.612 1.113 2.178.502.4 1.102.647 1.719.756v2.978a2.536 2.536 0 0 1-.921-.421l-.879-.66a.75.75 0 0 0-.9 1.2l.879.66c.533.4 1.169.645 1.821.75V18a.75.75 0 0 0 1.5 0v-.81a4.124 4.124 0 0 0 1.821-.749c.745-.559 1.179-1.344 1.179-2.191 0-.847-.434-1.632-1.179-2.191a4.122 4.122 0 0 0-1.821-.75V8.354c.29.082.559.213.786.393l.415.33a.75.75 0 0 0 .933-1.175l-.415-.33a3.836 3.836 0 0 0-1.719-.755V6Z",
120
120
  clipRule: "evenodd"
121
121
  }));
122
122
  }
123
- const I = /* @__PURE__ */ n.forwardRef(R);
124
- function T({
123
+ const C = /* @__PURE__ */ s.forwardRef(T);
124
+ function E({
125
125
  title: e,
126
126
  titleId: t,
127
127
  ...i
128
- }, s) {
129
- return /* @__PURE__ */ n.createElement("svg", Object.assign({
128
+ }, n) {
129
+ return /* @__PURE__ */ s.createElement("svg", Object.assign({
130
130
  xmlns: "http://www.w3.org/2000/svg",
131
131
  viewBox: "0 0 24 24",
132
132
  fill: "currentColor",
133
133
  "aria-hidden": "true",
134
134
  "data-slot": "icon",
135
- ref: s,
135
+ ref: n,
136
136
  "aria-labelledby": t
137
- }, i), e ? /* @__PURE__ */ n.createElement("title", {
137
+ }, i), e ? /* @__PURE__ */ s.createElement("title", {
138
138
  id: t
139
- }, e) : null, /* @__PURE__ */ n.createElement("path", {
139
+ }, e) : null, /* @__PURE__ */ s.createElement("path", {
140
140
  fillRule: "evenodd",
141
141
  d: "M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12ZM12 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",
142
142
  clipRule: "evenodd"
143
143
  }));
144
144
  }
145
- const C = /* @__PURE__ */ n.forwardRef(T);
146
- function E({
145
+ const D = /* @__PURE__ */ s.forwardRef(E);
146
+ function P({
147
147
  title: e,
148
148
  titleId: t,
149
149
  ...i
150
- }, s) {
151
- return /* @__PURE__ */ n.createElement("svg", Object.assign({
150
+ }, n) {
151
+ return /* @__PURE__ */ s.createElement("svg", Object.assign({
152
152
  xmlns: "http://www.w3.org/2000/svg",
153
153
  viewBox: "0 0 24 24",
154
154
  fill: "currentColor",
155
155
  "aria-hidden": "true",
156
156
  "data-slot": "icon",
157
- ref: s,
157
+ ref: n,
158
158
  "aria-labelledby": t
159
- }, i), e ? /* @__PURE__ */ n.createElement("title", {
159
+ }, i), e ? /* @__PURE__ */ s.createElement("title", {
160
160
  id: t
161
- }, e) : null, /* @__PURE__ */ n.createElement("path", {
161
+ }, e) : null, /* @__PURE__ */ s.createElement("path", {
162
162
  fillRule: "evenodd",
163
163
  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",
164
164
  clipRule: "evenodd"
165
165
  }));
166
166
  }
167
- const p = /* @__PURE__ */ n.forwardRef(E);
168
- function D({
167
+ const u = /* @__PURE__ */ s.forwardRef(P);
168
+ function _({
169
169
  title: e,
170
170
  titleId: t,
171
171
  ...i
172
- }, s) {
173
- return /* @__PURE__ */ n.createElement("svg", Object.assign({
172
+ }, n) {
173
+ return /* @__PURE__ */ s.createElement("svg", Object.assign({
174
174
  xmlns: "http://www.w3.org/2000/svg",
175
175
  viewBox: "0 0 24 24",
176
176
  fill: "currentColor",
177
177
  "aria-hidden": "true",
178
178
  "data-slot": "icon",
179
- ref: s,
179
+ ref: n,
180
180
  "aria-labelledby": t
181
- }, i), e ? /* @__PURE__ */ n.createElement("title", {
181
+ }, i), e ? /* @__PURE__ */ s.createElement("title", {
182
182
  id: t
183
- }, e) : null, /* @__PURE__ */ n.createElement("path", {
183
+ }, e) : null, /* @__PURE__ */ s.createElement("path", {
184
184
  d: "m11.645 20.91-.007-.003-.022-.012a15.247 15.247 0 0 1-.383-.218 25.18 25.18 0 0 1-4.244-3.17C4.688 15.36 2.25 12.174 2.25 8.25 2.25 5.322 4.714 3 7.688 3A5.5 5.5 0 0 1 12 5.052 5.5 5.5 0 0 1 16.313 3c2.973 0 5.437 2.322 5.437 5.25 0 3.925-2.438 7.111-4.739 9.256a25.175 25.175 0 0 1-4.244 3.17 15.247 15.247 0 0 1-.383.219l-.022.012-.007.004-.003.001a.752.752 0 0 1-.704 0l-.003-.001Z"
185
185
  }));
186
186
  }
187
- const P = /* @__PURE__ */ n.forwardRef(D);
188
- function _({
187
+ const M = /* @__PURE__ */ s.forwardRef(_);
188
+ function j({
189
189
  title: e,
190
190
  titleId: t,
191
191
  ...i
192
- }, s) {
193
- return /* @__PURE__ */ n.createElement("svg", Object.assign({
192
+ }, n) {
193
+ return /* @__PURE__ */ s.createElement("svg", Object.assign({
194
194
  xmlns: "http://www.w3.org/2000/svg",
195
195
  viewBox: "0 0 24 24",
196
196
  fill: "currentColor",
197
197
  "aria-hidden": "true",
198
198
  "data-slot": "icon",
199
- ref: s,
199
+ ref: n,
200
200
  "aria-labelledby": t
201
- }, i), e ? /* @__PURE__ */ n.createElement("title", {
201
+ }, i), e ? /* @__PURE__ */ s.createElement("title", {
202
202
  id: t
203
- }, e) : null, /* @__PURE__ */ n.createElement("path", {
203
+ }, e) : null, /* @__PURE__ */ s.createElement("path", {
204
204
  fillRule: "evenodd",
205
205
  d: "M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm8.706-1.442c1.146-.573 2.437.463 2.126 1.706l-.709 2.836.042-.02a.75.75 0 0 1 .67 1.34l-.04.022c-1.147.573-2.438-.463-2.127-1.706l.71-2.836-.042.02a.75.75 0 1 1-.671-1.34l.041-.022ZM12 9a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z",
206
206
  clipRule: "evenodd"
207
207
  }));
208
208
  }
209
- const M = /* @__PURE__ */ n.forwardRef(_);
210
- function j({
209
+ const z = /* @__PURE__ */ s.forwardRef(j);
210
+ function L({
211
211
  title: e,
212
212
  titleId: t,
213
213
  ...i
214
- }, s) {
215
- return /* @__PURE__ */ n.createElement("svg", Object.assign({
214
+ }, n) {
215
+ return /* @__PURE__ */ s.createElement("svg", Object.assign({
216
216
  xmlns: "http://www.w3.org/2000/svg",
217
217
  viewBox: "0 0 24 24",
218
218
  fill: "currentColor",
219
219
  "aria-hidden": "true",
220
220
  "data-slot": "icon",
221
- ref: s,
221
+ ref: n,
222
222
  "aria-labelledby": t
223
- }, i), e ? /* @__PURE__ */ n.createElement("title", {
223
+ }, i), e ? /* @__PURE__ */ s.createElement("title", {
224
224
  id: t
225
- }, e) : null, /* @__PURE__ */ n.createElement("path", {
225
+ }, e) : null, /* @__PURE__ */ s.createElement("path", {
226
226
  fillRule: "evenodd",
227
227
  d: "M9 2.25a.75.75 0 0 1 .75.75v1.506a49.384 49.384 0 0 1 5.343.371.75.75 0 1 1-.186 1.489c-.66-.083-1.323-.151-1.99-.206a18.67 18.67 0 0 1-2.97 6.323c.318.384.65.753 1 1.107a.75.75 0 0 1-1.07 1.052A18.902 18.902 0 0 1 9 13.687a18.823 18.823 0 0 1-5.656 4.482.75.75 0 0 1-.688-1.333 17.323 17.323 0 0 0 5.396-4.353A18.72 18.72 0 0 1 5.89 8.598a.75.75 0 0 1 1.388-.568A17.21 17.21 0 0 0 9 11.224a17.168 17.168 0 0 0 2.391-5.165 48.04 48.04 0 0 0-8.298.307.75.75 0 0 1-.186-1.489 49.159 49.159 0 0 1 5.343-.371V3A.75.75 0 0 1 9 2.25ZM15.75 9a.75.75 0 0 1 .68.433l5.25 11.25a.75.75 0 1 1-1.36.634l-1.198-2.567h-6.744l-1.198 2.567a.75.75 0 0 1-1.36-.634l5.25-11.25A.75.75 0 0 1 15.75 9Zm-2.672 8.25h5.344l-2.672-5.726-2.672 5.726Z",
228
228
  clipRule: "evenodd"
229
229
  }));
230
230
  }
231
- const z = /* @__PURE__ */ n.forwardRef(j);
232
- function L({
231
+ const Z = /* @__PURE__ */ s.forwardRef(L);
232
+ function B({
233
233
  title: e,
234
234
  titleId: t,
235
235
  ...i
236
- }, s) {
237
- return /* @__PURE__ */ n.createElement("svg", Object.assign({
236
+ }, n) {
237
+ return /* @__PURE__ */ s.createElement("svg", Object.assign({
238
238
  xmlns: "http://www.w3.org/2000/svg",
239
239
  viewBox: "0 0 24 24",
240
240
  fill: "currentColor",
241
241
  "aria-hidden": "true",
242
242
  "data-slot": "icon",
243
- ref: s,
243
+ ref: n,
244
244
  "aria-labelledby": t
245
- }, i), e ? /* @__PURE__ */ n.createElement("title", {
245
+ }, i), e ? /* @__PURE__ */ s.createElement("title", {
246
246
  id: t
247
- }, e) : null, /* @__PURE__ */ n.createElement("path", {
247
+ }, e) : null, /* @__PURE__ */ s.createElement("path", {
248
248
  d: "M12 .75a8.25 8.25 0 0 0-4.135 15.39c.686.398 1.115 1.008 1.134 1.623a.75.75 0 0 0 .577.706c.352.083.71.148 1.074.195.323.041.6-.218.6-.544v-4.661a6.714 6.714 0 0 1-.937-.171.75.75 0 1 1 .374-1.453 5.261 5.261 0 0 0 2.626 0 .75.75 0 1 1 .374 1.452 6.712 6.712 0 0 1-.937.172v4.66c0 .327.277.586.6.545.364-.047.722-.112 1.074-.195a.75.75 0 0 0 .577-.706c.02-.615.448-1.225 1.134-1.623A8.25 8.25 0 0 0 12 .75Z"
249
- }), /* @__PURE__ */ n.createElement("path", {
249
+ }), /* @__PURE__ */ s.createElement("path", {
250
250
  fillRule: "evenodd",
251
251
  d: "M9.013 19.9a.75.75 0 0 1 .877-.597 11.319 11.319 0 0 0 4.22 0 .75.75 0 1 1 .28 1.473 12.819 12.819 0 0 1-4.78 0 .75.75 0 0 1-.597-.876ZM9.754 22.344a.75.75 0 0 1 .824-.668 13.682 13.682 0 0 0 2.844 0 .75.75 0 1 1 .156 1.492 15.156 15.156 0 0 1-3.156 0 .75.75 0 0 1-.668-.824Z",
252
252
  clipRule: "evenodd"
253
253
  }));
254
254
  }
255
- const Z = /* @__PURE__ */ n.forwardRef(L);
256
- function B({
255
+ const O = /* @__PURE__ */ s.forwardRef(B);
256
+ function $({
257
257
  title: e,
258
258
  titleId: t,
259
259
  ...i
260
- }, s) {
261
- return /* @__PURE__ */ n.createElement("svg", Object.assign({
260
+ }, n) {
261
+ return /* @__PURE__ */ s.createElement("svg", Object.assign({
262
262
  xmlns: "http://www.w3.org/2000/svg",
263
263
  viewBox: "0 0 24 24",
264
264
  fill: "currentColor",
265
265
  "aria-hidden": "true",
266
266
  "data-slot": "icon",
267
- ref: s,
267
+ ref: n,
268
268
  "aria-labelledby": t
269
- }, i), e ? /* @__PURE__ */ n.createElement("title", {
269
+ }, i), e ? /* @__PURE__ */ s.createElement("title", {
270
270
  id: t
271
- }, e) : null, /* @__PURE__ */ n.createElement("path", {
271
+ }, e) : null, /* @__PURE__ */ s.createElement("path", {
272
272
  fillRule: "evenodd",
273
273
  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",
274
274
  clipRule: "evenodd"
275
275
  }));
276
276
  }
277
- const f = /* @__PURE__ */ n.forwardRef(B);
278
- function O({
277
+ const v = /* @__PURE__ */ s.forwardRef($);
278
+ function H({
279
279
  title: e,
280
280
  titleId: t,
281
281
  ...i
282
- }, s) {
283
- return /* @__PURE__ */ n.createElement("svg", Object.assign({
282
+ }, n) {
283
+ return /* @__PURE__ */ s.createElement("svg", Object.assign({
284
284
  xmlns: "http://www.w3.org/2000/svg",
285
285
  viewBox: "0 0 24 24",
286
286
  fill: "currentColor",
287
287
  "aria-hidden": "true",
288
288
  "data-slot": "icon",
289
- ref: s,
289
+ ref: n,
290
290
  "aria-labelledby": t
291
- }, i), e ? /* @__PURE__ */ n.createElement("title", {
291
+ }, i), e ? /* @__PURE__ */ s.createElement("title", {
292
292
  id: t
293
- }, e) : null, /* @__PURE__ */ n.createElement("path", {
293
+ }, e) : null, /* @__PURE__ */ s.createElement("path", {
294
294
  fillRule: "evenodd",
295
295
  d: "M7.5 6a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM3.751 20.105a8.25 8.25 0 0 1 16.498 0 .75.75 0 0 1-.437.695A18.683 18.683 0 0 1 12 22.5c-2.786 0-5.433-.608-7.812-1.7a.75.75 0 0 1-.437-.695Z",
296
296
  clipRule: "evenodd"
297
297
  }));
298
298
  }
299
- const $ = /* @__PURE__ */ n.forwardRef(O), H = {
299
+ const K = /* @__PURE__ */ s.forwardRef(H);
300
+ function b(e) {
301
+ var t, i, n = "";
302
+ if (typeof e == "string" || typeof e == "number") n += e;
303
+ else if (typeof e == "object") if (Array.isArray(e)) {
304
+ var d = e.length;
305
+ for (t = 0; t < d; t++) e[t] && (i = b(e[t])) && (n && (n += " "), n += i);
306
+ } else for (i in e) e[i] && (n && (n += " "), n += i);
307
+ return n;
308
+ }
309
+ function p() {
310
+ for (var e, t, i = 0, n = "", d = arguments.length; i < d; i++) (e = arguments[i]) && (t = b(e)) && (n && (n += " "), n += t);
311
+ return n;
312
+ }
313
+ const U = {
300
314
  error: "bg-error/10 border-error/30",
301
315
  warning: "bg-warning/10 border-warning/30",
302
316
  success: "bg-success/10 border-success/30"
303
- }, K = {
317
+ }, F = {
304
318
  error: "text-error",
305
319
  warning: "text-warning",
306
320
  success: "text-success"
307
- }, U = {
308
- high: C,
309
- medium: p,
310
- low: M
321
+ }, V = {
322
+ high: D,
323
+ medium: u,
324
+ low: z
311
325
  };
312
- function g({
326
+ function h({
313
327
  signal: e,
314
328
  variant: t = "error"
315
329
  }) {
316
- const { t: i } = o(), s = U[e.severity];
317
- return /* @__PURE__ */ a("div", { className: `card ${H[t]} border-2 backdrop-blur-sm`, children: /* @__PURE__ */ a("div", { className: "card-body", children: /* @__PURE__ */ r("div", { className: "flex items-start gap-4", children: [
318
- /* @__PURE__ */ a(s, { className: `size-8 ${K[t]} mt-1 shrink-0` }),
330
+ const { t: i } = o(), n = V[e.severity];
331
+ return /* @__PURE__ */ a("div", { className: p("card border-2 backdrop-blur-sm", U[t]), children: /* @__PURE__ */ a("div", { className: "card-body", children: /* @__PURE__ */ r("div", { className: "flex items-start gap-4", children: [
332
+ /* @__PURE__ */ a(n, { className: p("size-8 mt-1 shrink-0", F[t]) }),
319
333
  /* @__PURE__ */ r("div", { className: "flex-1", children: [
320
334
  /* @__PURE__ */ a("h4", { className: "card-title text-xl", children: e.title }),
321
335
  /* @__PURE__ */ a("p", { className: "mt-2 text-neutral-content", children: e.description }),
@@ -329,33 +343,33 @@ function g({
329
343
  ] })
330
344
  ] }) }) });
331
345
  }
332
- function F({ cautions: e }) {
346
+ function q({ cautions: e }) {
333
347
  const { t } = o();
334
348
  return e.length === 0 ? null : /* @__PURE__ */ r("section", { children: [
335
349
  /* @__PURE__ */ r("h3", { className: "mb-6 flex items-center gap-3 text-3xl font-bold", children: [
336
- /* @__PURE__ */ a(p, { className: "size-10 text-warning" }),
350
+ /* @__PURE__ */ a(u, { className: "size-10 text-warning" }),
337
351
  t("page.tradeSafety.result.cautions")
338
352
  ] }),
339
- /* @__PURE__ */ a("div", { className: "space-y-4", children: e.map((i, s) => /* @__PURE__ */ a(
353
+ /* @__PURE__ */ a("div", { className: "space-y-4", children: e.map((i, n) => /* @__PURE__ */ a(
340
354
  c.div,
341
355
  {
342
356
  initial: { x: -50, opacity: 0 },
343
357
  animate: { x: 0, opacity: 1 },
344
- transition: { delay: s * 0.1 },
358
+ transition: { delay: n * 0.1 },
345
359
  whileHover: { scale: 1.02, x: 10 },
346
- children: /* @__PURE__ */ a(g, { signal: i, variant: "warning" })
360
+ children: /* @__PURE__ */ a(h, { signal: i, variant: "warning" })
347
361
  },
348
- s
362
+ n
349
363
  )) })
350
364
  ] });
351
365
  }
352
- function V() {
366
+ function W() {
353
367
  const { t: e, i18n: t } = o(), i = t.language;
354
368
  return /* @__PURE__ */ a("section", { className: "hero min-h-[30vh] rounded-3xl bg-primary text-primary-content", children: /* @__PURE__ */ a("div", { className: "hero-content text-center", children: /* @__PURE__ */ r("div", { children: [
355
- /* @__PURE__ */ a(y, { className: "mx-auto mb-6 size-20" }),
369
+ /* @__PURE__ */ a(w, { className: "mx-auto mb-6 size-20" }),
356
370
  /* @__PURE__ */ a("h3", { className: "mb-4 text-4xl font-bold", children: e("page.tradeSafety.result.companionCta.title") }),
357
371
  /* @__PURE__ */ a("p", { className: "mb-8 max-w-2xl text-xl", children: e("page.tradeSafety.result.companionCta.description") }),
358
- /* @__PURE__ */ a(h, { href: `/${i}/companions`, children: /* @__PURE__ */ a(
372
+ /* @__PURE__ */ a(f, { href: `/${i}/companions`, children: /* @__PURE__ */ a(
359
373
  c.button,
360
374
  {
361
375
  whileHover: { scale: 1.1 },
@@ -366,7 +380,7 @@ function V() {
366
380
  ) })
367
381
  ] }) }) });
368
382
  }
369
- function q({ advice: e }) {
383
+ function J({ advice: e }) {
370
384
  const { t } = o();
371
385
  return /* @__PURE__ */ a(
372
386
  c.section,
@@ -375,7 +389,7 @@ function q({ advice: e }) {
375
389
  className: "card bg-secondary text-secondary-content shadow-xl",
376
390
  children: /* @__PURE__ */ r("div", { className: "card-body", children: [
377
391
  /* @__PURE__ */ r("div", { className: "mb-6 flex items-center gap-4", children: [
378
- /* @__PURE__ */ a("div", { className: "avatar placeholder", children: /* @__PURE__ */ a("div", { className: "w-16 rounded-full bg-primary text-primary-content", children: /* @__PURE__ */ a($, { className: "size-8" }) }) }),
392
+ /* @__PURE__ */ a("div", { className: "avatar placeholder", children: /* @__PURE__ */ a("div", { className: "w-16 rounded-full bg-primary text-primary-content", children: /* @__PURE__ */ a(K, { className: "size-8" }) }) }),
379
393
  /* @__PURE__ */ r("div", { children: [
380
394
  /* @__PURE__ */ a("h3", { className: "text-2xl font-bold", children: t("page.tradeSafety.result.expertAdvice") }),
381
395
  /* @__PURE__ */ a("p", { className: "opacity-80", children: t("page.tradeSafety.result.expertName") })
@@ -386,11 +400,11 @@ function q({ advice: e }) {
386
400
  }
387
401
  );
388
402
  }
389
- function W({ data: e }) {
403
+ function G({ data: e }) {
390
404
  const { t, i18n: i } = o();
391
405
  return e ? /* @__PURE__ */ r("section", { children: [
392
406
  /* @__PURE__ */ r("h3", { className: "mb-6 flex items-center gap-3 text-3xl font-bold", children: [
393
- /* @__PURE__ */ a(I, { className: "size-10 text-secondary" }),
407
+ /* @__PURE__ */ a(C, { className: "size-10 text-secondary" }),
394
408
  t("page.tradeSafety.result.priceAnalysis")
395
409
  ] }),
396
410
  /* @__PURE__ */ a("div", { className: "card bg-base-200 shadow-xl", children: /* @__PURE__ */ r("div", { className: "card-body", children: [
@@ -413,51 +427,51 @@ function W({ data: e }) {
413
427
  ] }),
414
428
  e.warnings.length > 0 && /* @__PURE__ */ r("div", { className: "mt-4", children: [
415
429
  /* @__PURE__ */ r("h4", { className: "mb-2 flex items-center gap-2 text-lg font-semibold text-warning", children: [
416
- /* @__PURE__ */ a(p, { className: "size-6" }),
430
+ /* @__PURE__ */ a(u, { className: "size-6" }),
417
431
  t("page.tradeSafety.result.priceWarnings")
418
432
  ] }),
419
- /* @__PURE__ */ a("ul", { className: "list-inside list-disc space-y-1", children: e.warnings.map((s, m) => /* @__PURE__ */ a("li", { className: "text-neutral-content", children: s }, m)) })
433
+ /* @__PURE__ */ a("ul", { className: "list-inside list-disc space-y-1", children: e.warnings.map((n, d) => /* @__PURE__ */ a("li", { className: "text-neutral-content", children: n }, d)) })
420
434
  ] })
421
435
  ] }) })
422
436
  ] }) : null;
423
437
  }
424
- function J({
438
+ function Q({
425
439
  recommendation: e,
426
440
  emotionalSupport: t
427
441
  }) {
428
442
  const { t: i } = o();
429
443
  return /* @__PURE__ */ r("section", { children: [
430
444
  /* @__PURE__ */ r("h3", { className: "mb-6 flex items-center gap-3 text-3xl font-bold", children: [
431
- /* @__PURE__ */ a(Z, { className: "size-10 text-warning" }),
445
+ /* @__PURE__ */ a(O, { className: "size-10 text-warning" }),
432
446
  i("page.tradeSafety.result.recommendation")
433
447
  ] }),
434
448
  /* @__PURE__ */ a("div", { className: "card bg-base-200 shadow-xl", children: /* @__PURE__ */ r("div", { className: "card-body", children: [
435
449
  /* @__PURE__ */ a("div", { className: "prose max-w-none", children: /* @__PURE__ */ a("p", { className: "whitespace-pre-wrap text-lg text-neutral-content", children: e }) }),
436
450
  /* @__PURE__ */ a("div", { className: "divider" }),
437
451
  /* @__PURE__ */ a("div", { className: "rounded-lg bg-base-100 p-4", children: /* @__PURE__ */ r("p", { className: "flex items-center gap-2 text-lg font-medium", children: [
438
- /* @__PURE__ */ a(P, { className: "size-6 text-info" }),
452
+ /* @__PURE__ */ a(M, { className: "size-6 text-info" }),
439
453
  " ",
440
454
  t
441
455
  ] }) })
442
456
  ] }) })
443
457
  ] });
444
458
  }
445
- function G(e) {
446
- return e >= 70 ? { level: "high", color: "error", Icon: f } : e >= 40 ? { level: "medium", color: "warning", Icon: p } : { level: "low", color: "success", Icon: w };
459
+ function X(e) {
460
+ return e >= 70 ? { level: "high", color: "error", Icon: v } : e >= 40 ? { level: "medium", color: "warning", Icon: u } : { level: "low", color: "success", Icon: A };
447
461
  }
448
- function Q({ score: e }) {
449
- const { t } = o(), i = G(e), { Icon: s } = i, m = {
462
+ function Y({ score: e }) {
463
+ const { t } = o(), i = X(e), { Icon: n } = i, d = {
450
464
  error: "text-error",
451
465
  warning: "text-warning",
452
466
  success: "text-success"
453
467
  };
454
468
  return /* @__PURE__ */ a("div", { className: "hero min-h-[40vh] rounded-3xl bg-base-200", children: /* @__PURE__ */ a("div", { className: "hero-content text-center", children: /* @__PURE__ */ r("div", { children: [
455
- /* @__PURE__ */ a("div", { className: "mb-4", children: /* @__PURE__ */ a(s, { className: `size-32 ${m[i.color]}` }) }),
469
+ /* @__PURE__ */ a("div", { className: "mb-4", children: /* @__PURE__ */ a(n, { className: p("size-32", d[i.color]) }) }),
456
470
  /* @__PURE__ */ a("h2", { className: "mb-4 text-5xl font-bold", children: t(`page.tradeSafety.result.riskLevel.${i.level}.title`) }),
457
471
  /* @__PURE__ */ a("div", { className: "mx-auto w-64", children: /* @__PURE__ */ a(
458
472
  "div",
459
473
  {
460
- className: `radial-progress ${m[i.color]}`,
474
+ className: p("radial-progress", d[i.color]),
461
475
  style: {
462
476
  "--value": e,
463
477
  "--size": "12rem",
@@ -470,63 +484,63 @@ function Q({ score: e }) {
470
484
  /* @__PURE__ */ a("p", { className: "mt-6 max-w-lg text-xl text-neutral-content", children: t(`page.tradeSafety.result.riskLevel.${i.level}.message`) })
471
485
  ] }) }) });
472
486
  }
473
- function X({ signals: e }) {
487
+ function ee({ signals: e }) {
474
488
  const { t } = o();
475
489
  return e.length === 0 ? null : /* @__PURE__ */ r("section", { children: [
476
490
  /* @__PURE__ */ r("h3", { className: "mb-6 flex items-center gap-3 text-3xl font-bold", children: [
477
- /* @__PURE__ */ a(f, { className: "size-10 text-error" }),
491
+ /* @__PURE__ */ a(v, { className: "size-10 text-error" }),
478
492
  t("page.tradeSafety.result.riskSignals")
479
493
  ] }),
480
- /* @__PURE__ */ a("div", { className: "space-y-4", children: e.map((i, s) => /* @__PURE__ */ a(
494
+ /* @__PURE__ */ a("div", { className: "space-y-4", children: e.map((i, n) => /* @__PURE__ */ a(
481
495
  c.div,
482
496
  {
483
497
  initial: { x: -50, opacity: 0 },
484
498
  animate: { x: 0, opacity: 1 },
485
- transition: { delay: s * 0.1 },
499
+ transition: { delay: n * 0.1 },
486
500
  whileHover: { scale: 1.02, x: 10 },
487
- children: /* @__PURE__ */ a(g, { signal: i, variant: "error" })
501
+ children: /* @__PURE__ */ a(h, { signal: i, variant: "error" })
488
502
  },
489
- s
503
+ n
490
504
  )) })
491
505
  ] });
492
506
  }
493
- function Y({
507
+ function ae({
494
508
  indicators: e
495
509
  }) {
496
510
  const { t } = o();
497
511
  return e.length === 0 ? null : /* @__PURE__ */ r("section", { children: [
498
512
  /* @__PURE__ */ r("h3", { className: "mb-6 flex items-center gap-3 text-3xl font-bold", children: [
499
- /* @__PURE__ */ a(A, { className: "size-10 text-success" }),
513
+ /* @__PURE__ */ a(N, { className: "size-10 text-success" }),
500
514
  t("page.tradeSafety.result.safeIndicators")
501
515
  ] }),
502
- /* @__PURE__ */ a("div", { className: "space-y-4", children: e.map((i, s) => /* @__PURE__ */ a(
516
+ /* @__PURE__ */ a("div", { className: "space-y-4", children: e.map((i, n) => /* @__PURE__ */ a(
503
517
  c.div,
504
518
  {
505
519
  initial: { x: -50, opacity: 0 },
506
520
  animate: { x: 0, opacity: 1 },
507
- transition: { delay: s * 0.1 },
521
+ transition: { delay: n * 0.1 },
508
522
  whileHover: { scale: 1.02, x: 10 },
509
- children: /* @__PURE__ */ a(g, { signal: i, variant: "success" })
523
+ children: /* @__PURE__ */ a(h, { signal: i, variant: "success" })
510
524
  },
511
- s
525
+ n
512
526
  )) })
513
527
  ] });
514
528
  }
515
- function ee({ items: e }) {
529
+ function te({ items: e }) {
516
530
  const { t } = o();
517
531
  return e.length === 0 ? null : /* @__PURE__ */ r("section", { children: [
518
532
  /* @__PURE__ */ r("h3", { className: "mb-6 flex items-center gap-3 text-3xl font-bold", children: [
519
- /* @__PURE__ */ a(N, { className: "size-10 text-primary" }),
533
+ /* @__PURE__ */ a(I, { className: "size-10 text-primary" }),
520
534
  t("page.tradeSafety.result.safetyChecklist")
521
535
  ] }),
522
536
  /* @__PURE__ */ a("div", { className: "card border-2 border-primary/30 bg-base-200", children: /* @__PURE__ */ r("div", { className: "card-body", children: [
523
537
  /* @__PURE__ */ a("p", { className: "mb-6 text-lg text-neutral-content", children: t("page.tradeSafety.result.checklistDescription") }),
524
- /* @__PURE__ */ a("div", { className: "space-y-3", children: e.map((i, s) => /* @__PURE__ */ r(
538
+ /* @__PURE__ */ a("div", { className: "space-y-3", children: e.map((i, n) => /* @__PURE__ */ r(
525
539
  c.label,
526
540
  {
527
541
  initial: { x: -20, opacity: 0 },
528
542
  animate: { x: 0, opacity: 1 },
529
- transition: { delay: s * 0.08 },
543
+ transition: { delay: n * 0.08 },
530
544
  className: "flex cursor-pointer items-start gap-3 rounded-lg p-3 hover:bg-base-100/30",
531
545
  children: [
532
546
  /* @__PURE__ */ a(
@@ -539,19 +553,19 @@ function ee({ items: e }) {
539
553
  /* @__PURE__ */ a("span", { className: "text-lg", children: i })
540
554
  ]
541
555
  },
542
- s
556
+ n
543
557
  )) })
544
558
  ] }) })
545
559
  ] });
546
560
  }
547
- function ae({
561
+ function ie({
548
562
  translation: e,
549
563
  nuance: t
550
564
  }) {
551
565
  const { t: i } = o();
552
566
  return !e && !t ? null : /* @__PURE__ */ r("section", { children: [
553
567
  /* @__PURE__ */ r("h3", { className: "mb-6 flex items-center gap-3 text-3xl font-bold", children: [
554
- /* @__PURE__ */ a(z, { className: "size-10 text-primary" }),
568
+ /* @__PURE__ */ a(Z, { className: "size-10 text-primary" }),
555
569
  i("page.tradeSafety.result.translation")
556
570
  ] }),
557
571
  /* @__PURE__ */ a("div", { className: "card bg-base-200 shadow-xl", children: /* @__PURE__ */ r("div", { className: "card-body", children: [
@@ -566,21 +580,21 @@ function ae({
566
580
  ] }) })
567
581
  ] });
568
582
  }
569
- const d = {
583
+ const m = {
570
584
  initial: { y: 40, opacity: 0 },
571
585
  animate: {
572
586
  y: 0,
573
587
  opacity: 1,
574
588
  transition: { duration: 0.6 }
575
589
  }
576
- }, te = {
590
+ }, ne = {
577
591
  animate: {
578
592
  transition: {
579
593
  staggerChildren: 0.15
580
594
  }
581
595
  }
582
596
  };
583
- function xe({
597
+ function ke({
584
598
  analysis: e,
585
599
  expertAdvice: t,
586
600
  showCompanionCta: i = !1
@@ -588,42 +602,42 @@ function xe({
588
602
  return /* @__PURE__ */ r(
589
603
  c.div,
590
604
  {
591
- variants: te,
605
+ variants: ne,
592
606
  initial: "initial",
593
607
  animate: "animate",
594
608
  className: "mx-auto max-w-5xl space-y-12",
595
609
  children: [
596
- /* @__PURE__ */ a(c.div, { variants: d, children: /* @__PURE__ */ a(Q, { score: e.risk_score }) }),
597
- (e.translation || e.nuance_explanation) && /* @__PURE__ */ a(c.div, { variants: d, children: /* @__PURE__ */ a(
598
- ae,
610
+ /* @__PURE__ */ a(c.div, { variants: m, children: /* @__PURE__ */ a(Y, { score: e.risk_score }) }),
611
+ (e.translation || e.nuance_explanation) && /* @__PURE__ */ a(c.div, { variants: m, children: /* @__PURE__ */ a(
612
+ ie,
599
613
  {
600
614
  translation: e.translation,
601
615
  nuance: e.nuance_explanation
602
616
  }
603
617
  ) }),
604
- e.risk_signals.length > 0 && /* @__PURE__ */ a(c.div, { variants: d, children: /* @__PURE__ */ a(X, { signals: e.risk_signals }) }),
605
- e.cautions.length > 0 && /* @__PURE__ */ a(c.div, { variants: d, children: /* @__PURE__ */ a(F, { cautions: e.cautions }) }),
606
- e.safe_indicators.length > 0 && /* @__PURE__ */ a(c.div, { variants: d, children: /* @__PURE__ */ a(Y, { indicators: e.safe_indicators }) }),
607
- e.price_analysis && /* @__PURE__ */ a(c.div, { variants: d, children: /* @__PURE__ */ a(W, { data: e.price_analysis }) }),
608
- e.safety_checklist.length > 0 && /* @__PURE__ */ a(c.div, { variants: d, children: /* @__PURE__ */ a(ee, { items: e.safety_checklist }) }),
609
- t && /* @__PURE__ */ a(c.div, { variants: d, children: /* @__PURE__ */ a(q, { advice: t }) }),
610
- /* @__PURE__ */ a(c.div, { variants: d, children: /* @__PURE__ */ a(
611
- J,
618
+ e.risk_signals.length > 0 && /* @__PURE__ */ a(c.div, { variants: m, children: /* @__PURE__ */ a(ee, { signals: e.risk_signals }) }),
619
+ e.cautions.length > 0 && /* @__PURE__ */ a(c.div, { variants: m, children: /* @__PURE__ */ a(q, { cautions: e.cautions }) }),
620
+ e.safe_indicators.length > 0 && /* @__PURE__ */ a(c.div, { variants: m, children: /* @__PURE__ */ a(ae, { indicators: e.safe_indicators }) }),
621
+ e.price_analysis && /* @__PURE__ */ a(c.div, { variants: m, children: /* @__PURE__ */ a(G, { data: e.price_analysis }) }),
622
+ e.safety_checklist.length > 0 && /* @__PURE__ */ a(c.div, { variants: m, children: /* @__PURE__ */ a(te, { items: e.safety_checklist }) }),
623
+ t && /* @__PURE__ */ a(c.div, { variants: m, children: /* @__PURE__ */ a(J, { advice: t }) }),
624
+ /* @__PURE__ */ a(c.div, { variants: m, children: /* @__PURE__ */ a(
625
+ Q,
612
626
  {
613
627
  recommendation: e.recommendation,
614
628
  emotionalSupport: e.emotional_support
615
629
  }
616
630
  ) }),
617
- i && /* @__PURE__ */ a(c.div, { variants: d, children: /* @__PURE__ */ a(V, {}) })
631
+ i && /* @__PURE__ */ a(c.div, { variants: m, children: /* @__PURE__ */ a(W, {}) })
618
632
  ]
619
633
  }
620
634
  );
621
635
  }
622
- function we({
636
+ function Ae({
623
637
  summary: e,
624
638
  checkId: t
625
639
  }) {
626
- const { t: i, i18n: s } = o(), m = s.language;
640
+ const { t: i, i18n: n } = o(), d = n.language;
627
641
  return /* @__PURE__ */ r("div", { className: "mx-auto max-w-2xl", children: [
628
642
  /* @__PURE__ */ a("h1", { className: "mb-8 text-center text-3xl font-bold", children: i("page.tradeSafety.result.title") }),
629
643
  /* @__PURE__ */ r("div", { className: "mb-8 grid grid-cols-1 gap-4 md:grid-cols-3", children: [
@@ -644,9 +658,9 @@ function we({
644
658
  /* @__PURE__ */ a("h2", { className: "card-title text-2xl", children: i("page.tradeSafety.result.signupRequired") }),
645
659
  /* @__PURE__ */ a("p", { className: "mb-4 text-neutral-content", children: i("page.tradeSafety.result.signupMessage") }),
646
660
  /* @__PURE__ */ a(
647
- h,
661
+ f,
648
662
  {
649
- href: `/${m}/login?callbackUrl=${encodeURIComponent(`/${m}/trade-safety/result/${t}`)}`,
663
+ href: `/${d}/login?callbackUrl=${encodeURIComponent(`/${d}/trade-safety/result/${t}`)}`,
650
664
  className: "btn btn-primary",
651
665
  children: i("login")
652
666
  }
@@ -654,38 +668,38 @@ function we({
654
668
  ] }) })
655
669
  ] });
656
670
  }
657
- const u = l.object({
671
+ const g = l.object({
658
672
  category: l.enum(["payment", "seller", "platform", "price", "content"]),
659
673
  severity: l.enum(["high", "medium", "low"]),
660
674
  title: l.string(),
661
675
  description: l.string(),
662
676
  what_to_do: l.string()
663
- }), ie = l.object({
677
+ }), se = l.object({
664
678
  market_price_range: l.string().nullish(),
665
679
  offered_price: l.number().nullish(),
666
680
  currency: l.string().nullish(),
667
681
  price_assessment: l.string(),
668
682
  warnings: l.array(l.string())
669
- }).nullish(), ne = l.object({
683
+ }), re = l.object({
670
684
  translation: l.string().nullish(),
671
685
  nuance_explanation: l.string().nullish(),
672
- risk_signals: l.array(u),
673
- cautions: l.array(u),
674
- safe_indicators: l.array(u),
675
- price_analysis: ie,
686
+ risk_signals: l.array(g),
687
+ cautions: l.array(g),
688
+ safe_indicators: l.array(g),
689
+ price_analysis: se,
676
690
  safety_checklist: l.array(l.string()),
677
691
  risk_score: l.number(),
678
692
  recommendation: l.string(),
679
693
  emotional_support: l.string()
680
- }), se = l.object({
694
+ }), le = l.object({
681
695
  risk_signals_count: l.number(),
682
696
  cautions_count: l.number(),
683
697
  safe_indicators_count: l.number()
684
- }), re = l.object({
698
+ }), ce = l.object({
685
699
  id: l.string(),
686
700
  user_id: l.string().nullish(),
687
701
  input_text: l.string(),
688
- llm_analysis: ne,
702
+ llm_analysis: re,
689
703
  risk_score: l.number(),
690
704
  expert_advice: l.string().nullish(),
691
705
  expert_reviewed: l.boolean(),
@@ -693,94 +707,94 @@ const u = l.object({
693
707
  expert_reviewed_by: l.string().nullish(),
694
708
  created_at: l.string(),
695
709
  updated_at: l.string()
696
- }), le = l.union([
697
- re,
710
+ }), oe = l.union([
711
+ ce,
698
712
  l.object({
699
713
  id: l.string(),
700
- quick_summary: se,
714
+ quick_summary: le,
701
715
  signup_required: l.literal(!0)
702
716
  })
703
717
  ]);
704
- class ke extends v {
718
+ class Se extends y {
705
719
  constructor() {
706
720
  super(...arguments), this.resource = "trade-safety";
707
721
  }
708
722
  getDataSchema() {
709
- return le;
723
+ return oe;
710
724
  }
711
725
  }
712
- const Ae = {
726
+ const Ne = {
713
727
  high: 70,
714
728
  // >= 70: High risk (red)
715
729
  medium: 40
716
730
  // >= 40: Medium risk (yellow)
717
731
  // < 40: Low risk (green)
718
- }, ce = { tradeSafety: { hero: { title: "Worried About a Trade?", subtitle: "Trade safety verification for global K-pop fans. AI analyzes language barriers, scam risks, and price fairness in 30 seconds.", placeholder: `Paste trade post text or URL...
732
+ }, de = { tradeSafety: { hero: { title: "Worried About a Trade?", subtitle: "Trade safety verification for global K-pop fans. AI analyzes language barriers, scam risks, and price fairness in 30 seconds.", placeholder: `Paste trade post text or URL...
719
733
 
720
734
  Example:
721
735
  급처분 ㅠㅠ 공구 실패해서 양도해요
722
736
  BTS Jimin photocard 무탈 DM
723
737
 
724
738
  Or:
725
- https://twitter.com/...`, advancedOptions: "Advanced Options (Optional)", amountPlaceholder: "Trade Amount (USD)", checkSafety: "Check Safety", analyzing: "Analyzing...", analyzingDescription: "AI is analyzing language, scam signals, and price...", tryExample: "Try an example" }, features: { title: "AI Analyzes <1>3 Things Simultaneously</1>", translation: { title: "Translation + Nuance", description: "Translates Korean slang and identifies suspicious expressions." }, scamDetection: { title: "Scam Signal Detection", description: "Detects risk patterns like advance payment requests, account age, and lack of verification." }, priceAnalysis: { title: "Price Fairness", description: "Provides market price info and warns about overpricing." } }, howItWorks: { title: "How It Works", step1: { title: "Paste", description: "Copy and paste the trade post text or URL" }, step2: { title: "AI Analysis", description: "AI analyzes language, scam signals, and price in 30 seconds" }, step3: { title: "Get Results", description: "View detailed analysis and safety recommendations" } }, result: { title: "Trade Safety Analysis", subtitle: "Based on AI analysis of the information you provided", notFound: "Analysis result not found", quickTitle: "Analysis Complete!", riskSignals: "Risk Signals", cautions: "Cautions", safeIndicators: "Safe Indicators", detailsPreview: "Detailed Analysis", signupRequired: "Sign up to see full details", signupMessage: "Create a free account to get detailed AI analysis and expert advice", signupDescription: "Get the complete analysis and AI advice with a free account", signupButton: "Sign Up Free", signupToView: "Sign up to see full analysis", whatToDo: "What to do", translation: "Translation & Nuance", translationTitle: "Translation", nuanceTitle: "Nuance Explanation", priceAnalysis: "Price Analysis", marketPrice: "Market Price Range", offeredPrice: "Offered Price", priceAssessment: "Price Assessment", priceWarnings: "Price Warnings", safetyChecklist: "Safety Checklist", checklistDescription: "Check these items before proceeding with the trade", recommendation: "Recommendation", expertAdvice: "Expert Advice", expertName: "K-pop Trade Expert", riskLevel: { high: { title: "High Risk", message: "We recommend NOT proceeding with this trade. Multiple red flags detected." }, medium: { title: "Proceed with Caution", message: "Some concerning signs detected. Please verify carefully before trading." }, low: { title: "Looks Safe", message: "No major red flags detected, but always stay cautious!" } }, companionCta: { title: "Want to talk?", description: "Share what's on your mind with your AI companion", button: "Start Chat" } } } }, Se = {
726
- page: ce
727
- }, oe = { tradeSafety: { hero: { title: "걱정되는 거래가 있나요?", subtitle: "해외 K-pop 팬을 위한 거래 안전 검증 도구. AI가 언어 장벽, 사기 위험, 가격 적정성을 30초 안에 분석합니다.", placeholder: `거래 글이나 URL을 붙여넣으세요...
739
+ https://twitter.com/...`, advancedOptions: "Advanced Options (Optional)", amountPlaceholder: "Trade Amount (USD)", checkSafety: "Check Safety", analyzing: "Analyzing...", analyzingDescription: "AI is analyzing language, scam signals, and price...", tryExample: "Try an example" }, features: { title: "AI Analyzes <1>3 Things Simultaneously</1>", translation: { title: "Translation + Nuance", description: "Translates Korean slang and identifies suspicious expressions." }, scamDetection: { title: "Scam Signal Detection", description: "Detects risk patterns like advance payment requests, account age, and lack of verification." }, priceAnalysis: { title: "Price Fairness", description: "Provides market price info and warns about overpricing." } }, howItWorks: { title: "How It Works", step1: { title: "Paste", description: "Copy and paste the trade post text or URL" }, step2: { title: "AI Analysis", description: "AI analyzes language, scam signals, and price in 30 seconds" }, step3: { title: "Get Results", description: "View detailed analysis and safety recommendations" } }, result: { title: "Trade Safety Analysis", subtitle: "Based on AI analysis of the information you provided", notFound: "Analysis result not found", quickTitle: "Analysis Complete!", riskSignals: "Risk Signals", cautions: "Cautions", safeIndicators: "Safe Indicators", detailsPreview: "Detailed Analysis", signupRequired: "Sign up to see full details", signupMessage: "Create a free account to get detailed AI analysis and expert advice", signupDescription: "Get the complete analysis and AI advice with a free account", signupButton: "Sign Up Free", signupToView: "Sign up to see full analysis", whatToDo: "What to do", translation: "Translation & Nuance", translationTitle: "Translation", nuanceTitle: "Nuance Explanation", priceAnalysis: "Price Analysis", marketPrice: "Market Price Range", offeredPrice: "Offered Price", priceAssessment: "Price Assessment", priceWarnings: "Price Warnings", safetyChecklist: "Safety Checklist", checklistDescription: "Check these items before proceeding with the trade", recommendation: "Recommendation", expertAdvice: "Expert Advice", expertName: "K-pop Trade Expert", riskLevel: { high: { title: "High Risk", message: "We recommend NOT proceeding with this trade. Multiple red flags detected." }, medium: { title: "Proceed with Caution", message: "Some concerning signs detected. Please verify carefully before trading." }, low: { title: "Looks Safe", message: "No major red flags detected, but always stay cautious!" } }, companionCta: { title: "Want to talk?", description: "Share what's on your mind with your AI companion", button: "Start Chat" } } } }, Re = {
740
+ page: de
741
+ }, me = { tradeSafety: { hero: { title: "걱정되는 거래가 있나요?", subtitle: "해외 K-pop 팬을 위한 거래 안전 검증 도구. AI가 언어 장벽, 사기 위험, 가격 적정성을 30초 안에 분석합니다.", placeholder: `거래 글이나 URL을 붙여넣으세요...
728
742
 
729
743
  예시:
730
744
  급처분 ㅠㅠ 공구 실패해서 양도해요
731
745
  BTS 지민 포카 무탈 DM
732
746
 
733
747
  또는:
734
- https://twitter.com/...`, advancedOptions: "추가 옵션 (선택)", amountPlaceholder: "거래 금액 (USD)", checkSafety: "안전성 확인하기", analyzing: "분석 중...", analyzingDescription: "AI가 언어, 사기 신호, 가격을 분석하고 있습니다...", tryExample: "예시 보기" }, features: { title: "AI가 <1>3가지를 동시에</1> 분석합니다", translation: { title: "번역 + 뉘앙스 해석", description: "한국어 슬랭과 줄임말을 번역하고, 의심스러운 표현을 찾아냅니다." }, scamDetection: { title: "사기 신호 탐지", description: "선입금 요구, 계정 연령, 인증 부족 등 위험 패턴을 감지합니다." }, priceAnalysis: { title: "가격 적정성 분석", description: "시세 정보를 제공하고, 바가지 위험을 경고합니다." } }, howItWorks: { title: "사용 방법", step1: { title: "붙여넣기", description: "거래 글이나 URL을 복사해서 붙여넣으세요" }, step2: { title: "AI 분석", description: "AI가 30초 안에 언어, 사기 신호, 가격을 분석합니다" }, step3: { title: "결과 확인", description: "상세한 분석 결과와 안전 권장사항을 확인하세요" } }, result: { title: "거래 안전 분석", subtitle: "입력하신 정보를 AI가 분석한 결과입니다", notFound: "분석 결과를 찾을 수 없습니다", quickTitle: "분석 완료!", riskSignals: "위험 신호", cautions: "주의사항", safeIndicators: "안전 요소", detailsPreview: "상세 분석 결과", signupRequired: "가입하고 전체 정보 확인", signupMessage: "무료 계정을 만들어 상세한 AI 분석과 전문가 조언을 받아보세요", signupDescription: "무료 회원가입으로 전체 분석 결과와 AI 조언을 받으세요", signupButton: "무료 가입하기", signupToView: "가입하고 전체 분석 보기", whatToDo: "어떻게 대응할까요", translation: "번역 및 뉘앙스", translationTitle: "번역", nuanceTitle: "뉘앙스 설명", priceAnalysis: "가격 분석", marketPrice: "일반 시세", offeredPrice: "제시된 가격", priceAssessment: "가격 평가", priceWarnings: "가격 관련 경고", safetyChecklist: "안전 체크리스트", checklistDescription: "거래를 진행하기 전에 다음 항목을 확인하세요", recommendation: "종합 추천", expertAdvice: "전문가 조언", expertName: "K-pop 거래 전문가", riskLevel: { high: { title: "위험도 높음", message: "이 거래는 진행하지 않는 것을 권장합니다. 여러 위험 신호가 발견되었습니다." }, medium: { title: "신중하게 진행하세요", message: "몇 가지 의심스러운 점이 있습니다. 거래 전 신중하게 확인하세요." }, low: { title: "안전해 보입니다", message: "큰 위험 신호는 발견되지 않았지만, 항상 주의하세요!" } }, companionCta: { title: "이야기 나눌까요?", description: "마음속 이야기를 나눠보세요", button: "대화 시작하기" } } } }, Ne = {
735
- page: oe
736
- }, de = { tradeSafety: { hero: { title: "取引に不安がありますか?", subtitle: "グローバルK-popファンのための取引安全検証ツール。AIが言語の壁、詐欺リスク、価格の妥当性を30秒で分析します。", placeholder: `取引投稿のテキストまたはURLを貼り付けてください...
748
+ https://twitter.com/...`, advancedOptions: "추가 옵션 (선택)", amountPlaceholder: "거래 금액 (USD)", checkSafety: "안전성 확인하기", analyzing: "분석 중...", analyzingDescription: "AI가 언어, 사기 신호, 가격을 분석하고 있습니다...", tryExample: "예시 보기" }, features: { title: "AI가 <1>3가지를 동시에</1> 분석합니다", translation: { title: "번역 + 뉘앙스 해석", description: "한국어 슬랭과 줄임말을 번역하고, 의심스러운 표현을 찾아냅니다." }, scamDetection: { title: "사기 신호 탐지", description: "선입금 요구, 계정 연령, 인증 부족 등 위험 패턴을 감지합니다." }, priceAnalysis: { title: "가격 적정성 분석", description: "시세 정보를 제공하고, 바가지 위험을 경고합니다." } }, howItWorks: { title: "사용 방법", step1: { title: "붙여넣기", description: "거래 글이나 URL을 복사해서 붙여넣으세요" }, step2: { title: "AI 분석", description: "AI가 30초 안에 언어, 사기 신호, 가격을 분석합니다" }, step3: { title: "결과 확인", description: "상세한 분석 결과와 안전 권장사항을 확인하세요" } }, result: { title: "거래 안전 분석", subtitle: "입력하신 정보를 AI가 분석한 결과입니다", notFound: "분석 결과를 찾을 수 없습니다", quickTitle: "분석 완료!", riskSignals: "위험 신호", cautions: "주의사항", safeIndicators: "안전 요소", detailsPreview: "상세 분석 결과", signupRequired: "가입하고 전체 정보 확인", signupMessage: "무료 계정을 만들어 상세한 AI 분석과 전문가 조언을 받아보세요", signupDescription: "무료 회원가입으로 전체 분석 결과와 AI 조언을 받으세요", signupButton: "무료 가입하기", signupToView: "가입하고 전체 분석 보기", whatToDo: "어떻게 대응할까요", translation: "번역 및 뉘앙스", translationTitle: "번역", nuanceTitle: "뉘앙스 설명", priceAnalysis: "가격 분석", marketPrice: "일반 시세", offeredPrice: "제시된 가격", priceAssessment: "가격 평가", priceWarnings: "가격 관련 경고", safetyChecklist: "안전 체크리스트", checklistDescription: "거래를 진행하기 전에 다음 항목을 확인하세요", recommendation: "종합 추천", expertAdvice: "전문가 조언", expertName: "K-pop 거래 전문가", riskLevel: { high: { title: "위험도 높음", message: "이 거래는 진행하지 않는 것을 권장합니다. 여러 위험 신호가 발견되었습니다." }, medium: { title: "신중하게 진행하세요", message: "몇 가지 의심스러운 점이 있습니다. 거래 전 신중하게 확인하세요." }, low: { title: "안전해 보입니다", message: "큰 위험 신호는 발견되지 않았지만, 항상 주의하세요!" } }, companionCta: { title: "이야기 나눌까요?", description: "마음속 이야기를 나눠보세요", button: "대화 시작하기" } } } }, Ie = {
749
+ page: me
750
+ }, pe = { tradeSafety: { hero: { title: "取引に不安がありますか?", subtitle: "グローバルK-popファンのための取引安全検証ツール。AIが言語の壁、詐欺リスク、価格の妥当性を30秒で分析します。", placeholder: `取引投稿のテキストまたはURLを貼り付けてください...
737
751
 
738
752
  例:
739
753
  급처분 ㅠㅠ 공구 실패해서 양도해요
740
754
  BTS ジミン フォトカード 무탈 DM
741
755
 
742
756
  または:
743
- https://twitter.com/...`, advancedOptions: "詳細オプション(任意)", amountPlaceholder: "取引金額(USD)", checkSafety: "安全性を確認", analyzing: "分析中...", analyzingDescription: "AIが言語、詐欺信号、価格を分析しています...", tryExample: "例を試す" }, features: { title: "AIが<1>3つを同時に</1>分析します", translation: { title: "翻訳 + ニュアンス解釈", description: "韓国語のスラングや略語を翻訳し、疑わしい表現を見つけます。" }, scamDetection: { title: "詐欺信号検出", description: "前払い要求、アカウント年齢、認証不足などのリスクパターンを検出します。" }, priceAnalysis: { title: "価格の妥当性分析", description: "市場価格情報を提供し、ぼったくりリスクを警告します。" } }, howItWorks: { title: "使い方", step1: { title: "貼り付け", description: "取引投稿のテキストまたはURLをコピーして貼り付けます" }, step2: { title: "AI分析", description: "AIが30秒で言語、詐欺信号、価格を分析します" }, step3: { title: "結果確認", description: "詳細な分析結果と安全推奨事項を確認します" } }, result: { title: "取引安全性分析", subtitle: "入力された情報をAIが分析した結果です", notFound: "分析結果が見つかりません", quickTitle: "分析完了!", riskSignals: "リスク信号", cautions: "注意事項", safeIndicators: "安全要素", detailsPreview: "詳細分析", signupRequired: "サインアップして詳細を確認", signupMessage: "無料アカウントを作成して詳細なAI分析と専門家のアドバイスを受け取る", signupDescription: "無料アカウントで完全な分析結果とAIアドバイスを取得", signupButton: "無料サインアップ", signupToView: "サインアップして全体分析を見る", whatToDo: "対応方法", translation: "翻訳とニュアンス", translationTitle: "翻訳", nuanceTitle: "ニュアンスの説明", priceAnalysis: "価格分析", marketPrice: "市場価格帯", offeredPrice: "提示価格", priceAssessment: "価格評価", priceWarnings: "価格警告", safetyChecklist: "安全チェックリスト", checklistDescription: "取引を進める前にこれらの項目を確認してください", recommendation: "総合推奨事項", expertAdvice: "専門家のアドバイス", expertName: "K-pop取引専門家", riskLevel: { high: { title: "リスク高", message: "この取引は進めないことをお勧めします。複数の危険信号が検出されました。" }, medium: { title: "慎重に進めてください", message: "いくつか懸念される点があります。取引前に慎重に確認してください。" }, low: { title: "安全そうです", message: "大きな危険信号は検出されませんでしたが、常に注意してください!" } }, companionCta: { title: "お話ししませんか?", description: "心に思っていることをAIコンパニオンと共有しましょう", button: "チャット開始" } } } }, Re = {
744
- page: de
745
- }, me = { tradeSafety: { hero: { title: "担心交易安全?", subtitle: "为全球K-pop粉丝提供的交易安全验证工具。AI在30秒内分析语言障碍、诈骗风险和价格合理性。", placeholder: `粘贴交易帖子文本或URL...
757
+ https://twitter.com/...`, advancedOptions: "詳細オプション(任意)", amountPlaceholder: "取引金額(USD)", checkSafety: "安全性を確認", analyzing: "分析中...", analyzingDescription: "AIが言語、詐欺信号、価格を分析しています...", tryExample: "例を試す" }, features: { title: "AIが<1>3つを同時に</1>分析します", translation: { title: "翻訳 + ニュアンス解釈", description: "韓国語のスラングや略語を翻訳し、疑わしい表現を見つけます。" }, scamDetection: { title: "詐欺信号検出", description: "前払い要求、アカウント年齢、認証不足などのリスクパターンを検出します。" }, priceAnalysis: { title: "価格の妥当性分析", description: "市場価格情報を提供し、ぼったくりリスクを警告します。" } }, howItWorks: { title: "使い方", step1: { title: "貼り付け", description: "取引投稿のテキストまたはURLをコピーして貼り付けます" }, step2: { title: "AI分析", description: "AIが30秒で言語、詐欺信号、価格を分析します" }, step3: { title: "結果確認", description: "詳細な分析結果と安全推奨事項を確認します" } }, result: { title: "取引安全性分析", subtitle: "入力された情報をAIが分析した結果です", notFound: "分析結果が見つかりません", quickTitle: "分析完了!", riskSignals: "リスク信号", cautions: "注意事項", safeIndicators: "安全要素", detailsPreview: "詳細分析", signupRequired: "サインアップして詳細を確認", signupMessage: "無料アカウントを作成して詳細なAI分析と専門家のアドバイスを受け取る", signupDescription: "無料アカウントで完全な分析結果とAIアドバイスを取得", signupButton: "無料サインアップ", signupToView: "サインアップして全体分析を見る", whatToDo: "対応方法", translation: "翻訳とニュアンス", translationTitle: "翻訳", nuanceTitle: "ニュアンスの説明", priceAnalysis: "価格分析", marketPrice: "市場価格帯", offeredPrice: "提示価格", priceAssessment: "価格評価", priceWarnings: "価格警告", safetyChecklist: "安全チェックリスト", checklistDescription: "取引を進める前にこれらの項目を確認してください", recommendation: "総合推奨事項", expertAdvice: "専門家のアドバイス", expertName: "K-pop取引専門家", riskLevel: { high: { title: "リスク高", message: "この取引は進めないことをお勧めします。複数の危険信号が検出されました。" }, medium: { title: "慎重に進めてください", message: "いくつか懸念される点があります。取引前に慎重に確認してください。" }, low: { title: "安全そうです", message: "大きな危険信号は検出されませんでしたが、常に注意してください!" } }, companionCta: { title: "お話ししませんか?", description: "心に思っていることをAIコンパニオンと共有しましょう", button: "チャット開始" } } } }, Te = {
758
+ page: pe
759
+ }, ue = { tradeSafety: { hero: { title: "担心交易安全?", subtitle: "为全球K-pop粉丝提供的交易安全验证工具。AI在30秒内分析语言障碍、诈骗风险和价格合理性。", placeholder: `粘贴交易帖子文本或URL...
746
760
 
747
761
  示例:
748
762
  급처분 ㅠㅠ 공구 실패해서 양도해요
749
763
  BTS Jimin 小卡 무탈 DM
750
764
 
751
765
  或:
752
- https://twitter.com/...`, advancedOptions: "高级选项(可选)", amountPlaceholder: "交易金额(USD)", checkSafety: "检查安全性", analyzing: "分析中...", analyzingDescription: "AI正在分析语言、诈骗信号和价格...", tryExample: "试试示例" }, features: { title: "AI<1>同时分析3个方面</1>", translation: { title: "翻译 + 语气解读", description: "翻译韩语俚语和缩写,识别可疑表达。" }, scamDetection: { title: "诈骗信号检测", description: "检测预付款要求、账号年龄、缺少验证等风险模式。" }, priceAnalysis: { title: "价格合理性分析", description: "提供市场价格信息,警告价格过高风险。" } }, howItWorks: { title: "使用方法", step1: { title: "粘贴", description: "复制并粘贴交易帖子文本或URL" }, step2: { title: "AI分析", description: "AI在30秒内分析语言、诈骗信号和价格" }, step3: { title: "查看结果", description: "查看详细分析结果和安全建议" } }, result: { title: "交易安全分析", subtitle: "基于您提供的信息进行AI分析的结果", notFound: "未找到分析结果", quickTitle: "分析完成!", riskSignals: "风险信号", cautions: "注意事项", safeIndicators: "安全要素", detailsPreview: "详细分析", signupRequired: "注册查看完整详情", signupMessage: "创建免费账户以获取详细的AI分析和专家建议", signupDescription: "免费注册获取完整分析结果和AI建议", signupButton: "免费注册", signupToView: "注册查看完整分析", whatToDo: "如何应对", translation: "翻译与语境", translationTitle: "翻译", nuanceTitle: "语境说明", priceAnalysis: "价格分析", marketPrice: "市场价格区间", offeredPrice: "报价", priceAssessment: "价格评估", priceWarnings: "价格警告", safetyChecklist: "安全检查清单", checklistDescription: "交易前请检查这些项目", recommendation: "综合建议", expertAdvice: "专家建议", expertName: "K-pop交易专家", riskLevel: { high: { title: "高风险", message: "建议不要进行此交易。检测到多个危险信号。" }, medium: { title: "谨慎进行", message: "检测到一些可疑迹象。交易前请仔细核实。" }, low: { title: "看起来安全", message: "未检测到重大危险信号,但请始终保持警惕!" } }, companionCta: { title: "想聊聊吗?", description: "与您的AI同伴分享您心中所想", button: "开始聊天" } } } }, Ie = {
753
- page: me
754
- }, pe = { tradeSafety: { hero: { title: "¿Preocupado por una transacción?", subtitle: "Herramienta de verificación de seguridad en transacciones para fans globales de K-pop. La IA analiza barreras lingüísticas, riesgos de estafa y precios justos en 30 segundos.", placeholder: `Pega el texto o URL de la publicación...
766
+ https://twitter.com/...`, advancedOptions: "高级选项(可选)", amountPlaceholder: "交易金额(USD)", checkSafety: "检查安全性", analyzing: "分析中...", analyzingDescription: "AI正在分析语言、诈骗信号和价格...", tryExample: "试试示例" }, features: { title: "AI<1>同时分析3个方面</1>", translation: { title: "翻译 + 语气解读", description: "翻译韩语俚语和缩写,识别可疑表达。" }, scamDetection: { title: "诈骗信号检测", description: "检测预付款要求、账号年龄、缺少验证等风险模式。" }, priceAnalysis: { title: "价格合理性分析", description: "提供市场价格信息,警告价格过高风险。" } }, howItWorks: { title: "使用方法", step1: { title: "粘贴", description: "复制并粘贴交易帖子文本或URL" }, step2: { title: "AI分析", description: "AI在30秒内分析语言、诈骗信号和价格" }, step3: { title: "查看结果", description: "查看详细分析结果和安全建议" } }, result: { title: "交易安全分析", subtitle: "基于您提供的信息进行AI分析的结果", notFound: "未找到分析结果", quickTitle: "分析完成!", riskSignals: "风险信号", cautions: "注意事项", safeIndicators: "安全要素", detailsPreview: "详细分析", signupRequired: "注册查看完整详情", signupMessage: "创建免费账户以获取详细的AI分析和专家建议", signupDescription: "免费注册获取完整分析结果和AI建议", signupButton: "免费注册", signupToView: "注册查看完整分析", whatToDo: "如何应对", translation: "翻译与语境", translationTitle: "翻译", nuanceTitle: "语境说明", priceAnalysis: "价格分析", marketPrice: "市场价格区间", offeredPrice: "报价", priceAssessment: "价格评估", priceWarnings: "价格警告", safetyChecklist: "安全检查清单", checklistDescription: "交易前请检查这些项目", recommendation: "综合建议", expertAdvice: "专家建议", expertName: "K-pop交易专家", riskLevel: { high: { title: "高风险", message: "建议不要进行此交易。检测到多个危险信号。" }, medium: { title: "谨慎进行", message: "检测到一些可疑迹象。交易前请仔细核实。" }, low: { title: "看起来安全", message: "未检测到重大危险信号,但请始终保持警惕!" } }, companionCta: { title: "想聊聊吗?", description: "与您的AI同伴分享您心中所想", button: "开始聊天" } } } }, Ce = {
767
+ page: ue
768
+ }, ge = { tradeSafety: { hero: { title: "¿Preocupado por una transacción?", subtitle: "Herramienta de verificación de seguridad en transacciones para fans globales de K-pop. La IA analiza barreras lingüísticas, riesgos de estafa y precios justos en 30 segundos.", placeholder: `Pega el texto o URL de la publicación...
755
769
 
756
770
  Ejemplo:
757
771
  급처분 ㅠㅠ 공구 실패해서 양도해요
758
772
  BTS Jimin photocard 무탈 DM
759
773
 
760
774
  O:
761
- https://twitter.com/...`, advancedOptions: "Opciones Avanzadas (Opcional)", amountPlaceholder: "Monto de la Transacción (USD)", checkSafety: "Verificar Seguridad", analyzing: "Analizando...", analyzingDescription: "La IA está analizando idioma, señales de estafa y precio...", tryExample: "Probar ejemplo" }, features: { title: "La IA Analiza <1>3 Cosas Simultáneamente</1>", translation: { title: "Traducción + Matiz", description: "Traduce jerga coreana e identifica expresiones sospechosas." }, scamDetection: { title: "Detección de Señales de Estafa", description: "Detecta patrones de riesgo como solicitudes de pago anticipado, antigüedad de la cuenta y falta de verificación." }, priceAnalysis: { title: "Análisis de Precios Justos", description: "Proporciona información de precios de mercado y advierte sobre precios excesivos." } }, howItWorks: { title: "Cómo Funciona", step1: { title: "Pegar", description: "Copie y pegue el texto o URL de la publicación" }, step2: { title: "Análisis IA", description: "La IA analiza idioma, señales de estafa y precio en 30 segundos" }, step3: { title: "Ver Resultados", description: "Vea el análisis detallado y las recomendaciones de seguridad" } }, result: { title: "Análisis de Seguridad Comercial", subtitle: "Basado en el análisis de IA de la información proporcionada", notFound: "Resultado del análisis no encontrado", quickTitle: "¡Análisis Completo!", riskSignals: "Señales de Riesgo", cautions: "Precauciones", safeIndicators: "Indicadores Seguros", detailsPreview: "Análisis Detallado", signupRequired: "Regístrate para ver todos los detalles", signupMessage: "Crea una cuenta gratuita para obtener análisis detallado de IA y consejos de expertos", signupDescription: "Obtén el análisis completo y consejos de IA con una cuenta gratuita", signupButton: "Registro Gratuito", signupToView: "Regístrate para ver el análisis completo", whatToDo: "Qué hacer", translation: "Traducción y Matices", translationTitle: "Traducción", nuanceTitle: "Explicación de Matices", priceAnalysis: "Análisis de Precios", marketPrice: "Rango de Precio de Mercado", offeredPrice: "Precio Ofrecido", priceAssessment: "Evaluación de Precio", priceWarnings: "Advertencias de Precio", safetyChecklist: "Lista de Verificación de Seguridad", checklistDescription: "Revise estos elementos antes de proceder con la transacción", recommendation: "Recomendación", expertAdvice: "Consejo de Experto", expertName: "Experto en Comercio de K-pop", riskLevel: { high: { title: "Alto Riesgo", message: "Recomendamos NO proceder con esta transacción. Se detectaron múltiples señales de alarma." }, medium: { title: "Proceder con Precaución", message: "Se detectaron algunas señales preocupantes. Verifique cuidadosamente antes de comerciar." }, low: { title: "Parece Seguro", message: "No se detectaron señales de alarma importantes, pero ¡siempre sea cauteloso!" } }, companionCta: { title: "¿Quieres hablar?", description: "Comparte lo que tienes en mente con tu compañero de IA", button: "Iniciar Chat" } } } }, Te = {
762
- page: pe
763
- }, ue = { tradeSafety: { hero: { title: "Khawatir Tentang Transaksi?", subtitle: "Alat verifikasi keamanan transaksi untuk penggemar K-pop global. AI menganalisis hambatan bahasa, risiko penipuan, dan keadilan harga dalam 30 detik.", placeholder: `Tempel teks atau URL postingan transaksi...
775
+ https://twitter.com/...`, advancedOptions: "Opciones Avanzadas (Opcional)", amountPlaceholder: "Monto de la Transacción (USD)", checkSafety: "Verificar Seguridad", analyzing: "Analizando...", analyzingDescription: "La IA está analizando idioma, señales de estafa y precio...", tryExample: "Probar ejemplo" }, features: { title: "La IA Analiza <1>3 Cosas Simultáneamente</1>", translation: { title: "Traducción + Matiz", description: "Traduce jerga coreana e identifica expresiones sospechosas." }, scamDetection: { title: "Detección de Señales de Estafa", description: "Detecta patrones de riesgo como solicitudes de pago anticipado, antigüedad de la cuenta y falta de verificación." }, priceAnalysis: { title: "Análisis de Precios Justos", description: "Proporciona información de precios de mercado y advierte sobre precios excesivos." } }, howItWorks: { title: "Cómo Funciona", step1: { title: "Pegar", description: "Copie y pegue el texto o URL de la publicación" }, step2: { title: "Análisis IA", description: "La IA analiza idioma, señales de estafa y precio en 30 segundos" }, step3: { title: "Ver Resultados", description: "Vea el análisis detallado y las recomendaciones de seguridad" } }, result: { title: "Análisis de Seguridad Comercial", subtitle: "Basado en el análisis de IA de la información proporcionada", notFound: "Resultado del análisis no encontrado", quickTitle: "¡Análisis Completo!", riskSignals: "Señales de Riesgo", cautions: "Precauciones", safeIndicators: "Indicadores Seguros", detailsPreview: "Análisis Detallado", signupRequired: "Regístrate para ver todos los detalles", signupMessage: "Crea una cuenta gratuita para obtener análisis detallado de IA y consejos de expertos", signupDescription: "Obtén el análisis completo y consejos de IA con una cuenta gratuita", signupButton: "Registro Gratuito", signupToView: "Regístrate para ver el análisis completo", whatToDo: "Qué hacer", translation: "Traducción y Matices", translationTitle: "Traducción", nuanceTitle: "Explicación de Matices", priceAnalysis: "Análisis de Precios", marketPrice: "Rango de Precio de Mercado", offeredPrice: "Precio Ofrecido", priceAssessment: "Evaluación de Precio", priceWarnings: "Advertencias de Precio", safetyChecklist: "Lista de Verificación de Seguridad", checklistDescription: "Revise estos elementos antes de proceder con la transacción", recommendation: "Recomendación", expertAdvice: "Consejo de Experto", expertName: "Experto en Comercio de K-pop", riskLevel: { high: { title: "Alto Riesgo", message: "Recomendamos NO proceder con esta transacción. Se detectaron múltiples señales de alarma." }, medium: { title: "Proceder con Precaución", message: "Se detectaron algunas señales preocupantes. Verifique cuidadosamente antes de comerciar." }, low: { title: "Parece Seguro", message: "No se detectaron señales de alarma importantes, pero ¡siempre sea cauteloso!" } }, companionCta: { title: "¿Quieres hablar?", description: "Comparte lo que tienes en mente con tu compañero de IA", button: "Iniciar Chat" } } } }, Ee = {
776
+ page: ge
777
+ }, he = { tradeSafety: { hero: { title: "Khawatir Tentang Transaksi?", subtitle: "Alat verifikasi keamanan transaksi untuk penggemar K-pop global. AI menganalisis hambatan bahasa, risiko penipuan, dan keadilan harga dalam 30 detik.", placeholder: `Tempel teks atau URL postingan transaksi...
764
778
 
765
779
  Contoh:
766
780
  급처분 ㅠㅠ 공구 실패해서 양도해요
767
781
  BTS Jimin photocard 무탈 DM
768
782
 
769
783
  Atau:
770
- https://twitter.com/...`, advancedOptions: "Opsi Lanjutan (Opsional)", amountPlaceholder: "Jumlah Transaksi (USD)", checkSafety: "Periksa Keamanan", analyzing: "Menganalisis...", analyzingDescription: "AI sedang menganalisis bahasa, sinyal penipuan, dan harga...", tryExample: "Coba contoh" }, features: { title: "AI Menganalisis <1>3 Hal Secara Bersamaan</1>", translation: { title: "Terjemahan + Nuansa", description: "Menerjemahkan slang Korea dan mengidentifikasi ekspresi yang mencurigakan." }, scamDetection: { title: "Deteksi Sinyal Penipuan", description: "Mendeteksi pola risiko seperti permintaan pembayaran di muka, usia akun, dan kurangnya verifikasi." }, priceAnalysis: { title: "Analisis Keadilan Harga", description: "Memberikan info harga pasar dan memperingatkan tentang harga berlebihan." } }, howItWorks: { title: "Cara Kerja", step1: { title: "Tempel", description: "Salin dan tempel teks atau URL postingan transaksi" }, step2: { title: "Analisis AI", description: "AI menganalisis bahasa, sinyal penipuan, dan harga dalam 30 detik" }, step3: { title: "Lihat Hasil", description: "Lihat analisis terperinci dan rekomendasi keamanan" } }, result: { title: "Analisis Keamanan Transaksi", subtitle: "Berdasarkan analisis AI dari informasi yang Anda berikan", notFound: "Hasil analisis tidak ditemukan", quickTitle: "Analisis Selesai!", riskSignals: "Sinyal Risiko", cautions: "Peringatan", safeIndicators: "Indikator Aman", detailsPreview: "Analisis Terperinci", signupRequired: "Daftar untuk melihat detail lengkap", signupMessage: "Buat akun gratis untuk mendapatkan analisis AI terperinci dan saran ahli", signupDescription: "Dapatkan analisis lengkap dan saran AI dengan akun gratis", signupButton: "Daftar Gratis", signupToView: "Daftar untuk melihat analisis lengkap", whatToDo: "Apa yang harus dilakukan", translation: "Terjemahan & Nuansa", translationTitle: "Terjemahan", nuanceTitle: "Penjelasan Nuansa", priceAnalysis: "Analisis Harga", marketPrice: "Kisaran Harga Pasar", offeredPrice: "Harga yang Ditawarkan", priceAssessment: "Penilaian Harga", priceWarnings: "Peringatan Harga", safetyChecklist: "Daftar Periksa Keamanan", checklistDescription: "Periksa item-item ini sebelum melanjutkan transaksi", recommendation: "Rekomendasi", expertAdvice: "Saran Ahli", expertName: "Ahli Transaksi K-pop", riskLevel: { high: { title: "Risiko Tinggi", message: "Kami merekomendasikan TIDAK melanjutkan transaksi ini. Terdeteksi beberapa tanda bahaya." }, medium: { title: "Lanjutkan dengan Hati-hati", message: "Terdeteksi beberapa tanda yang mengkhawatirkan. Harap verifikasi dengan hati-hati sebelum bertransaksi." }, low: { title: "Terlihat Aman", message: "Tidak ada tanda bahaya besar yang terdeteksi, tetapi selalu berhati-hati!" } }, companionCta: { title: "Ingin bicara?", description: "Bagikan apa yang ada di pikiran Anda dengan rekan AI Anda", button: "Mulai Chat" } } } }, Ce = {
771
- page: ue
784
+ https://twitter.com/...`, advancedOptions: "Opsi Lanjutan (Opsional)", amountPlaceholder: "Jumlah Transaksi (USD)", checkSafety: "Periksa Keamanan", analyzing: "Menganalisis...", analyzingDescription: "AI sedang menganalisis bahasa, sinyal penipuan, dan harga...", tryExample: "Coba contoh" }, features: { title: "AI Menganalisis <1>3 Hal Secara Bersamaan</1>", translation: { title: "Terjemahan + Nuansa", description: "Menerjemahkan slang Korea dan mengidentifikasi ekspresi yang mencurigakan." }, scamDetection: { title: "Deteksi Sinyal Penipuan", description: "Mendeteksi pola risiko seperti permintaan pembayaran di muka, usia akun, dan kurangnya verifikasi." }, priceAnalysis: { title: "Analisis Keadilan Harga", description: "Memberikan info harga pasar dan memperingatkan tentang harga berlebihan." } }, howItWorks: { title: "Cara Kerja", step1: { title: "Tempel", description: "Salin dan tempel teks atau URL postingan transaksi" }, step2: { title: "Analisis AI", description: "AI menganalisis bahasa, sinyal penipuan, dan harga dalam 30 detik" }, step3: { title: "Lihat Hasil", description: "Lihat analisis terperinci dan rekomendasi keamanan" } }, result: { title: "Analisis Keamanan Transaksi", subtitle: "Berdasarkan analisis AI dari informasi yang Anda berikan", notFound: "Hasil analisis tidak ditemukan", quickTitle: "Analisis Selesai!", riskSignals: "Sinyal Risiko", cautions: "Peringatan", safeIndicators: "Indikator Aman", detailsPreview: "Analisis Terperinci", signupRequired: "Daftar untuk melihat detail lengkap", signupMessage: "Buat akun gratis untuk mendapatkan analisis AI terperinci dan saran ahli", signupDescription: "Dapatkan analisis lengkap dan saran AI dengan akun gratis", signupButton: "Daftar Gratis", signupToView: "Daftar untuk melihat analisis lengkap", whatToDo: "Apa yang harus dilakukan", translation: "Terjemahan & Nuansa", translationTitle: "Terjemahan", nuanceTitle: "Penjelasan Nuansa", priceAnalysis: "Analisis Harga", marketPrice: "Kisaran Harga Pasar", offeredPrice: "Harga yang Ditawarkan", priceAssessment: "Penilaian Harga", priceWarnings: "Peringatan Harga", safetyChecklist: "Daftar Periksa Keamanan", checklistDescription: "Periksa item-item ini sebelum melanjutkan transaksi", recommendation: "Rekomendasi", expertAdvice: "Saran Ahli", expertName: "Ahli Transaksi K-pop", riskLevel: { high: { title: "Risiko Tinggi", message: "Kami merekomendasikan TIDAK melanjutkan transaksi ini. Terdeteksi beberapa tanda bahaya." }, medium: { title: "Lanjutkan dengan Hati-hati", message: "Terdeteksi beberapa tanda yang mengkhawatirkan. Harap verifikasi dengan hati-hati sebelum bertransaksi." }, low: { title: "Terlihat Aman", message: "Tidak ada tanda bahaya besar yang terdeteksi, tetapi selalu berhati-hati!" } }, companionCta: { title: "Ingin bicara?", description: "Bagikan apa yang ada di pikiran Anda dengan rekan AI Anda", button: "Mulai Chat" } } } }, De = {
785
+ page: he
772
786
  };
773
787
  export {
774
- xe as DetailedResult,
775
- we as QuickResultTeaser,
776
- Ae as RISK_SCORE_THRESHOLDS,
777
- g as RiskSignalCard,
778
- ke as TradeSafetyRepository,
779
- Se as enTranslations,
780
- Te as esTranslations,
781
- Ce as idTranslations,
782
- Re as jaTranslations,
783
- Ne as koTranslations,
784
- Ie as zhTranslations
788
+ ke as DetailedResult,
789
+ Ae as QuickResultTeaser,
790
+ Ne as RISK_SCORE_THRESHOLDS,
791
+ h as RiskSignalCard,
792
+ Se as TradeSafetyRepository,
793
+ Re as enTranslations,
794
+ Ee as esTranslations,
795
+ De as idTranslations,
796
+ Te as jaTranslations,
797
+ Ie as koTranslations,
798
+ Ce as zhTranslations
785
799
  };
786
800
  //# sourceMappingURL=index.mjs.map