@tipp/ui 2.10.0 → 2.10.2
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/app/index.js +8 -8
- package/dist/app/platform/edit-coaching-time.js +8 -8
- package/dist/app/platform/edit-service-type.js +8 -8
- package/dist/app/platform/goal-manage-card-edit.js +8 -8
- package/dist/app/platform/on-offline-radio-card.js +8 -8
- package/dist/app/platform/reservation-card.js +8 -8
- package/dist/app/platform/session-card.js +8 -8
- package/dist/app/roleplay/index.cjs +362 -428
- package/dist/app/roleplay/index.cjs.map +1 -1
- package/dist/app/roleplay/index.js +19 -18
- package/dist/app/roleplay/parts/content.cjs +281 -290
- package/dist/app/roleplay/parts/content.cjs.map +1 -1
- package/dist/app/roleplay/parts/content.js +15 -14
- package/dist/app/roleplay/parts/header.cjs +1 -1
- package/dist/app/roleplay/parts/header.cjs.map +1 -1
- package/dist/app/roleplay/parts/header.js +1 -1
- package/dist/app/roleplay/parts/score-summary.cjs +32 -46
- package/dist/app/roleplay/parts/score-summary.cjs.map +1 -1
- package/dist/app/roleplay/parts/score-summary.js +2 -1
- package/dist/app/roleplay/parts/score-trend-section.cjs +16 -15
- package/dist/app/roleplay/parts/score-trend-section.cjs.map +1 -1
- package/dist/app/roleplay/parts/score-trend-section.js +9 -10
- package/dist/app/roleplay/parts/script-transcript.cjs +29 -37
- package/dist/app/roleplay/parts/script-transcript.cjs.map +1 -1
- package/dist/app/roleplay/parts/script-transcript.js +2 -1
- package/dist/app/roleplay/parts/section-nav.cjs +3 -2
- package/dist/app/roleplay/parts/section-nav.cjs.map +1 -1
- package/dist/app/roleplay/parts/section-nav.js +1 -1
- package/dist/app/roleplay/parts/session-replay-dialog.cjs +39 -47
- package/dist/app/roleplay/parts/session-replay-dialog.cjs.map +1 -1
- package/dist/app/roleplay/parts/session-replay-dialog.js +3 -2
- package/dist/app/roleplay/parts/speech-share-bar.cjs +2171 -0
- package/dist/app/roleplay/parts/speech-share-bar.cjs.map +1 -0
- package/dist/app/roleplay/parts/speech-share-bar.d.cts +9 -0
- package/dist/app/roleplay/parts/speech-share-bar.d.ts +9 -0
- package/dist/app/roleplay/parts/speech-share-bar.js +96 -0
- package/dist/app/roleplay/parts/speech-share-bar.js.map +1 -0
- package/dist/app/roleplay/parts/step-summary.cjs +2 -2
- package/dist/app/roleplay/parts/step-summary.cjs.map +1 -1
- package/dist/app/roleplay/parts/step-summary.js +1 -1
- package/dist/app/roleplay/rp-session-detail.cjs +362 -428
- package/dist/app/roleplay/rp-session-detail.cjs.map +1 -1
- package/dist/app/roleplay/rp-session-detail.js +19 -18
- package/dist/{chunk-6YIKOYBQ.js → chunk-2XDAK4B7.js} +5 -73
- package/dist/chunk-2XDAK4B7.js.map +1 -0
- package/dist/{chunk-U2EAXN3Y.js → chunk-A32HLL53.js} +4 -4
- package/dist/{chunk-3UGBMKSQ.js → chunk-AS3JVRQ3.js} +2 -2
- package/dist/{chunk-NKW6BO5R.js → chunk-DIISQDYA.js} +4 -3
- package/dist/chunk-DIISQDYA.js.map +1 -0
- package/dist/{chunk-N242VJOP.js → chunk-IIZ7I7NS.js} +5 -5
- package/dist/{chunk-2TOASXPK.js → chunk-MD64AUR6.js} +8 -8
- package/dist/chunk-MD64AUR6.js.map +1 -0
- package/dist/{chunk-LRNO4W2P.js → chunk-NSDVLCCW.js} +5 -5
- package/dist/{chunk-EHDUKUML.js → chunk-RNGEVYY5.js} +12 -72
- package/dist/chunk-RNGEVYY5.js.map +1 -0
- package/dist/{chunk-XM4GWPXC.js → chunk-RZW6FVML.js} +18 -12
- package/dist/chunk-RZW6FVML.js.map +1 -0
- package/dist/{chunk-T7LKMJVA.js → chunk-SZAU7YP3.js} +4 -4
- package/dist/{chunk-O332K3SW.js → chunk-UK3LP7VH.js} +2 -2
- package/dist/{chunk-QMAINJ4G.js → chunk-VM2PEQLQ.js} +2 -2
- package/dist/chunk-VM2PEQLQ.js.map +1 -0
- package/dist/chunk-W72CR2TG.js +71 -0
- package/dist/chunk-W72CR2TG.js.map +1 -0
- package/dist/{chunk-EBFQFOUQ.js → chunk-WVY3C64M.js} +3 -3
- package/dist/chunk-WVY3C64M.js.map +1 -0
- package/dist/{chunk-SOKGYD5B.js → chunk-YFR3HXSV.js} +2 -2
- package/dist/index.js +8 -8
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.js +3 -3
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.js +2 -2
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.js +5 -5
- package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.js +6 -6
- package/dist/molecules/curriculumV2/CurriculumContents/index.js +8 -8
- package/dist/molecules/curriculumV2/index.js +8 -8
- package/dist/molecules/index.js +8 -8
- package/package.json +1 -1
- package/src/app/roleplay/parts/content.tsx +3 -3
- package/src/app/roleplay/parts/header.tsx +1 -1
- package/src/app/roleplay/parts/score-summary.tsx +4 -57
- package/src/app/roleplay/parts/score-trend-section.tsx +19 -9
- package/src/app/roleplay/parts/script-transcript.tsx +9 -64
- package/src/app/roleplay/parts/section-nav.tsx +3 -2
- package/src/app/roleplay/parts/speech-share-bar.tsx +54 -0
- package/src/app/roleplay/parts/step-summary.tsx +2 -4
- package/dist/chunk-2TOASXPK.js.map +0 -1
- package/dist/chunk-6YIKOYBQ.js.map +0 -1
- package/dist/chunk-EBFQFOUQ.js.map +0 -1
- package/dist/chunk-EHDUKUML.js.map +0 -1
- package/dist/chunk-NKW6BO5R.js.map +0 -1
- package/dist/chunk-QMAINJ4G.js.map +0 -1
- package/dist/chunk-XM4GWPXC.js.map +0 -1
- /package/dist/{chunk-U2EAXN3Y.js.map → chunk-A32HLL53.js.map} +0 -0
- /package/dist/{chunk-3UGBMKSQ.js.map → chunk-AS3JVRQ3.js.map} +0 -0
- /package/dist/{chunk-N242VJOP.js.map → chunk-IIZ7I7NS.js.map} +0 -0
- /package/dist/{chunk-LRNO4W2P.js.map → chunk-NSDVLCCW.js.map} +0 -0
- /package/dist/{chunk-T7LKMJVA.js.map → chunk-SZAU7YP3.js.map} +0 -0
- /package/dist/{chunk-O332K3SW.js.map → chunk-UK3LP7VH.js.map} +0 -0
- /package/dist/{chunk-SOKGYD5B.js.map → chunk-YFR3HXSV.js.map} +0 -0
|
@@ -2922,9 +2922,11 @@ function CoachingPanel({ skills }) {
|
|
|
2922
2922
|
)) }) });
|
|
2923
2923
|
}
|
|
2924
2924
|
|
|
2925
|
-
// src/app/roleplay/parts/
|
|
2925
|
+
// src/app/roleplay/parts/speech-share-bar.tsx
|
|
2926
2926
|
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
2927
|
-
function SpeechShareBar({
|
|
2927
|
+
function SpeechShareBar({
|
|
2928
|
+
share
|
|
2929
|
+
}) {
|
|
2928
2930
|
const isOvertalking = share.userPct > SPEECH_OVERTALK_THRESHOLD;
|
|
2929
2931
|
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_themes7.Box, { children: [
|
|
2930
2932
|
/* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_themes23.Flex, { align: "center", justify: "between", mb: "1", children: [
|
|
@@ -2933,10 +2935,9 @@ function SpeechShareBar({ share }) {
|
|
|
2933
2935
|
{
|
|
2934
2936
|
as: "span",
|
|
2935
2937
|
style: {
|
|
2936
|
-
fontSize: "0.75rem",
|
|
2937
2938
|
color: isOvertalking ? "var(--red-11)" : "var(--accent-11)"
|
|
2938
2939
|
},
|
|
2939
|
-
variant: "
|
|
2940
|
+
variant: "caption",
|
|
2940
2941
|
weight: "medium",
|
|
2941
2942
|
children: [
|
|
2942
2943
|
"\uB0B4 \uBC1C\uD654\uB7C9 ",
|
|
@@ -2945,20 +2946,11 @@ function SpeechShareBar({ share }) {
|
|
|
2945
2946
|
]
|
|
2946
2947
|
}
|
|
2947
2948
|
),
|
|
2948
|
-
/* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
|
|
2949
|
-
|
|
2950
|
-
|
|
2951
|
-
|
|
2952
|
-
|
|
2953
|
-
style: { fontSize: "0.75rem" },
|
|
2954
|
-
variant: "body",
|
|
2955
|
-
children: [
|
|
2956
|
-
"\uC0C1\uB300 ",
|
|
2957
|
-
share.partnerPct,
|
|
2958
|
-
"%"
|
|
2959
|
-
]
|
|
2960
|
-
}
|
|
2961
|
-
)
|
|
2949
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(Typo, { as: "span", color: "gray", variant: "caption", children: [
|
|
2950
|
+
"\uC0C1\uB300 ",
|
|
2951
|
+
share.partnerPct,
|
|
2952
|
+
"%"
|
|
2953
|
+
] })
|
|
2962
2954
|
] }),
|
|
2963
2955
|
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
2964
2956
|
import_themes23.Flex,
|
|
@@ -2980,18 +2972,12 @@ function SpeechShareBar({ share }) {
|
|
|
2980
2972
|
)
|
|
2981
2973
|
}
|
|
2982
2974
|
),
|
|
2983
|
-
isOvertalking ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
2984
|
-
Typo,
|
|
2985
|
-
{
|
|
2986
|
-
as: "p",
|
|
2987
|
-
mt: "1",
|
|
2988
|
-
style: { fontSize: "0.75rem", color: "var(--red-11)" },
|
|
2989
|
-
variant: "body",
|
|
2990
|
-
children: "\uC0C1\uB300\uC758 \uB9D0\uC744 \uB354 \uB4E3\uACE0 \uC9C8\uBB38\xB7\uACBD\uCCAD\uC758 \uBE44\uC911\uC744 \uB192\uC5EC \uBCF4\uC138\uC694"
|
|
2991
|
-
}
|
|
2992
|
-
) : null
|
|
2975
|
+
isOvertalking ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Typo, { as: "p", color: "red", mt: "1", variant: "caption", children: "\uC0C1\uB300\uC758 \uB9D0\uC744 \uB354 \uB4E3\uACE0 \uC9C8\uBB38\xB7\uACBD\uCCAD\uC758 \uBE44\uC911\uC744 \uB192\uC5EC \uBCF4\uC138\uC694" }) : null
|
|
2993
2976
|
] });
|
|
2994
2977
|
}
|
|
2978
|
+
|
|
2979
|
+
// src/app/roleplay/parts/score-summary.tsx
|
|
2980
|
+
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
2995
2981
|
function ScoreSummary({
|
|
2996
2982
|
detail,
|
|
2997
2983
|
report,
|
|
@@ -3000,18 +2986,18 @@ function ScoreSummary({
|
|
|
3000
2986
|
var _a;
|
|
3001
2987
|
const scoreValue = (_a = detail.totalScore) != null ? _a : report.totalScore;
|
|
3002
2988
|
const comment = report.comment;
|
|
3003
|
-
return /* @__PURE__ */ (0,
|
|
2989
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
|
|
3004
2990
|
import_themes24.Grid,
|
|
3005
2991
|
{
|
|
3006
2992
|
align: "start",
|
|
3007
2993
|
columns: comment ? { initial: "1", md: "minmax(0, 240px) 1fr" } : "1",
|
|
3008
2994
|
gap: "5",
|
|
3009
2995
|
children: [
|
|
3010
|
-
/* @__PURE__ */ (0,
|
|
3011
|
-
/* @__PURE__ */ (0,
|
|
3012
|
-
/* @__PURE__ */ (0,
|
|
3013
|
-
/* @__PURE__ */ (0,
|
|
3014
|
-
/* @__PURE__ */ (0,
|
|
2996
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(Card, { variant: "surface", children: [
|
|
2997
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_themes23.Flex, { align: "center", direction: "column", gap: "2", py: "3", children: [
|
|
2998
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Typo, { as: "p", color: "gray", variant: "body", weight: "medium", children: "\uC885\uD569 \uC810\uC218" }),
|
|
2999
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_themes23.Flex, { align: "baseline", gap: "1", children: [
|
|
3000
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
3015
3001
|
Typo,
|
|
3016
3002
|
{
|
|
3017
3003
|
as: "span",
|
|
@@ -3025,18 +3011,18 @@ function ScoreSummary({
|
|
|
3025
3011
|
children: scoreValue != null ? scoreValue : "\u2014"
|
|
3026
3012
|
}
|
|
3027
3013
|
),
|
|
3028
|
-
/* @__PURE__ */ (0,
|
|
3014
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Typo, { as: "span", color: "gray", mono: true, variant: "subtitle", children: "/100" })
|
|
3029
3015
|
] })
|
|
3030
3016
|
] }),
|
|
3031
|
-
speechShare ? /* @__PURE__ */ (0,
|
|
3032
|
-
/* @__PURE__ */ (0,
|
|
3033
|
-
/* @__PURE__ */ (0,
|
|
3017
|
+
speechShare ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_jsx_runtime64.Fragment, { children: [
|
|
3018
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes40.Separator, { my: "3", size: "4" }),
|
|
3019
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(SpeechShareBar, { share: speechShare })
|
|
3034
3020
|
] }) : null
|
|
3035
3021
|
] }),
|
|
3036
|
-
comment ? /* @__PURE__ */ (0,
|
|
3037
|
-
/* @__PURE__ */ (0,
|
|
3038
|
-
/* @__PURE__ */ (0,
|
|
3039
|
-
report.deduction ? /* @__PURE__ */ (0,
|
|
3022
|
+
comment ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_themes23.Flex, { direction: "column", gap: "3", children: [
|
|
3023
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Typo, { as: "p", variant: "body", weight: "medium", children: "\uC885\uD569 \uBD84\uC11D" }),
|
|
3024
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes7.Box, { style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Typo, { as: "p", variant: "body", children: comment }) }),
|
|
3025
|
+
report.deduction ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
|
|
3040
3026
|
import_themes7.Box,
|
|
3041
3027
|
{
|
|
3042
3028
|
pl: "3",
|
|
@@ -3048,12 +3034,12 @@ function ScoreSummary({
|
|
|
3048
3034
|
borderRadius: "var(--radius-2)"
|
|
3049
3035
|
},
|
|
3050
3036
|
children: [
|
|
3051
|
-
/* @__PURE__ */ (0,
|
|
3037
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
|
|
3052
3038
|
Typo,
|
|
3053
3039
|
{
|
|
3054
3040
|
as: "p",
|
|
3041
|
+
color: "amber",
|
|
3055
3042
|
mono: true,
|
|
3056
|
-
style: { color: "var(--amber-11)" },
|
|
3057
3043
|
variant: "body",
|
|
3058
3044
|
weight: "medium",
|
|
3059
3045
|
children: [
|
|
@@ -3063,11 +3049,11 @@ function ScoreSummary({
|
|
|
3063
3049
|
]
|
|
3064
3050
|
}
|
|
3065
3051
|
),
|
|
3066
|
-
/* @__PURE__ */ (0,
|
|
3052
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
3067
3053
|
Typo,
|
|
3068
3054
|
{
|
|
3069
3055
|
as: "p",
|
|
3070
|
-
|
|
3056
|
+
color: "amber",
|
|
3071
3057
|
variant: "body",
|
|
3072
3058
|
children: report.deduction.basis
|
|
3073
3059
|
}
|
|
@@ -3083,6 +3069,7 @@ function ScoreSummary({
|
|
|
3083
3069
|
|
|
3084
3070
|
// src/app/roleplay/parts/score-trend-section.tsx
|
|
3085
3071
|
var import_react68 = require("react");
|
|
3072
|
+
var import_date_fns4 = require("date-fns");
|
|
3086
3073
|
|
|
3087
3074
|
// src/molecules/expand-table/index.tsx
|
|
3088
3075
|
var import_react_table2 = require("@tanstack/react-table");
|
|
@@ -3092,7 +3079,7 @@ var import_themes53 = require("@radix-ui/themes");
|
|
|
3092
3079
|
// src/molecules/expand-table/row.tsx
|
|
3093
3080
|
var import_react_table = require("@tanstack/react-table");
|
|
3094
3081
|
var import_react41 = require("react");
|
|
3095
|
-
var
|
|
3082
|
+
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
3096
3083
|
function Row(props) {
|
|
3097
3084
|
const { row, ExpandComp, gridTemplateColumns, getRowStyle, getCellStyle } = props;
|
|
3098
3085
|
const [open, setOpen] = (0, import_react41.useState)(false);
|
|
@@ -3111,8 +3098,8 @@ function Row(props) {
|
|
|
3111
3098
|
}
|
|
3112
3099
|
return baseCls.join(" ");
|
|
3113
3100
|
}, [ExpandComp, props.onRowClick]);
|
|
3114
|
-
return /* @__PURE__ */ (0,
|
|
3115
|
-
/* @__PURE__ */ (0,
|
|
3101
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: rowClassName, children: [
|
|
3102
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
3116
3103
|
"button",
|
|
3117
3104
|
{
|
|
3118
3105
|
className: "tr",
|
|
@@ -3125,7 +3112,7 @@ function Row(props) {
|
|
|
3125
3112
|
var _a, _b, _c;
|
|
3126
3113
|
const autoSize = (_a = cell.column.columnDef.meta) == null ? void 0 : _a.autoSize;
|
|
3127
3114
|
const justifyContent = ((_b = cell.column.columnDef.meta) == null ? void 0 : _b.align) || props.defaultAlign;
|
|
3128
|
-
return /* @__PURE__ */ (0,
|
|
3115
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
|
|
3129
3116
|
"div",
|
|
3130
3117
|
{
|
|
3131
3118
|
className: "td",
|
|
@@ -3136,7 +3123,7 @@ function Row(props) {
|
|
|
3136
3123
|
}, (getCellStyle == null ? void 0 : getCellStyle(row.original)) || {}),
|
|
3137
3124
|
children: [
|
|
3138
3125
|
(0, import_react_table.flexRender)(cell.column.columnDef.cell, cell.getContext()),
|
|
3139
|
-
((_c = cell.column.columnDef.meta) == null ? void 0 : _c.OpenBtn) ? /* @__PURE__ */ (0,
|
|
3126
|
+
((_c = cell.column.columnDef.meta) == null ? void 0 : _c.OpenBtn) ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
3140
3127
|
cell.column.columnDef.meta.OpenBtn,
|
|
3141
3128
|
{
|
|
3142
3129
|
data: row.original,
|
|
@@ -3152,12 +3139,12 @@ function Row(props) {
|
|
|
3152
3139
|
},
|
|
3153
3140
|
`tr_${row.id}`
|
|
3154
3141
|
),
|
|
3155
|
-
ExpandComp ? /* @__PURE__ */ (0,
|
|
3142
|
+
ExpandComp ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Collapse, { open, children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "expand-comp-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(ExpandComp, { row }) }) }) : null
|
|
3156
3143
|
] }, `tr-wrapper_${row.id}`);
|
|
3157
3144
|
}
|
|
3158
3145
|
|
|
3159
3146
|
// src/molecules/expand-table/index.tsx
|
|
3160
|
-
var
|
|
3147
|
+
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
3161
3148
|
var sortButtonColorMapper = {
|
|
3162
3149
|
card: {
|
|
3163
3150
|
selected: "var(--iris-10)",
|
|
@@ -3238,7 +3225,7 @@ function ExpandTable(props) {
|
|
|
3238
3225
|
const helpCompRender = (0, import_react42.useCallback)(
|
|
3239
3226
|
(rowLength) => {
|
|
3240
3227
|
if (isLoading) {
|
|
3241
|
-
return /* @__PURE__ */ (0,
|
|
3228
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
3242
3229
|
import_themes23.Flex,
|
|
3243
3230
|
{
|
|
3244
3231
|
align: "center",
|
|
@@ -3246,12 +3233,12 @@ function ExpandTable(props) {
|
|
|
3246
3233
|
justify: "center",
|
|
3247
3234
|
p: "5",
|
|
3248
3235
|
width: "100%",
|
|
3249
|
-
children: /* @__PURE__ */ (0,
|
|
3236
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_themes50.Spinner, {})
|
|
3250
3237
|
}
|
|
3251
3238
|
);
|
|
3252
3239
|
}
|
|
3253
3240
|
if (rowLength === 0) {
|
|
3254
|
-
return /* @__PURE__ */ (0,
|
|
3241
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "tr", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_themes23.Flex, { align: "center", justify: "center", children: placeholder || /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Typo, { color: "gray", mb: "6", mt: "6", variant: "body", children: "\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4" }) }) }, "expand_placeholder");
|
|
3255
3242
|
}
|
|
3256
3243
|
return null;
|
|
3257
3244
|
},
|
|
@@ -3261,9 +3248,9 @@ function ExpandTable(props) {
|
|
|
3261
3248
|
if (!data) return 0;
|
|
3262
3249
|
return Math.ceil(data.length / pageSize);
|
|
3263
3250
|
}, [data, pageSize]);
|
|
3264
|
-
return /* @__PURE__ */ (0,
|
|
3265
|
-
/* @__PURE__ */ (0,
|
|
3266
|
-
/* @__PURE__ */ (0,
|
|
3251
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: `expand-table-wrapper ${variant}${slim ? " slim" : ""}`, children: [
|
|
3252
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "expand-table", style: tableStyle, children: [
|
|
3253
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "thead", children: getHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
3267
3254
|
"div",
|
|
3268
3255
|
{
|
|
3269
3256
|
className: "tr",
|
|
@@ -3274,36 +3261,36 @@ function ExpandTable(props) {
|
|
|
3274
3261
|
const sortedState = header.column.getIsSorted();
|
|
3275
3262
|
const justifyContent = ((_a = header.column.columnDef.meta) == null ? void 0 : _a.align) || defaultAlign;
|
|
3276
3263
|
if (sortable) {
|
|
3277
|
-
return /* @__PURE__ */ (0,
|
|
3264
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: `${justifyContent} th`, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
3278
3265
|
"button",
|
|
3279
3266
|
{
|
|
3280
3267
|
onClick: header.column.getToggleSortingHandler(),
|
|
3281
3268
|
style: { cursor: "pointer" },
|
|
3282
3269
|
type: "button",
|
|
3283
3270
|
children: [
|
|
3284
|
-
/* @__PURE__ */ (0,
|
|
3271
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Typo, { as: "div", variant: "body", children: (0, import_react_table2.flexRender)(
|
|
3285
3272
|
header.column.columnDef.header,
|
|
3286
3273
|
header.getContext()
|
|
3287
3274
|
) }),
|
|
3288
|
-
/* @__PURE__ */ (0,
|
|
3275
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
3289
3276
|
import_themes23.Flex,
|
|
3290
3277
|
{
|
|
3291
3278
|
direction: "column",
|
|
3292
3279
|
style: { marginLeft: "var(--space-2)" },
|
|
3293
3280
|
children: [
|
|
3294
|
-
sortedState === false && /* @__PURE__ */ (0,
|
|
3281
|
+
sortedState === false && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
3295
3282
|
TriangleArrowDownIcon,
|
|
3296
3283
|
{
|
|
3297
3284
|
color: sortButtonColorMapper[variant].unselected
|
|
3298
3285
|
}
|
|
3299
3286
|
),
|
|
3300
|
-
sortedState === "asc" && /* @__PURE__ */ (0,
|
|
3287
|
+
sortedState === "asc" && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
3301
3288
|
TriangleArrowUpIcon,
|
|
3302
3289
|
{
|
|
3303
3290
|
color: sortButtonColorMapper[variant].selected
|
|
3304
3291
|
}
|
|
3305
3292
|
),
|
|
3306
|
-
sortedState === "desc" && /* @__PURE__ */ (0,
|
|
3293
|
+
sortedState === "desc" && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
3307
3294
|
TriangleArrowDownIcon,
|
|
3308
3295
|
{
|
|
3309
3296
|
color: sortButtonColorMapper[variant].selected
|
|
@@ -3316,7 +3303,7 @@ function ExpandTable(props) {
|
|
|
3316
3303
|
}
|
|
3317
3304
|
) }, header.id);
|
|
3318
3305
|
}
|
|
3319
|
-
return /* @__PURE__ */ (0,
|
|
3306
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: `${justifyContent} th`, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Typo, { as: "div", variant: "body", children: (0, import_react_table2.flexRender)(
|
|
3320
3307
|
header.column.columnDef.header,
|
|
3321
3308
|
header.getContext()
|
|
3322
3309
|
) }) }, header.id);
|
|
@@ -3324,8 +3311,8 @@ function ExpandTable(props) {
|
|
|
3324
3311
|
},
|
|
3325
3312
|
headerGroup.id
|
|
3326
3313
|
)) }),
|
|
3327
|
-
/* @__PURE__ */ (0,
|
|
3328
|
-
return /* @__PURE__ */ (0,
|
|
3314
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_themes53.ScrollArea, { className: "tbody", children: helpCompRender(rowModels.rows.length) || rowModels.rows.map((row) => {
|
|
3315
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
3329
3316
|
Row,
|
|
3330
3317
|
{
|
|
3331
3318
|
ExpandComp,
|
|
@@ -3340,7 +3327,7 @@ function ExpandTable(props) {
|
|
|
3340
3327
|
);
|
|
3341
3328
|
}) })
|
|
3342
3329
|
] }),
|
|
3343
|
-
showPagination ? /* @__PURE__ */ (0,
|
|
3330
|
+
showPagination ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_themes23.Flex, { justify: "end", pt: "4", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
3344
3331
|
Pagination,
|
|
3345
3332
|
{
|
|
3346
3333
|
count: pageCount,
|
|
@@ -3353,13 +3340,13 @@ function ExpandTable(props) {
|
|
|
3353
3340
|
}
|
|
3354
3341
|
|
|
3355
3342
|
// src/molecules/navigation.tsx
|
|
3356
|
-
var
|
|
3343
|
+
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
3357
3344
|
|
|
3358
3345
|
// src/molecules/date-picker/index.tsx
|
|
3359
3346
|
var import_react43 = require("react");
|
|
3360
3347
|
var import_react_datepicker = __toESM(require("react-datepicker"), 1);
|
|
3361
3348
|
var import_locale = require("date-fns/locale");
|
|
3362
|
-
var
|
|
3349
|
+
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
3363
3350
|
var DatePicker = (0, import_react43.forwardRef)(
|
|
3364
3351
|
(props, ref) => {
|
|
3365
3352
|
const _a = props, { fullWidth } = _a, rest = __objRest(_a, ["fullWidth"]);
|
|
@@ -3390,7 +3377,7 @@ var DatePicker = (0, import_react43.forwardRef)(
|
|
|
3390
3377
|
setIsMonthDropdownOpen
|
|
3391
3378
|
}));
|
|
3392
3379
|
}, [isMonthDropdownOpen, isYearDropdownOpen, props]);
|
|
3393
|
-
return /* @__PURE__ */ (0,
|
|
3380
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_themes23.Flex, { p: "0", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
3394
3381
|
import_react_datepicker.default,
|
|
3395
3382
|
__spreadProps(__spreadValues({
|
|
3396
3383
|
dateFormat: "yyyy/MM/dd h:mm aa",
|
|
@@ -3438,19 +3425,19 @@ function DropdownSelector({
|
|
|
3438
3425
|
});
|
|
3439
3426
|
}
|
|
3440
3427
|
}, [isOpen]);
|
|
3441
|
-
return /* @__PURE__ */ (0,
|
|
3442
|
-
/* @__PURE__ */ (0,
|
|
3428
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(Popover.Root, { modal: true, onOpenChange, open: isOpen, children: [
|
|
3429
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Popover.Trigger, { children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Button, { className: "react-datepicker_dropdown_header", variant: "ghost", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(Heading2, { variant: "heading4", weight: "regular", children: [
|
|
3443
3430
|
selectedValue,
|
|
3444
3431
|
suffix
|
|
3445
3432
|
] }) }) }),
|
|
3446
|
-
/* @__PURE__ */ (0,
|
|
3433
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Popover.Content, { side: "bottom", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
3447
3434
|
import_themes7.Box,
|
|
3448
3435
|
{
|
|
3449
3436
|
maxHeight: "200px",
|
|
3450
3437
|
overflowY: "auto",
|
|
3451
3438
|
ref: scrollContainerRef,
|
|
3452
3439
|
style: { scrollbarWidth: "none" },
|
|
3453
|
-
children: /* @__PURE__ */ (0,
|
|
3440
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_themes23.Flex, { direction: "column", gap: "1", children: options.map((item) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
3454
3441
|
Button,
|
|
3455
3442
|
{
|
|
3456
3443
|
className: "react-datepicker_dropdown_item",
|
|
@@ -3464,7 +3451,7 @@ function DropdownSelector({
|
|
|
3464
3451
|
e.preventDefault();
|
|
3465
3452
|
},
|
|
3466
3453
|
variant: "transparent",
|
|
3467
|
-
children: /* @__PURE__ */ (0,
|
|
3454
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(Typo, { weight: item === selectedValue ? "bold" : void 0, children: [
|
|
3468
3455
|
item,
|
|
3469
3456
|
suffix
|
|
3470
3457
|
] })
|
|
@@ -3495,8 +3482,8 @@ var getRenderCustomHeader = (props) => {
|
|
|
3495
3482
|
} = props;
|
|
3496
3483
|
const year = date ? new Date(date).getFullYear() : "-";
|
|
3497
3484
|
const month = date ? new Date(date).getMonth() + 1 : "-";
|
|
3498
|
-
return /* @__PURE__ */ (0,
|
|
3499
|
-
/* @__PURE__ */ (0,
|
|
3485
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(import_themes23.Flex, { align: "center", justify: "between", pl: "2", pr: "2", children: [
|
|
3486
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
3500
3487
|
IconButton,
|
|
3501
3488
|
{
|
|
3502
3489
|
className: "react-datepicker_dropdown_header",
|
|
@@ -3504,11 +3491,11 @@ var getRenderCustomHeader = (props) => {
|
|
|
3504
3491
|
onClick: decreaseMonth,
|
|
3505
3492
|
type: "button",
|
|
3506
3493
|
variant: "ghost",
|
|
3507
|
-
children: /* @__PURE__ */ (0,
|
|
3494
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_react_icons2.ChevronLeftIcon, {})
|
|
3508
3495
|
}
|
|
3509
3496
|
),
|
|
3510
|
-
/* @__PURE__ */ (0,
|
|
3511
|
-
/* @__PURE__ */ (0,
|
|
3497
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(import_themes23.Flex, { gap: "3", children: [
|
|
3498
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
3512
3499
|
DropdownSelector,
|
|
3513
3500
|
{
|
|
3514
3501
|
isOpen: isYearDropdownOpen,
|
|
@@ -3522,7 +3509,7 @@ var getRenderCustomHeader = (props) => {
|
|
|
3522
3509
|
suffix: "\uB144"
|
|
3523
3510
|
}
|
|
3524
3511
|
),
|
|
3525
|
-
/* @__PURE__ */ (0,
|
|
3512
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
3526
3513
|
DropdownSelector,
|
|
3527
3514
|
{
|
|
3528
3515
|
isOpen: isMonthDropdownOpen,
|
|
@@ -3537,7 +3524,7 @@ var getRenderCustomHeader = (props) => {
|
|
|
3537
3524
|
}
|
|
3538
3525
|
)
|
|
3539
3526
|
] }),
|
|
3540
|
-
/* @__PURE__ */ (0,
|
|
3527
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
3541
3528
|
IconButton,
|
|
3542
3529
|
{
|
|
3543
3530
|
className: "react-datepicker_dropdown_header",
|
|
@@ -3545,7 +3532,7 @@ var getRenderCustomHeader = (props) => {
|
|
|
3545
3532
|
onClick: increaseMonth,
|
|
3546
3533
|
type: "button",
|
|
3547
3534
|
variant: "ghost",
|
|
3548
|
-
children: /* @__PURE__ */ (0,
|
|
3535
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_react_icons2.ChevronRightIcon, {})
|
|
3549
3536
|
}
|
|
3550
3537
|
)
|
|
3551
3538
|
] });
|
|
@@ -3556,12 +3543,12 @@ var getRenderCustomHeader = (props) => {
|
|
|
3556
3543
|
// src/molecules/dot-navigation.tsx
|
|
3557
3544
|
var import_react44 = require("react");
|
|
3558
3545
|
var import_react_icons3 = require("@radix-ui/react-icons");
|
|
3559
|
-
var
|
|
3546
|
+
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
3560
3547
|
|
|
3561
3548
|
// src/molecules/stepper.tsx
|
|
3562
3549
|
var import_react45 = require("react");
|
|
3563
3550
|
var import_themes54 = require("@radix-ui/themes");
|
|
3564
|
-
var
|
|
3551
|
+
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
3565
3552
|
var StepContext = (0, import_react45.createContext)({
|
|
3566
3553
|
active: false,
|
|
3567
3554
|
completed: false,
|
|
@@ -3571,20 +3558,20 @@ var StepContext = (0, import_react45.createContext)({
|
|
|
3571
3558
|
// src/molecules/tag-selector.tsx
|
|
3572
3559
|
var import_react46 = require("react");
|
|
3573
3560
|
var import_react_icons4 = require("@radix-ui/react-icons");
|
|
3574
|
-
var
|
|
3561
|
+
var import_jsx_runtime71 = require("react/jsx-runtime");
|
|
3575
3562
|
|
|
3576
3563
|
// src/molecules/learning-post.tsx
|
|
3577
|
-
var
|
|
3564
|
+
var import_jsx_runtime72 = require("react/jsx-runtime");
|
|
3578
3565
|
|
|
3579
3566
|
// src/molecules/force-refresh.tsx
|
|
3580
3567
|
var import_react_icons5 = require("@radix-ui/react-icons");
|
|
3581
|
-
var
|
|
3568
|
+
var import_jsx_runtime73 = require("react/jsx-runtime");
|
|
3582
3569
|
|
|
3583
3570
|
// src/molecules/date-picker/date-picker-button.tsx
|
|
3584
3571
|
var import_react47 = require("react");
|
|
3585
3572
|
var import_date_fns2 = require("date-fns");
|
|
3586
3573
|
var import_clsx29 = require("clsx");
|
|
3587
|
-
var
|
|
3574
|
+
var import_jsx_runtime74 = require("react/jsx-runtime");
|
|
3588
3575
|
|
|
3589
3576
|
// src/molecules/time-select.tsx
|
|
3590
3577
|
var import_react48 = require("react");
|
|
@@ -3611,34 +3598,34 @@ for (const opt of AI_CALLOUT_ICON_OPTIONS) {
|
|
|
3611
3598
|
}
|
|
3612
3599
|
|
|
3613
3600
|
// src/molecules/time-select.tsx
|
|
3614
|
-
var
|
|
3601
|
+
var import_jsx_runtime75 = require("react/jsx-runtime");
|
|
3615
3602
|
|
|
3616
3603
|
// src/molecules/radio-button-card.tsx
|
|
3617
3604
|
var import_react49 = require("react");
|
|
3618
|
-
var
|
|
3605
|
+
var import_jsx_runtime76 = require("react/jsx-runtime");
|
|
3619
3606
|
var RadioCardContext = (0, import_react49.createContext)({});
|
|
3620
3607
|
|
|
3621
3608
|
// src/molecules/download-card.tsx
|
|
3622
3609
|
var import_react_icons6 = require("@radix-ui/react-icons");
|
|
3623
|
-
var
|
|
3610
|
+
var import_jsx_runtime77 = require("react/jsx-runtime");
|
|
3624
3611
|
|
|
3625
3612
|
// src/molecules/ghost-post.tsx
|
|
3626
|
-
var
|
|
3613
|
+
var import_jsx_runtime78 = require("react/jsx-runtime");
|
|
3627
3614
|
|
|
3628
3615
|
// src/molecules/curriculumV2/curriculum-context.tsx
|
|
3629
3616
|
var import_react50 = require("react");
|
|
3630
|
-
var
|
|
3617
|
+
var import_jsx_runtime79 = require("react/jsx-runtime");
|
|
3631
3618
|
var CurriculumContext = (0, import_react50.createContext)(
|
|
3632
3619
|
void 0
|
|
3633
3620
|
);
|
|
3634
3621
|
|
|
3635
3622
|
// src/molecules/curriculumV2/curriculum-sub-nav.tsx
|
|
3636
3623
|
var import_react51 = require("react");
|
|
3637
|
-
var
|
|
3624
|
+
var import_jsx_runtime80 = require("react/jsx-runtime");
|
|
3638
3625
|
|
|
3639
3626
|
// src/molecules/curriculumV2/CurriculumContents/curriculum-video.tsx
|
|
3640
3627
|
var import_react52 = require("react");
|
|
3641
|
-
var
|
|
3628
|
+
var import_jsx_runtime81 = require("react/jsx-runtime");
|
|
3642
3629
|
|
|
3643
3630
|
// src/molecules/curriculumV2/CurriculumContents/curriculum-review.tsx
|
|
3644
3631
|
var import_react55 = require("react");
|
|
@@ -3649,88 +3636,88 @@ var import_react53 = require("react");
|
|
|
3649
3636
|
var import_formik = require("formik");
|
|
3650
3637
|
var import_lodash_es = require("lodash-es");
|
|
3651
3638
|
var Yup = __toESM(require("yup"), 1);
|
|
3652
|
-
var
|
|
3639
|
+
var import_jsx_runtime82 = require("react/jsx-runtime");
|
|
3653
3640
|
var CurriculumReviewContext = (0, import_react53.createContext)(void 0);
|
|
3654
3641
|
|
|
3655
3642
|
// src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.tsx
|
|
3656
|
-
var
|
|
3643
|
+
var import_jsx_runtime83 = require("react/jsx-runtime");
|
|
3657
3644
|
|
|
3658
3645
|
// src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.tsx
|
|
3659
|
-
var
|
|
3646
|
+
var import_jsx_runtime84 = require("react/jsx-runtime");
|
|
3660
3647
|
|
|
3661
3648
|
// src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-layout.tsx
|
|
3662
|
-
var
|
|
3649
|
+
var import_jsx_runtime85 = require("react/jsx-runtime");
|
|
3663
3650
|
|
|
3664
3651
|
// src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-header.tsx
|
|
3665
|
-
var
|
|
3652
|
+
var import_jsx_runtime86 = require("react/jsx-runtime");
|
|
3666
3653
|
|
|
3667
3654
|
// src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.tsx
|
|
3668
|
-
var
|
|
3655
|
+
var import_jsx_runtime87 = require("react/jsx-runtime");
|
|
3669
3656
|
|
|
3670
3657
|
// src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.tsx
|
|
3671
3658
|
var import_react54 = require("react");
|
|
3672
3659
|
|
|
3673
3660
|
// src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.tsx
|
|
3674
|
-
var
|
|
3661
|
+
var import_jsx_runtime88 = require("react/jsx-runtime");
|
|
3675
3662
|
|
|
3676
3663
|
// src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.tsx
|
|
3677
|
-
var
|
|
3664
|
+
var import_jsx_runtime89 = require("react/jsx-runtime");
|
|
3678
3665
|
|
|
3679
3666
|
// src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.tsx
|
|
3680
|
-
var
|
|
3667
|
+
var import_jsx_runtime90 = require("react/jsx-runtime");
|
|
3681
3668
|
|
|
3682
3669
|
// src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.tsx
|
|
3683
|
-
var
|
|
3670
|
+
var import_jsx_runtime91 = require("react/jsx-runtime");
|
|
3684
3671
|
|
|
3685
3672
|
// src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.tsx
|
|
3686
|
-
var
|
|
3673
|
+
var import_jsx_runtime92 = require("react/jsx-runtime");
|
|
3687
3674
|
|
|
3688
3675
|
// src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.tsx
|
|
3689
|
-
var
|
|
3676
|
+
var import_jsx_runtime93 = require("react/jsx-runtime");
|
|
3690
3677
|
|
|
3691
3678
|
// src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.tsx
|
|
3692
|
-
var
|
|
3679
|
+
var import_jsx_runtime94 = require("react/jsx-runtime");
|
|
3693
3680
|
|
|
3694
3681
|
// src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.tsx
|
|
3695
|
-
var
|
|
3682
|
+
var import_jsx_runtime95 = require("react/jsx-runtime");
|
|
3696
3683
|
|
|
3697
3684
|
// src/molecules/curriculumV2/CurriculumContents/curriculum-review.tsx
|
|
3698
|
-
var
|
|
3685
|
+
var import_jsx_runtime96 = require("react/jsx-runtime");
|
|
3699
3686
|
|
|
3700
3687
|
// src/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.tsx
|
|
3701
3688
|
var import_react56 = require("react");
|
|
3702
|
-
var
|
|
3689
|
+
var import_jsx_runtime97 = require("react/jsx-runtime");
|
|
3703
3690
|
|
|
3704
3691
|
// src/molecules/curriculumV2/CurriculumContents/curriculum-file-download.tsx
|
|
3705
3692
|
var import_react57 = require("react");
|
|
3706
|
-
var
|
|
3693
|
+
var import_jsx_runtime98 = require("react/jsx-runtime");
|
|
3707
3694
|
|
|
3708
3695
|
// src/molecules/curriculumV2/CurriculumContents/index.tsx
|
|
3709
|
-
var
|
|
3696
|
+
var import_jsx_runtime99 = require("react/jsx-runtime");
|
|
3710
3697
|
|
|
3711
3698
|
// src/molecules/curriculumV2/CurriculumSidebar/index.tsx
|
|
3712
3699
|
var import_react58 = require("react");
|
|
3713
3700
|
|
|
3714
3701
|
// src/molecules/curriculumV2/CurriculumSidebar/Items/section-title.tsx
|
|
3715
|
-
var
|
|
3702
|
+
var import_jsx_runtime100 = require("react/jsx-runtime");
|
|
3716
3703
|
|
|
3717
3704
|
// src/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-sidebar-item-wrapper.tsx
|
|
3718
|
-
var
|
|
3705
|
+
var import_jsx_runtime101 = require("react/jsx-runtime");
|
|
3719
3706
|
|
|
3720
3707
|
// src/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-item-title.tsx
|
|
3721
|
-
var
|
|
3708
|
+
var import_jsx_runtime102 = require("react/jsx-runtime");
|
|
3722
3709
|
|
|
3723
3710
|
// src/molecules/curriculumV2/CurriculumSidebar/Items/section-item.tsx
|
|
3724
|
-
var
|
|
3711
|
+
var import_jsx_runtime103 = require("react/jsx-runtime");
|
|
3725
3712
|
|
|
3726
3713
|
// src/molecules/curriculumV2/CurriculumSidebar/sidebar-item.tsx
|
|
3727
|
-
var
|
|
3714
|
+
var import_jsx_runtime104 = require("react/jsx-runtime");
|
|
3728
3715
|
|
|
3729
3716
|
// src/molecules/curriculumV2/CurriculumSidebar/index.tsx
|
|
3730
|
-
var
|
|
3717
|
+
var import_jsx_runtime105 = require("react/jsx-runtime");
|
|
3731
3718
|
|
|
3732
3719
|
// src/molecules/curriculumV2/curriculum-v2-layout.tsx
|
|
3733
|
-
var
|
|
3720
|
+
var import_jsx_runtime106 = require("react/jsx-runtime");
|
|
3734
3721
|
|
|
3735
3722
|
// src/molecules/dynamic-form.tsx
|
|
3736
3723
|
var import_react60 = require("react");
|
|
@@ -3740,26 +3727,26 @@ var import_themes55 = require("@radix-ui/themes");
|
|
|
3740
3727
|
|
|
3741
3728
|
// src/context/dynamic-form-context.tsx
|
|
3742
3729
|
var import_react59 = require("react");
|
|
3743
|
-
var
|
|
3730
|
+
var import_jsx_runtime107 = require("react/jsx-runtime");
|
|
3744
3731
|
var DynamicFormContext = (0, import_react59.createContext)(null);
|
|
3745
3732
|
|
|
3746
3733
|
// src/molecules/dynamic-field.tsx
|
|
3747
|
-
var
|
|
3734
|
+
var import_jsx_runtime108 = require("react/jsx-runtime");
|
|
3748
3735
|
|
|
3749
3736
|
// src/molecules/dynamic-form.tsx
|
|
3750
|
-
var
|
|
3737
|
+
var import_jsx_runtime109 = require("react/jsx-runtime");
|
|
3751
3738
|
|
|
3752
3739
|
// src/molecules/one-on-one-guide-list.tsx
|
|
3753
3740
|
var import_react61 = require("react");
|
|
3754
|
-
var
|
|
3741
|
+
var import_jsx_runtime110 = require("react/jsx-runtime");
|
|
3755
3742
|
|
|
3756
3743
|
// src/molecules/description-json-render.tsx
|
|
3757
|
-
var
|
|
3744
|
+
var import_jsx_runtime111 = require("react/jsx-runtime");
|
|
3758
3745
|
|
|
3759
3746
|
// src/molecules/training-info-guideline.tsx
|
|
3760
3747
|
var import_react62 = require("react");
|
|
3761
3748
|
var import_react_icons8 = require("@radix-ui/react-icons");
|
|
3762
|
-
var
|
|
3749
|
+
var import_jsx_runtime112 = require("react/jsx-runtime");
|
|
3763
3750
|
|
|
3764
3751
|
// src/molecules/dynamic-form-editor.tsx
|
|
3765
3752
|
var import_react65 = require("react");
|
|
@@ -3767,26 +3754,26 @@ var import_react65 = require("react");
|
|
|
3767
3754
|
// src/molecules/dynamic-form-editor-field-editor-panel.tsx
|
|
3768
3755
|
var import_react63 = require("react");
|
|
3769
3756
|
var import_themes56 = require("@radix-ui/themes");
|
|
3770
|
-
var
|
|
3757
|
+
var import_jsx_runtime113 = require("react/jsx-runtime");
|
|
3771
3758
|
|
|
3772
3759
|
// src/molecules/dynamic-form-editor-field-list-panel.tsx
|
|
3773
3760
|
var import_react64 = require("react");
|
|
3774
3761
|
var import_themes57 = require("@radix-ui/themes");
|
|
3775
|
-
var
|
|
3762
|
+
var import_jsx_runtime114 = require("react/jsx-runtime");
|
|
3776
3763
|
|
|
3777
3764
|
// src/molecules/dynamic-form-editor-issues-panel.tsx
|
|
3778
|
-
var
|
|
3765
|
+
var import_jsx_runtime115 = require("react/jsx-runtime");
|
|
3779
3766
|
|
|
3780
3767
|
// src/molecules/dynamic-form-editor-preview-panel.tsx
|
|
3781
|
-
var
|
|
3768
|
+
var import_jsx_runtime116 = require("react/jsx-runtime");
|
|
3782
3769
|
|
|
3783
3770
|
// src/molecules/dynamic-form-editor.tsx
|
|
3784
|
-
var
|
|
3771
|
+
var import_jsx_runtime117 = require("react/jsx-runtime");
|
|
3785
3772
|
|
|
3786
3773
|
// src/molecules/autocomplete-textfield.tsx
|
|
3787
3774
|
var import_react66 = require("react");
|
|
3788
3775
|
var import_themes58 = require("@radix-ui/themes");
|
|
3789
|
-
var
|
|
3776
|
+
var import_jsx_runtime118 = require("react/jsx-runtime");
|
|
3790
3777
|
var AutocompleteTextfield = (0, import_react66.forwardRef)(
|
|
3791
3778
|
(_a, ref) => {
|
|
3792
3779
|
var _b = _a, {
|
|
@@ -3912,8 +3899,8 @@ var AutocompleteTextfield = (0, import_react66.forwardRef)(
|
|
|
3912
3899
|
const item = listRef.current.children[highlightedIndex];
|
|
3913
3900
|
item.scrollIntoView({ block: "nearest" });
|
|
3914
3901
|
}, [highlightedIndex]);
|
|
3915
|
-
return /* @__PURE__ */ (0,
|
|
3916
|
-
/* @__PURE__ */ (0,
|
|
3902
|
+
return /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)(import_themes58.Box, { position: "relative", style: { width: "100%" }, children: [
|
|
3903
|
+
/* @__PURE__ */ (0, import_jsx_runtime118.jsxs)(
|
|
3917
3904
|
TextField.Root,
|
|
3918
3905
|
__spreadProps(__spreadValues({
|
|
3919
3906
|
"aria-activedescendant": open && highlightedIndex >= 0 ? `${listboxId}-option-${highlightedIndex}` : void 0,
|
|
@@ -3939,12 +3926,12 @@ var AutocompleteTextfield = (0, import_react66.forwardRef)(
|
|
|
3939
3926
|
value: inputValue
|
|
3940
3927
|
}, rest), {
|
|
3941
3928
|
children: [
|
|
3942
|
-
slotLeft && /* @__PURE__ */ (0,
|
|
3943
|
-
slotRight && /* @__PURE__ */ (0,
|
|
3929
|
+
slotLeft && /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(TextField.Slot, { side: "left", children: slotLeft }),
|
|
3930
|
+
slotRight && /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(TextField.Slot, { side: "right", children: slotRight })
|
|
3944
3931
|
]
|
|
3945
3932
|
})
|
|
3946
3933
|
),
|
|
3947
|
-
/* @__PURE__ */ (0,
|
|
3934
|
+
/* @__PURE__ */ (0, import_jsx_runtime118.jsxs)(
|
|
3948
3935
|
DropdownMenu.Root,
|
|
3949
3936
|
{
|
|
3950
3937
|
modal: false,
|
|
@@ -3956,7 +3943,7 @@ var AutocompleteTextfield = (0, import_react66.forwardRef)(
|
|
|
3956
3943
|
},
|
|
3957
3944
|
open,
|
|
3958
3945
|
children: [
|
|
3959
|
-
/* @__PURE__ */ (0,
|
|
3946
|
+
/* @__PURE__ */ (0, import_jsx_runtime118.jsx)(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
|
|
3960
3947
|
"span",
|
|
3961
3948
|
{
|
|
3962
3949
|
"aria-hidden": "true",
|
|
@@ -3971,7 +3958,7 @@ var AutocompleteTextfield = (0, import_react66.forwardRef)(
|
|
|
3971
3958
|
}
|
|
3972
3959
|
}
|
|
3973
3960
|
) }),
|
|
3974
|
-
/* @__PURE__ */ (0,
|
|
3961
|
+
/* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
|
|
3975
3962
|
DropdownMenu.Content,
|
|
3976
3963
|
{
|
|
3977
3964
|
align: "start",
|
|
@@ -3988,7 +3975,7 @@ var AutocompleteTextfield = (0, import_react66.forwardRef)(
|
|
|
3988
3975
|
padding: 0,
|
|
3989
3976
|
width: "var(--radix-dropdown-menu-trigger-width)"
|
|
3990
3977
|
},
|
|
3991
|
-
children: filtered.length === 0 && emptyMessage !== null ? /* @__PURE__ */ (0,
|
|
3978
|
+
children: filtered.length === 0 && emptyMessage !== null ? /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_themes58.Box, { px: "2", py: "2", children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(Typo, { color: "gray", children: emptyMessage }) }) : /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
|
|
3992
3979
|
"ul",
|
|
3993
3980
|
{
|
|
3994
3981
|
id: listboxId,
|
|
@@ -3997,7 +3984,7 @@ var AutocompleteTextfield = (0, import_react66.forwardRef)(
|
|
|
3997
3984
|
style: { listStyle: "none", margin: 0, padding: 0 },
|
|
3998
3985
|
children: filtered.map((option, index) => {
|
|
3999
3986
|
const isHighlighted = index === highlightedIndex;
|
|
4000
|
-
return /* @__PURE__ */ (0,
|
|
3987
|
+
return /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
|
|
4001
3988
|
"li",
|
|
4002
3989
|
{
|
|
4003
3990
|
"aria-selected": isHighlighted,
|
|
@@ -4016,7 +4003,7 @@ var AutocompleteTextfield = (0, import_react66.forwardRef)(
|
|
|
4016
4003
|
backgroundColor: isHighlighted ? "var(--accent-3)" : "transparent",
|
|
4017
4004
|
transition: "background-color 80ms"
|
|
4018
4005
|
},
|
|
4019
|
-
children: /* @__PURE__ */ (0,
|
|
4006
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(Typo, { variant: "body", children: option.label })
|
|
4020
4007
|
},
|
|
4021
4008
|
option.value
|
|
4022
4009
|
);
|
|
@@ -4043,7 +4030,7 @@ var import_renderers = require("echarts/renderers");
|
|
|
4043
4030
|
var import_components = require("echarts/components");
|
|
4044
4031
|
|
|
4045
4032
|
// src/charts/horizontal-bar-chart.tsx
|
|
4046
|
-
var
|
|
4033
|
+
var import_jsx_runtime119 = require("react/jsx-runtime");
|
|
4047
4034
|
|
|
4048
4035
|
// src/charts/chart-theme.json
|
|
4049
4036
|
var chart_theme_default = {
|
|
@@ -4194,7 +4181,7 @@ var EchartDefaultProps = {
|
|
|
4194
4181
|
};
|
|
4195
4182
|
|
|
4196
4183
|
// src/app/roleplay/chart/session-chart.tsx
|
|
4197
|
-
var
|
|
4184
|
+
var import_jsx_runtime120 = require("react/jsx-runtime");
|
|
4198
4185
|
function unwrapDefault(mod) {
|
|
4199
4186
|
let current = mod;
|
|
4200
4187
|
while (current !== null && typeof current === "object" && "default" in current) {
|
|
@@ -4254,7 +4241,7 @@ function Chart(_a) {
|
|
|
4254
4241
|
};
|
|
4255
4242
|
return deepMerge(baseOption, optionProp);
|
|
4256
4243
|
}, [optionProp]);
|
|
4257
|
-
return /* @__PURE__ */ (0,
|
|
4244
|
+
return /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { ref, style: { width: "100%", height: "100%" }, children: mounted ? /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
|
|
4258
4245
|
ReactEChartsCore,
|
|
4259
4246
|
__spreadProps(__spreadValues(__spreadProps(__spreadValues({}, EchartDefaultProps), {
|
|
4260
4247
|
echarts,
|
|
@@ -4303,7 +4290,7 @@ function useTokenColors(vars) {
|
|
|
4303
4290
|
}
|
|
4304
4291
|
setResolved(next);
|
|
4305
4292
|
}, [key]);
|
|
4306
|
-
const probe = /* @__PURE__ */ (0,
|
|
4293
|
+
const probe = /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
|
|
4307
4294
|
"span",
|
|
4308
4295
|
{
|
|
4309
4296
|
"aria-hidden": true,
|
|
@@ -4315,15 +4302,20 @@ function useTokenColors(vars) {
|
|
|
4315
4302
|
}
|
|
4316
4303
|
|
|
4317
4304
|
// src/app/roleplay/parts/score-trend-section.tsx
|
|
4318
|
-
var
|
|
4305
|
+
var import_jsx_runtime121 = require("react/jsx-runtime");
|
|
4306
|
+
function formatDateOnly(iso) {
|
|
4307
|
+
const d = new Date(iso);
|
|
4308
|
+
if (Number.isNaN(d.getTime())) return iso;
|
|
4309
|
+
return (0, import_date_fns4.format)(d, "M/d");
|
|
4310
|
+
}
|
|
4319
4311
|
function Section4({
|
|
4320
4312
|
title,
|
|
4321
4313
|
desc,
|
|
4322
4314
|
children
|
|
4323
4315
|
}) {
|
|
4324
|
-
return /* @__PURE__ */ (0,
|
|
4325
|
-
/* @__PURE__ */ (0,
|
|
4326
|
-
/* @__PURE__ */ (0,
|
|
4316
|
+
return /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)("section", { children: [
|
|
4317
|
+
/* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(import_themes7.Box, { mb: "3", children: [
|
|
4318
|
+
/* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
|
|
4327
4319
|
Heading2,
|
|
4328
4320
|
{
|
|
4329
4321
|
size: { initial: "4", md: "5" },
|
|
@@ -4332,14 +4324,14 @@ function Section4({
|
|
|
4332
4324
|
children: title
|
|
4333
4325
|
}
|
|
4334
4326
|
),
|
|
4335
|
-
desc ? /* @__PURE__ */ (0,
|
|
4327
|
+
desc ? /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(Typo, { as: "p", color: "gray", variant: "body", children: desc }) }) : null
|
|
4336
4328
|
] }),
|
|
4337
4329
|
children
|
|
4338
4330
|
] });
|
|
4339
4331
|
}
|
|
4340
4332
|
function AttemptCell({ row }) {
|
|
4341
4333
|
const d = row.original;
|
|
4342
|
-
return /* @__PURE__ */ (0,
|
|
4334
|
+
return /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(
|
|
4343
4335
|
Typo,
|
|
4344
4336
|
{
|
|
4345
4337
|
as: "span",
|
|
@@ -4355,11 +4347,11 @@ function AttemptCell({ row }) {
|
|
|
4355
4347
|
);
|
|
4356
4348
|
}
|
|
4357
4349
|
function DateCell({ row }) {
|
|
4358
|
-
return /* @__PURE__ */ (0,
|
|
4350
|
+
return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(Typo, { as: "span", mono: true, style: { color: "var(--gray-9)" }, variant: "body", children: formatDateOnly(row.original.createdAt) });
|
|
4359
4351
|
}
|
|
4360
4352
|
function ScoreCell({ row }) {
|
|
4361
4353
|
var _a;
|
|
4362
|
-
return /* @__PURE__ */ (0,
|
|
4354
|
+
return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
|
|
4363
4355
|
Typo,
|
|
4364
4356
|
{
|
|
4365
4357
|
as: "span",
|
|
@@ -4373,9 +4365,9 @@ function ScoreCell({ row }) {
|
|
|
4373
4365
|
function DeltaCell({ row }) {
|
|
4374
4366
|
const { delta } = row.original;
|
|
4375
4367
|
if (delta === null) {
|
|
4376
|
-
return /* @__PURE__ */ (0,
|
|
4368
|
+
return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(Typo, { as: "span", mono: true, style: { color: "var(--gray-9)" }, variant: "body", children: "\u2014" });
|
|
4377
4369
|
}
|
|
4378
|
-
return /* @__PURE__ */ (0,
|
|
4370
|
+
return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(Typo, { as: "span", mono: true, style: { color: "var(--gray-9)" }, variant: "body", children: delta > 0 ? `+${delta}` : `${delta}` });
|
|
4379
4371
|
}
|
|
4380
4372
|
function ScoreTrendSection({
|
|
4381
4373
|
history
|
|
@@ -4453,43 +4445,45 @@ function ScoreTrendSection({
|
|
|
4453
4445
|
const columns = (0, import_react68.useMemo)(() => {
|
|
4454
4446
|
const h = (0, import_react_table2.createColumnHelper)();
|
|
4455
4447
|
return [
|
|
4448
|
+
// autoSize 컬럼에선 size가 최소폭으로 동작(1fr로 늘어남). 모바일(iPhone SE 375px,
|
|
4449
|
+
// 가용 ≈343px)에서 grid 최소폭 합이 화면을 넘지 않도록 작게 잡는다.
|
|
4456
4450
|
h.display({
|
|
4457
4451
|
id: "attempt",
|
|
4458
4452
|
header: "\uD68C\uCC28",
|
|
4459
|
-
size:
|
|
4460
|
-
meta: {
|
|
4453
|
+
size: 116,
|
|
4454
|
+
meta: { align: "left" },
|
|
4461
4455
|
cell: AttemptCell
|
|
4462
4456
|
}),
|
|
4463
4457
|
h.display({
|
|
4464
4458
|
id: "date",
|
|
4465
4459
|
header: "\uB0A0\uC9DC",
|
|
4466
|
-
size:
|
|
4460
|
+
size: 76,
|
|
4467
4461
|
meta: { align: "left" },
|
|
4468
4462
|
cell: DateCell
|
|
4469
4463
|
}),
|
|
4470
4464
|
h.display({
|
|
4471
4465
|
id: "score",
|
|
4472
4466
|
header: "\uCD1D\uC810",
|
|
4473
|
-
size:
|
|
4467
|
+
size: 64,
|
|
4474
4468
|
meta: { align: "right" },
|
|
4475
4469
|
cell: ScoreCell
|
|
4476
4470
|
}),
|
|
4477
4471
|
h.display({
|
|
4478
4472
|
id: "delta",
|
|
4479
4473
|
header: "\uBCC0\uD654",
|
|
4480
|
-
size:
|
|
4481
|
-
meta: { align: "
|
|
4474
|
+
size: 64,
|
|
4475
|
+
meta: { autoSize: true, align: "left" },
|
|
4482
4476
|
cell: DeltaCell
|
|
4483
4477
|
})
|
|
4484
4478
|
];
|
|
4485
4479
|
}, []);
|
|
4486
|
-
return /* @__PURE__ */ (0,
|
|
4480
|
+
return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
|
|
4487
4481
|
Section4,
|
|
4488
4482
|
{
|
|
4489
|
-
desc: `\
|
|
4483
|
+
desc: `\uB3D9\uC77C \uB864\uD50C\uB808\uC789 \uCD5C\uADFC ${ordered.length}\uD68C\uCC28 \uCD1D\uC810 \uBCC0\uD654`,
|
|
4490
4484
|
title: "\uCD1D\uC810 \uCD94\uC774",
|
|
4491
|
-
children: /* @__PURE__ */ (0,
|
|
4492
|
-
/* @__PURE__ */ (0,
|
|
4485
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(import_themes23.Flex, { direction: "column", gap: "4", children: [
|
|
4486
|
+
/* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(
|
|
4493
4487
|
"div",
|
|
4494
4488
|
{
|
|
4495
4489
|
"aria-label": "\uCD1D\uC810 \uCD94\uC774 \uB77C\uC778 \uCC28\uD2B8",
|
|
@@ -4497,17 +4491,18 @@ function ScoreTrendSection({
|
|
|
4497
4491
|
style: { position: "relative", width: "100%", height: 200 },
|
|
4498
4492
|
children: [
|
|
4499
4493
|
probe,
|
|
4500
|
-
/* @__PURE__ */ (0,
|
|
4494
|
+
/* @__PURE__ */ (0, import_jsx_runtime121.jsx)(Chart, { option })
|
|
4501
4495
|
]
|
|
4502
4496
|
}
|
|
4503
4497
|
),
|
|
4504
|
-
/* @__PURE__ */ (0,
|
|
4498
|
+
/* @__PURE__ */ (0, import_jsx_runtime121.jsx)(import_themes7.Box, { className: "rp-expand-table", children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
|
|
4505
4499
|
ExpandTable,
|
|
4506
4500
|
{
|
|
4507
4501
|
columns,
|
|
4508
4502
|
data: rows,
|
|
4509
4503
|
getRowStyle: (d) => d.isCurrent ? { background: "var(--accent-a2)" } : {},
|
|
4510
4504
|
showPagination: false,
|
|
4505
|
+
slim: true,
|
|
4511
4506
|
variant: "sprite"
|
|
4512
4507
|
}
|
|
4513
4508
|
) })
|
|
@@ -4518,33 +4513,33 @@ function ScoreTrendSection({
|
|
|
4518
4513
|
|
|
4519
4514
|
// src/app/roleplay/parts/section-nav.tsx
|
|
4520
4515
|
var import_react69 = require("react");
|
|
4521
|
-
var
|
|
4516
|
+
var import_jsx_runtime122 = require("react/jsx-runtime");
|
|
4522
4517
|
var NAV_ICONS = {
|
|
4523
|
-
"score-summary": /* @__PURE__ */ (0,
|
|
4524
|
-
/* @__PURE__ */ (0,
|
|
4525
|
-
/* @__PURE__ */ (0,
|
|
4518
|
+
"score-summary": /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_jsx_runtime122.Fragment, { children: [
|
|
4519
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("path", { d: "m12 14 4-4" }),
|
|
4520
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("path", { d: "M3.34 19a10 10 0 1 1 17.32 0" })
|
|
4526
4521
|
] }),
|
|
4527
|
-
strengths: /* @__PURE__ */ (0,
|
|
4528
|
-
improvements: /* @__PURE__ */ (0,
|
|
4529
|
-
/* @__PURE__ */ (0,
|
|
4530
|
-
/* @__PURE__ */ (0,
|
|
4531
|
-
/* @__PURE__ */ (0,
|
|
4522
|
+
strengths: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("polygon", { points: "12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" }),
|
|
4523
|
+
improvements: /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_jsx_runtime122.Fragment, { children: [
|
|
4524
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
|
|
4525
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("circle", { cx: "12", cy: "12", r: "5" }),
|
|
4526
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("circle", { cx: "12", cy: "12", r: "1.5" })
|
|
4532
4527
|
] }),
|
|
4533
|
-
"score-trend": /* @__PURE__ */ (0,
|
|
4534
|
-
/* @__PURE__ */ (0,
|
|
4535
|
-
/* @__PURE__ */ (0,
|
|
4528
|
+
"score-trend": /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_jsx_runtime122.Fragment, { children: [
|
|
4529
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("path", { d: "M3 3v18h18" }),
|
|
4530
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("path", { d: "m19 8-5 5-4-4-4 4" })
|
|
4536
4531
|
] }),
|
|
4537
|
-
"step-summary": /* @__PURE__ */ (0,
|
|
4538
|
-
"step-detail": /* @__PURE__ */ (0,
|
|
4539
|
-
/* @__PURE__ */ (0,
|
|
4540
|
-
/* @__PURE__ */ (0,
|
|
4541
|
-
/* @__PURE__ */ (0,
|
|
4542
|
-
/* @__PURE__ */ (0,
|
|
4532
|
+
"step-summary": /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("path", { d: "M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z" }),
|
|
4533
|
+
"step-detail": /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_jsx_runtime122.Fragment, { children: [
|
|
4534
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("line", { x1: "8", x2: "21", y1: "6", y2: "6" }),
|
|
4535
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("line", { x1: "8", x2: "21", y1: "12", y2: "12" }),
|
|
4536
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("line", { x1: "8", x2: "21", y1: "18", y2: "18" }),
|
|
4537
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("path", { d: "M3 6h.01M3 12h.01M3 18h.01" })
|
|
4543
4538
|
] }),
|
|
4544
|
-
coaching: /* @__PURE__ */ (0,
|
|
4539
|
+
coaching: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("polygon", { points: "13 2 3 14 12 14 11 22 21 10 12 10 13 2" })
|
|
4545
4540
|
};
|
|
4546
4541
|
function NavIcon({ children }) {
|
|
4547
|
-
return /* @__PURE__ */ (0,
|
|
4542
|
+
return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
4548
4543
|
"svg",
|
|
4549
4544
|
{
|
|
4550
4545
|
"aria-hidden": "true",
|
|
@@ -4564,12 +4559,13 @@ function NavIcon({ children }) {
|
|
|
4564
4559
|
function StepMetricBadge({ step }) {
|
|
4565
4560
|
const scoreText = stepScoreText(step);
|
|
4566
4561
|
if (scoreText !== null) {
|
|
4567
|
-
return /* @__PURE__ */ (0,
|
|
4562
|
+
return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
4568
4563
|
Typo,
|
|
4569
4564
|
{
|
|
4570
4565
|
as: "span",
|
|
4566
|
+
color: "gray",
|
|
4571
4567
|
mono: true,
|
|
4572
|
-
style: { flexShrink: 0
|
|
4568
|
+
style: { flexShrink: 0 },
|
|
4573
4569
|
variant: "body",
|
|
4574
4570
|
weight: "medium",
|
|
4575
4571
|
children: scoreText
|
|
@@ -4578,7 +4574,7 @@ function StepMetricBadge({ step }) {
|
|
|
4578
4574
|
}
|
|
4579
4575
|
const gradeLabel = stepGradeLabel(step);
|
|
4580
4576
|
if (gradeLabel !== null) {
|
|
4581
|
-
return /* @__PURE__ */ (0,
|
|
4577
|
+
return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
4582
4578
|
Typo,
|
|
4583
4579
|
{
|
|
4584
4580
|
as: "span",
|
|
@@ -4621,8 +4617,8 @@ function scrollToId(id) {
|
|
|
4621
4617
|
function SectionNav({ items, steps }) {
|
|
4622
4618
|
const activeId = useScrollSpy(items.map((i) => i.id));
|
|
4623
4619
|
const stepDetailActive = activeId === "step-summary" || activeId === "step-detail";
|
|
4624
|
-
return /* @__PURE__ */ (0,
|
|
4625
|
-
/* @__PURE__ */ (0,
|
|
4620
|
+
return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_themes7.Box, { asChild: true, className: "rp-section-nav", children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("aside", { children: /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_themes7.Box, { children: [
|
|
4621
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
4626
4622
|
Typo,
|
|
4627
4623
|
{
|
|
4628
4624
|
as: "p",
|
|
@@ -4636,9 +4632,9 @@ function SectionNav({ items, steps }) {
|
|
|
4636
4632
|
children: "\uBAA9\uCC28"
|
|
4637
4633
|
}
|
|
4638
4634
|
),
|
|
4639
|
-
/* @__PURE__ */ (0,
|
|
4635
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_themes7.Box, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("ul", { style: { listStyle: "none", margin: 0, padding: 0 }, children: items.map((item) => {
|
|
4640
4636
|
const active = activeId === item.id;
|
|
4641
|
-
return /* @__PURE__ */ (0,
|
|
4637
|
+
return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
|
|
4642
4638
|
"button",
|
|
4643
4639
|
{
|
|
4644
4640
|
"aria-current": active ? "true" : void 0,
|
|
@@ -4652,9 +4648,9 @@ function SectionNav({ items, steps }) {
|
|
|
4652
4648
|
} : void 0,
|
|
4653
4649
|
type: "button",
|
|
4654
4650
|
children: [
|
|
4655
|
-
/* @__PURE__ */ (0,
|
|
4656
|
-
NAV_ICONS[item.id] ? /* @__PURE__ */ (0,
|
|
4657
|
-
/* @__PURE__ */ (0,
|
|
4651
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_themes23.Flex, { align: "center", gap: "2", style: { minWidth: 0 }, children: [
|
|
4652
|
+
NAV_ICONS[item.id] ? /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(NavIcon, { children: NAV_ICONS[item.id] }) : null,
|
|
4653
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
4658
4654
|
Typo,
|
|
4659
4655
|
{
|
|
4660
4656
|
as: "span",
|
|
@@ -4665,8 +4661,8 @@ function SectionNav({ items, steps }) {
|
|
|
4665
4661
|
}
|
|
4666
4662
|
)
|
|
4667
4663
|
] }),
|
|
4668
|
-
typeof item.score === "number" ? /* @__PURE__ */ (0,
|
|
4669
|
-
/* @__PURE__ */ (0,
|
|
4664
|
+
typeof item.score === "number" ? /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(Typo, { as: "span", mono: true, style: { flexShrink: 0 }, variant: "body", children: [
|
|
4665
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
4670
4666
|
Typo,
|
|
4671
4667
|
{
|
|
4672
4668
|
as: "span",
|
|
@@ -4678,7 +4674,7 @@ function SectionNav({ items, steps }) {
|
|
|
4678
4674
|
children: item.score
|
|
4679
4675
|
}
|
|
4680
4676
|
),
|
|
4681
|
-
/* @__PURE__ */ (0,
|
|
4677
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(Typo, { as: "span", style: { color: "var(--gray-9)" }, variant: "body", children: [
|
|
4682
4678
|
"/",
|
|
4683
4679
|
item.max
|
|
4684
4680
|
] })
|
|
@@ -4687,8 +4683,8 @@ function SectionNav({ items, steps }) {
|
|
|
4687
4683
|
}
|
|
4688
4684
|
) }, item.id);
|
|
4689
4685
|
}) }) }),
|
|
4690
|
-
steps.length > 0 && /* @__PURE__ */ (0,
|
|
4691
|
-
/* @__PURE__ */ (0,
|
|
4686
|
+
steps.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_themes7.Box, { mt: "3", pt: "3", style: { borderTop: "1px solid var(--gray-4)" }, children: [
|
|
4687
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_themes7.Box, { pb: "1", px: "3", children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
4692
4688
|
Typo,
|
|
4693
4689
|
{
|
|
4694
4690
|
as: "span",
|
|
@@ -4700,9 +4696,9 @@ function SectionNav({ items, steps }) {
|
|
|
4700
4696
|
children: "\uB2E8\uACC4\uBCC4 \uC810\uC218"
|
|
4701
4697
|
}
|
|
4702
4698
|
) }),
|
|
4703
|
-
/* @__PURE__ */ (0,
|
|
4699
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_themes7.Box, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("ul", { style: { listStyle: "none", margin: 0, padding: 0 }, children: steps.map((step) => {
|
|
4704
4700
|
const ratio = stepRatio(step);
|
|
4705
|
-
return /* @__PURE__ */ (0,
|
|
4701
|
+
return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
|
|
4706
4702
|
"button",
|
|
4707
4703
|
{
|
|
4708
4704
|
className: "rp-jump-btn",
|
|
@@ -4711,8 +4707,8 @@ function SectionNav({ items, steps }) {
|
|
|
4711
4707
|
},
|
|
4712
4708
|
type: "button",
|
|
4713
4709
|
children: [
|
|
4714
|
-
/* @__PURE__ */ (0,
|
|
4715
|
-
/* @__PURE__ */ (0,
|
|
4710
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_themes23.Flex, { align: "center", gap: "2", justify: "between", children: [
|
|
4711
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
|
|
4716
4712
|
Typo,
|
|
4717
4713
|
{
|
|
4718
4714
|
as: "span",
|
|
@@ -4720,19 +4716,19 @@ function SectionNav({ items, steps }) {
|
|
|
4720
4716
|
truncate: true,
|
|
4721
4717
|
variant: "body",
|
|
4722
4718
|
children: [
|
|
4723
|
-
/* @__PURE__ */ (0,
|
|
4719
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
4724
4720
|
Typo,
|
|
4725
4721
|
{
|
|
4726
4722
|
as: "span",
|
|
4723
|
+
color: "gray",
|
|
4727
4724
|
mono: true,
|
|
4728
|
-
style: { color: "var(--gray-11)" },
|
|
4729
4725
|
variant: "body",
|
|
4730
4726
|
weight: "medium",
|
|
4731
4727
|
children: stepCode(step)
|
|
4732
4728
|
}
|
|
4733
4729
|
),
|
|
4734
4730
|
" ",
|
|
4735
|
-
/* @__PURE__ */ (0,
|
|
4731
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
4736
4732
|
Typo,
|
|
4737
4733
|
{
|
|
4738
4734
|
as: "span",
|
|
@@ -4744,9 +4740,9 @@ function SectionNav({ items, steps }) {
|
|
|
4744
4740
|
]
|
|
4745
4741
|
}
|
|
4746
4742
|
),
|
|
4747
|
-
/* @__PURE__ */ (0,
|
|
4743
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)(StepMetricBadge, { step })
|
|
4748
4744
|
] }),
|
|
4749
|
-
ratio !== null ? /* @__PURE__ */ (0,
|
|
4745
|
+
ratio !== null ? /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_themes7.Box, { mt: "1", children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(Progress, { color: stepColor(step), size: "1", value: ratio * 100 }) }) : null
|
|
4750
4746
|
]
|
|
4751
4747
|
}
|
|
4752
4748
|
) }, step.key);
|
|
@@ -4756,14 +4752,14 @@ function SectionNav({ items, steps }) {
|
|
|
4756
4752
|
}
|
|
4757
4753
|
|
|
4758
4754
|
// src/app/roleplay/parts/step-detail.tsx
|
|
4759
|
-
var
|
|
4755
|
+
var import_jsx_runtime123 = require("react/jsx-runtime");
|
|
4760
4756
|
function RubricField({
|
|
4761
4757
|
label,
|
|
4762
4758
|
value
|
|
4763
4759
|
}) {
|
|
4764
|
-
return /* @__PURE__ */ (0,
|
|
4765
|
-
/* @__PURE__ */ (0,
|
|
4766
|
-
/* @__PURE__ */ (0,
|
|
4760
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes7.Box, { children: [
|
|
4761
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "p", variant: "body", weight: "medium", children: label }),
|
|
4762
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "p", variant: "body", children: value }) })
|
|
4767
4763
|
] });
|
|
4768
4764
|
}
|
|
4769
4765
|
function StepDetail({
|
|
@@ -4774,14 +4770,14 @@ function StepDetail({
|
|
|
4774
4770
|
const ratio = stepRatio(step);
|
|
4775
4771
|
const scoreText = stepScoreText(step);
|
|
4776
4772
|
const gradeLabel = stepGradeLabel(step);
|
|
4777
|
-
return /* @__PURE__ */ (0,
|
|
4778
|
-
/* @__PURE__ */ (0,
|
|
4779
|
-
/* @__PURE__ */ (0,
|
|
4780
|
-
/* @__PURE__ */ (0,
|
|
4781
|
-
/* @__PURE__ */ (0,
|
|
4773
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes7.Box, { id: `step-${step.key}`, style: { scrollMarginTop }, children: [
|
|
4774
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes23.Flex, { align: "center", gap: "2", justify: "between", mb: "1", children: [
|
|
4775
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes7.Box, { style: { minWidth: 0 }, children: [
|
|
4776
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "span", color: "gray", mono: true, variant: "body", children: stepCode(step) }),
|
|
4777
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "p", variant: "subtitle", weight: "bold", children: step.label })
|
|
4782
4778
|
] }),
|
|
4783
|
-
/* @__PURE__ */ (0,
|
|
4784
|
-
scoreText !== null ? /* @__PURE__ */ (0,
|
|
4779
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes23.Flex, { align: "end", direction: "column", gap: "1", style: { flexShrink: 0 }, children: [
|
|
4780
|
+
scoreText !== null ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
4785
4781
|
Typo,
|
|
4786
4782
|
{
|
|
4787
4783
|
as: "span",
|
|
@@ -4792,7 +4788,7 @@ function StepDetail({
|
|
|
4792
4788
|
children: scoreText
|
|
4793
4789
|
}
|
|
4794
4790
|
) : null,
|
|
4795
|
-
gradeLabel !== null ? /* @__PURE__ */ (0,
|
|
4791
|
+
gradeLabel !== null ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
4796
4792
|
Typo,
|
|
4797
4793
|
{
|
|
4798
4794
|
as: "span",
|
|
@@ -4812,16 +4808,16 @@ function StepDetail({
|
|
|
4812
4808
|
) : null
|
|
4813
4809
|
] })
|
|
4814
4810
|
] }),
|
|
4815
|
-
ratio !== null ? /* @__PURE__ */ (0,
|
|
4816
|
-
step.description ? /* @__PURE__ */ (0,
|
|
4817
|
-
/* @__PURE__ */ (0,
|
|
4818
|
-
step.basis || step.issue ? /* @__PURE__ */ (0,
|
|
4819
|
-
step.basis ? /* @__PURE__ */ (0,
|
|
4820
|
-
step.issue ? /* @__PURE__ */ (0,
|
|
4811
|
+
ratio !== null ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_themes7.Box, { mb: "3", mt: "2", children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Progress, { color: stepColor(step), size: "2", value: ratio * 100 }) }) : null,
|
|
4812
|
+
step.description ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_themes7.Box, { mb: "3", mt: ratio !== null ? "0" : "2", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "p", color: "gray", variant: "body", children: step.description }) }) : null,
|
|
4813
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes23.Flex, { direction: "column", gap: "0", children: [
|
|
4814
|
+
step.basis || step.issue ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_themes7.Box, { pb: "3", style: { borderBottom: "1px solid var(--gray-a4)" }, children: /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes23.Flex, { direction: "column", gap: "3", children: [
|
|
4815
|
+
step.basis ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(RubricField, { label: "\uADFC\uAC70", value: step.basis }) : null,
|
|
4816
|
+
step.issue ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(RubricField, { label: "\uC544\uC26C\uC6B4 \uC810", value: step.issue }) : null
|
|
4821
4817
|
] }) }) : null,
|
|
4822
|
-
step.improve || step.example || step.idealExample ? /* @__PURE__ */ (0,
|
|
4823
|
-
step.improve ? /* @__PURE__ */ (0,
|
|
4824
|
-
step.example ? /* @__PURE__ */ (0,
|
|
4818
|
+
step.improve || step.example || step.idealExample ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_themes7.Box, { pt: "3", children: /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes23.Flex, { direction: "column", gap: "3", children: [
|
|
4819
|
+
step.improve ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(RubricField, { label: "\uAC1C\uC120\uC810", value: step.improve }) : null,
|
|
4820
|
+
step.example ? /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
|
|
4825
4821
|
import_themes7.Box,
|
|
4826
4822
|
{
|
|
4827
4823
|
p: "2",
|
|
@@ -4830,7 +4826,7 @@ function StepDetail({
|
|
|
4830
4826
|
background: "var(--accent-a2)"
|
|
4831
4827
|
},
|
|
4832
4828
|
children: [
|
|
4833
|
-
/* @__PURE__ */ (0,
|
|
4829
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
4834
4830
|
Typo,
|
|
4835
4831
|
{
|
|
4836
4832
|
as: "p",
|
|
@@ -4840,11 +4836,11 @@ function StepDetail({
|
|
|
4840
4836
|
children: "\uC608\uC2DC \uC2A4\uD06C\uB9BD\uD2B8"
|
|
4841
4837
|
}
|
|
4842
4838
|
),
|
|
4843
|
-
/* @__PURE__ */ (0,
|
|
4839
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "p", style: { color: "var(--accent-11)" }, variant: "body", children: step.example }) })
|
|
4844
4840
|
]
|
|
4845
4841
|
}
|
|
4846
4842
|
) : null,
|
|
4847
|
-
step.idealExample ? /* @__PURE__ */ (0,
|
|
4843
|
+
step.idealExample ? /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
|
|
4848
4844
|
import_themes7.Box,
|
|
4849
4845
|
{
|
|
4850
4846
|
p: "2",
|
|
@@ -4853,8 +4849,8 @@ function StepDetail({
|
|
|
4853
4849
|
background: "var(--gray-a2)"
|
|
4854
4850
|
},
|
|
4855
4851
|
children: [
|
|
4856
|
-
/* @__PURE__ */ (0,
|
|
4857
|
-
/* @__PURE__ */ (0,
|
|
4852
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "p", color: "gray", variant: "body", weight: "medium", children: "\uBAA8\uBC94 \uC608\uC2DC" }),
|
|
4853
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
4858
4854
|
Typo,
|
|
4859
4855
|
{
|
|
4860
4856
|
as: "p",
|
|
@@ -4873,7 +4869,7 @@ function StepDetail({
|
|
|
4873
4869
|
}
|
|
4874
4870
|
|
|
4875
4871
|
// src/app/roleplay/parts/step-radar.tsx
|
|
4876
|
-
var
|
|
4872
|
+
var import_jsx_runtime124 = require("react/jsx-runtime");
|
|
4877
4873
|
function StepRadar({ steps }) {
|
|
4878
4874
|
const { colors, probe } = useTokenColors({
|
|
4879
4875
|
accent: ["--accent-9", "#5b5bd6"],
|
|
@@ -4922,7 +4918,7 @@ function StepRadar({ steps }) {
|
|
|
4922
4918
|
}
|
|
4923
4919
|
]
|
|
4924
4920
|
};
|
|
4925
|
-
return /* @__PURE__ */ (0,
|
|
4921
|
+
return /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(
|
|
4926
4922
|
"div",
|
|
4927
4923
|
{
|
|
4928
4924
|
"aria-label": "\uD3C9\uAC00 \uB2E8\uACC4 \uB808\uC774\uB354 \uCC28\uD2B8",
|
|
@@ -4938,23 +4934,23 @@ function StepRadar({ steps }) {
|
|
|
4938
4934
|
},
|
|
4939
4935
|
children: [
|
|
4940
4936
|
probe,
|
|
4941
|
-
/* @__PURE__ */ (0,
|
|
4937
|
+
/* @__PURE__ */ (0, import_jsx_runtime124.jsx)("div", { style: { width: "100%", maxWidth: 300, height: 280 }, children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(Chart, { option }) })
|
|
4942
4938
|
]
|
|
4943
4939
|
}
|
|
4944
4940
|
);
|
|
4945
4941
|
}
|
|
4946
4942
|
|
|
4947
4943
|
// src/app/roleplay/parts/step-summary.tsx
|
|
4948
|
-
var
|
|
4944
|
+
var import_jsx_runtime125 = require("react/jsx-runtime");
|
|
4949
4945
|
function Section5({
|
|
4950
4946
|
title,
|
|
4951
4947
|
desc,
|
|
4952
4948
|
children
|
|
4953
4949
|
}) {
|
|
4954
|
-
return /* @__PURE__ */ (0,
|
|
4955
|
-
/* @__PURE__ */ (0,
|
|
4956
|
-
/* @__PURE__ */ (0,
|
|
4957
|
-
desc ? /* @__PURE__ */ (0,
|
|
4950
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("section", { children: [
|
|
4951
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes7.Box, { mb: "3", children: [
|
|
4952
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Typo, { as: "p", variant: "subtitle", weight: "bold", children: title }),
|
|
4953
|
+
desc ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Typo, { as: "p", color: "gray", variant: "body", children: desc }) }) : null
|
|
4958
4954
|
] }),
|
|
4959
4955
|
children
|
|
4960
4956
|
] });
|
|
@@ -4962,14 +4958,14 @@ function Section5({
|
|
|
4962
4958
|
function StepSummary({ steps }) {
|
|
4963
4959
|
if (steps.length === 0) return null;
|
|
4964
4960
|
const radarReady = steps.every((s) => stepRatio(s) !== null);
|
|
4965
|
-
const desc =
|
|
4966
|
-
const list = /* @__PURE__ */ (0,
|
|
4961
|
+
const desc = "\uB300\uD654 \uB2E8\uACC4 \uBCC4\uB85C \uB098\uC758 \uAC15\uC57D\uC810\uC744 \uD655\uC778\uD560 \uC218 \uC788\uC5B4\uC694.";
|
|
4962
|
+
const list = /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes23.Flex, { direction: "column", children: steps.map((step, i) => {
|
|
4967
4963
|
const ratio = stepRatio(step);
|
|
4968
4964
|
const scoreText = stepScoreText(step);
|
|
4969
4965
|
const gradeLabel = stepGradeLabel(step);
|
|
4970
|
-
return /* @__PURE__ */ (0,
|
|
4971
|
-
i > 0 && /* @__PURE__ */ (0,
|
|
4972
|
-
/* @__PURE__ */ (0,
|
|
4966
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes7.Box, { children: [
|
|
4967
|
+
i > 0 && /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes40.Separator, { size: "4" }),
|
|
4968
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
4973
4969
|
"button",
|
|
4974
4970
|
{
|
|
4975
4971
|
className: "rp-rubric-scroll-btn",
|
|
@@ -4986,9 +4982,9 @@ function StepSummary({ steps }) {
|
|
|
4986
4982
|
textAlign: "left"
|
|
4987
4983
|
},
|
|
4988
4984
|
type: "button",
|
|
4989
|
-
children: /* @__PURE__ */ (0,
|
|
4990
|
-
/* @__PURE__ */ (0,
|
|
4991
|
-
/* @__PURE__ */ (0,
|
|
4985
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes23.Flex, { direction: "column", gap: "1", children: [
|
|
4986
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes23.Flex, { align: "center", gap: "2", justify: "between", children: [
|
|
4987
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
|
|
4992
4988
|
Typo,
|
|
4993
4989
|
{
|
|
4994
4990
|
as: "span",
|
|
@@ -4997,12 +4993,12 @@ function StepSummary({ steps }) {
|
|
|
4997
4993
|
variant: "body",
|
|
4998
4994
|
weight: "medium",
|
|
4999
4995
|
children: [
|
|
5000
|
-
/* @__PURE__ */ (0,
|
|
4996
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
5001
4997
|
Typo,
|
|
5002
4998
|
{
|
|
5003
4999
|
as: "span",
|
|
5000
|
+
color: "gray",
|
|
5004
5001
|
mono: true,
|
|
5005
|
-
style: { color: "var(--gray-11)" },
|
|
5006
5002
|
variant: "body",
|
|
5007
5003
|
weight: "medium",
|
|
5008
5004
|
children: stepCode(step)
|
|
@@ -5013,9 +5009,9 @@ function StepSummary({ steps }) {
|
|
|
5013
5009
|
]
|
|
5014
5010
|
}
|
|
5015
5011
|
),
|
|
5016
|
-
/* @__PURE__ */ (0,
|
|
5017
|
-
scoreText !== null ? /* @__PURE__ */ (0,
|
|
5018
|
-
gradeLabel !== null ? /* @__PURE__ */ (0,
|
|
5012
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes23.Flex, { align: "center", gap: "2", style: { flexShrink: 0 }, children: [
|
|
5013
|
+
scoreText !== null ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Typo, { as: "span", mono: true, variant: "body", weight: "bold", children: scoreText }) : null,
|
|
5014
|
+
gradeLabel !== null ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
5019
5015
|
Typo,
|
|
5020
5016
|
{
|
|
5021
5017
|
as: "span",
|
|
@@ -5028,13 +5024,13 @@ function StepSummary({ steps }) {
|
|
|
5028
5024
|
) : null
|
|
5029
5025
|
] })
|
|
5030
5026
|
] }),
|
|
5031
|
-
ratio !== null ? /* @__PURE__ */ (0,
|
|
5027
|
+
ratio !== null ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes7.Box, { style: { flex: 1 }, children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Progress, { color: stepColor(step), size: "1", value: ratio * 100 }) }) : null
|
|
5032
5028
|
] })
|
|
5033
5029
|
}
|
|
5034
5030
|
)
|
|
5035
5031
|
] }, step.key);
|
|
5036
5032
|
}) });
|
|
5037
|
-
return /* @__PURE__ */ (0,
|
|
5033
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Section5, { desc, title: "\uD3C9\uAC00 \uB2E8\uACC4 \uC694\uC57D", children: radarReady ? /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
|
|
5038
5034
|
import_themes24.Grid,
|
|
5039
5035
|
{
|
|
5040
5036
|
align: "center",
|
|
@@ -5042,14 +5038,14 @@ function StepSummary({ steps }) {
|
|
|
5042
5038
|
gap: "6",
|
|
5043
5039
|
children: [
|
|
5044
5040
|
list,
|
|
5045
|
-
/* @__PURE__ */ (0,
|
|
5041
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(StepRadar, { steps })
|
|
5046
5042
|
]
|
|
5047
5043
|
}
|
|
5048
5044
|
) : list });
|
|
5049
5045
|
}
|
|
5050
5046
|
|
|
5051
5047
|
// src/app/roleplay/parts/content.tsx
|
|
5052
|
-
var
|
|
5048
|
+
var import_jsx_runtime126 = require("react/jsx-runtime");
|
|
5053
5049
|
function Content9({
|
|
5054
5050
|
detail,
|
|
5055
5051
|
report,
|
|
@@ -5072,46 +5068,46 @@ function Content9({
|
|
|
5072
5068
|
...showStepDetail ? [{ id: "step-detail", label: "\uB2E8\uACC4\uBCC4 \uC0C1\uC138 \uBD84\uC11D" }] : [],
|
|
5073
5069
|
...skills.length > 0 ? [{ id: "coaching", label: "\uC989\uC2DC \uC801\uC6A9 \uC2A4\uD0AC" }] : []
|
|
5074
5070
|
];
|
|
5075
|
-
return /* @__PURE__ */ (0,
|
|
5071
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(
|
|
5076
5072
|
import_themes24.Grid,
|
|
5077
5073
|
{
|
|
5078
5074
|
align: "start",
|
|
5079
5075
|
columns: { initial: "1", md: "minmax(0, 1fr) 224px" },
|
|
5080
5076
|
gap: "7",
|
|
5081
5077
|
children: [
|
|
5082
|
-
/* @__PURE__ */ (0,
|
|
5083
|
-
report.frameworkTitle !== null || report.frameworkDescription !== null ? /* @__PURE__ */ (0,
|
|
5084
|
-
report.frameworkTitle !== null ? /* @__PURE__ */ (0,
|
|
5085
|
-
report.frameworkDescription !== null ? /* @__PURE__ */ (0,
|
|
5078
|
+
/* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(import_themes23.Flex, { direction: "column", gap: "7", children: [
|
|
5079
|
+
report.frameworkTitle !== null || report.frameworkDescription !== null ? /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(import_themes7.Box, { children: [
|
|
5080
|
+
report.frameworkTitle !== null ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(Heading2, { size: "5", weight: "bold", children: report.frameworkTitle }) : null,
|
|
5081
|
+
report.frameworkDescription !== null ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_themes7.Box, { mt: report.frameworkTitle !== null ? "2" : "0", children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(Typo, { as: "p", variant: "body", children: report.frameworkDescription }) }) : null
|
|
5086
5082
|
] }) : null,
|
|
5087
|
-
/* @__PURE__ */ (0,
|
|
5088
|
-
strengths.length > 0 ? /* @__PURE__ */ (0,
|
|
5083
|
+
/* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_themes7.Box, { id: "score-summary", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(ScoreSummary, { detail, report, speechShare }) }),
|
|
5084
|
+
strengths.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_themes7.Box, { id: "strengths", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
5089
5085
|
AnalysisSection,
|
|
5090
5086
|
{
|
|
5091
|
-
desc: "\uC774\uBC88 \uC138\uC158\uC5D0\uC11C \
|
|
5087
|
+
desc: "\uC774\uBC88 \uC138\uC158\uC5D0\uC11C \uAC00\uC7A5 \uB3CB\uBCF4\uC778 \uAC15\uC810\uB4E4\uC774\uC5D0\uC694.",
|
|
5092
5088
|
items: strengths,
|
|
5093
5089
|
title: "\uAC15\uC810",
|
|
5094
5090
|
tone: "good"
|
|
5095
5091
|
}
|
|
5096
5092
|
) }) : null,
|
|
5097
|
-
improvements.length > 0 ? /* @__PURE__ */ (0,
|
|
5093
|
+
improvements.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_themes7.Box, { id: "improvements", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
5098
5094
|
AnalysisSection,
|
|
5099
5095
|
{
|
|
5100
|
-
desc: "\uB2E4\uC74C \
|
|
5096
|
+
desc: "\uB2E4\uC74C\uC5D0 \uBCF4\uC644\uD55C\uB2E4\uBA74 \uB354 \uB098\uC740 \uACB0\uACFC\uB97C \uC5BB\uC744 \uC218 \uC788\uC744 \uAC70\uC5D0\uC694.",
|
|
5101
5097
|
items: improvements,
|
|
5102
5098
|
title: "\uAC1C\uC120\uC810",
|
|
5103
5099
|
tone: "bad"
|
|
5104
5100
|
}
|
|
5105
5101
|
) }) : null,
|
|
5106
|
-
showTrend ? /* @__PURE__ */ (0,
|
|
5107
|
-
showStepSummary ? /* @__PURE__ */ (0,
|
|
5108
|
-
showStepDetail ? /* @__PURE__ */ (0,
|
|
5102
|
+
showTrend ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_themes7.Box, { id: "score-trend", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(ScoreTrendSection, { history }) }) : null,
|
|
5103
|
+
showStepSummary ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_themes7.Box, { id: "step-summary", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(StepSummary, { steps }) }) : null,
|
|
5104
|
+
showStepDetail ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_themes7.Box, { id: "step-detail", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
5109
5105
|
Section2,
|
|
5110
5106
|
{
|
|
5111
|
-
desc: "\uB300\uD654 \
|
|
5107
|
+
desc: "\uC774\uBC88 \uB300\uD654\uC758 \uB354 \uB098\uC544\uC9C8 \uC218 \uC788\uB294 \uBC29\uD5A5\uC744 \uC54C\uB824\uB4DC\uB9B4\uAC8C\uC694.",
|
|
5112
5108
|
title: "\uB2E8\uACC4\uBCC4 \uC0C1\uC138 \uBD84\uC11D",
|
|
5113
|
-
children: /* @__PURE__ */ (0,
|
|
5114
|
-
i > 0 ? /* @__PURE__ */ (0,
|
|
5109
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_themes23.Flex, { direction: "column", children: steps.map((step, i) => /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(import_themes7.Box, { children: [
|
|
5110
|
+
i > 0 ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
5115
5111
|
import_themes40.Separator,
|
|
5116
5112
|
{
|
|
5117
5113
|
mb: "6",
|
|
@@ -5119,22 +5115,22 @@ function Content9({
|
|
|
5119
5115
|
style: { marginTop: "calc(var(--space-9) * 1.6)" }
|
|
5120
5116
|
}
|
|
5121
5117
|
) : null,
|
|
5122
|
-
/* @__PURE__ */ (0,
|
|
5118
|
+
/* @__PURE__ */ (0, import_jsx_runtime126.jsx)(StepDetail, { scrollMarginTop, step })
|
|
5123
5119
|
] }, step.key)) })
|
|
5124
5120
|
}
|
|
5125
5121
|
) }) : null,
|
|
5126
|
-
skills.length > 0 ? /* @__PURE__ */ (0,
|
|
5122
|
+
skills.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_themes7.Box, { id: "coaching", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(CoachingPanel, { skills }) }) : null
|
|
5127
5123
|
] }),
|
|
5128
|
-
/* @__PURE__ */ (0,
|
|
5124
|
+
/* @__PURE__ */ (0, import_jsx_runtime126.jsx)(SectionNav, { items: navItems, steps: showStepDetail ? steps : [] })
|
|
5129
5125
|
]
|
|
5130
5126
|
}
|
|
5131
5127
|
);
|
|
5132
5128
|
}
|
|
5133
5129
|
|
|
5134
5130
|
// src/app/roleplay/parts/header.tsx
|
|
5135
|
-
var
|
|
5131
|
+
var import_jsx_runtime127 = require("react/jsx-runtime");
|
|
5136
5132
|
function PdfIcon() {
|
|
5137
|
-
return /* @__PURE__ */ (0,
|
|
5133
|
+
return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
|
|
5138
5134
|
"svg",
|
|
5139
5135
|
{
|
|
5140
5136
|
"aria-hidden": "true",
|
|
@@ -5147,16 +5143,16 @@ function PdfIcon() {
|
|
|
5147
5143
|
viewBox: "0 0 24 24",
|
|
5148
5144
|
width: "13",
|
|
5149
5145
|
children: [
|
|
5150
|
-
/* @__PURE__ */ (0,
|
|
5151
|
-
/* @__PURE__ */ (0,
|
|
5152
|
-
/* @__PURE__ */ (0,
|
|
5153
|
-
/* @__PURE__ */ (0,
|
|
5146
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("path", { d: "M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z" }),
|
|
5147
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("path", { d: "M14 3v5h5" }),
|
|
5148
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("path", { d: "M12 12v5" }),
|
|
5149
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("path", { d: "M9.5 14.5 12 17l2.5-2.5" })
|
|
5154
5150
|
]
|
|
5155
5151
|
}
|
|
5156
5152
|
);
|
|
5157
5153
|
}
|
|
5158
5154
|
function VideoIcon3() {
|
|
5159
|
-
return /* @__PURE__ */ (0,
|
|
5155
|
+
return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
|
|
5160
5156
|
"svg",
|
|
5161
5157
|
{
|
|
5162
5158
|
"aria-hidden": "true",
|
|
@@ -5169,8 +5165,8 @@ function VideoIcon3() {
|
|
|
5169
5165
|
viewBox: "0 0 24 24",
|
|
5170
5166
|
width: "13",
|
|
5171
5167
|
children: [
|
|
5172
|
-
/* @__PURE__ */ (0,
|
|
5173
|
-
/* @__PURE__ */ (0,
|
|
5168
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("rect", { height: "12", rx: "2", width: "13", x: "2", y: "6" }),
|
|
5169
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("path", { d: "m15 10 6-3v10l-6-3z" })
|
|
5174
5170
|
]
|
|
5175
5171
|
}
|
|
5176
5172
|
);
|
|
@@ -5195,7 +5191,7 @@ function Header({
|
|
|
5195
5191
|
});
|
|
5196
5192
|
};
|
|
5197
5193
|
const replayActive = hasScript && hasReplayMedia;
|
|
5198
|
-
return /* @__PURE__ */ (0,
|
|
5194
|
+
return /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_themes7.Box, { children: /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
|
|
5199
5195
|
import_themes23.Flex,
|
|
5200
5196
|
{
|
|
5201
5197
|
align: { md: "start" },
|
|
@@ -5203,16 +5199,16 @@ function Header({
|
|
|
5203
5199
|
gap: "4",
|
|
5204
5200
|
justify: "between",
|
|
5205
5201
|
children: [
|
|
5206
|
-
/* @__PURE__ */ (0,
|
|
5207
|
-
/* @__PURE__ */ (0,
|
|
5208
|
-
/* @__PURE__ */ (0,
|
|
5209
|
-
/* @__PURE__ */ (0,
|
|
5202
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_themes7.Box, { style: { minWidth: 0 }, children: [
|
|
5203
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_themes23.Flex, { align: "center", gap: "2", mb: "2", wrap: "wrap", children: [
|
|
5204
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Badge, { color: "neutral", size: "small", variant: "soft", children: statusLabelOf(detail.status) }),
|
|
5205
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(Typo, { as: "span", color: "gray", variant: "body", children: [
|
|
5210
5206
|
detail.trainingSessionNum,
|
|
5211
5207
|
"\uD68C\uCC28",
|
|
5212
5208
|
detail.characterTitle ? ` \xB7 ${detail.characterTitle}` : ""
|
|
5213
5209
|
] })
|
|
5214
5210
|
] }),
|
|
5215
|
-
/* @__PURE__ */ (0,
|
|
5211
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
5216
5212
|
Heading2,
|
|
5217
5213
|
{
|
|
5218
5214
|
size: { initial: "5", md: "7" },
|
|
@@ -5221,13 +5217,13 @@ function Header({
|
|
|
5221
5217
|
children: (_a = detail.scenarioTitle) != null ? _a : "\uB864\uD50C\uB808\uC789 \uC138\uC158"
|
|
5222
5218
|
}
|
|
5223
5219
|
),
|
|
5224
|
-
/* @__PURE__ */ (0,
|
|
5220
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(Typo, { as: "p", color: "gray", mono: true, mt: "1", variant: "body", children: [
|
|
5225
5221
|
formatDate(detail.createdAt),
|
|
5226
5222
|
" \xB7 ",
|
|
5227
5223
|
formatDuration(detail.trainingTime)
|
|
5228
5224
|
] })
|
|
5229
5225
|
] }),
|
|
5230
|
-
/* @__PURE__ */ (0,
|
|
5226
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
|
|
5231
5227
|
import_themes23.Flex,
|
|
5232
5228
|
{
|
|
5233
5229
|
gap: "2",
|
|
@@ -5235,7 +5231,7 @@ function Header({
|
|
|
5235
5231
|
style: { flexShrink: 0 },
|
|
5236
5232
|
wrap: "wrap",
|
|
5237
5233
|
children: [
|
|
5238
|
-
onResolveMediaUrl ? /* @__PURE__ */ (0,
|
|
5234
|
+
onResolveMediaUrl ? /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
|
|
5239
5235
|
Button,
|
|
5240
5236
|
{
|
|
5241
5237
|
color: "gray",
|
|
@@ -5246,11 +5242,11 @@ function Header({
|
|
|
5246
5242
|
type: "button",
|
|
5247
5243
|
variant: "outline",
|
|
5248
5244
|
children: [
|
|
5249
|
-
/* @__PURE__ */ (0,
|
|
5250
|
-
/* @__PURE__ */ (0,
|
|
5245
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(PdfIcon, {}),
|
|
5246
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { style: { whiteSpace: "nowrap" }, children: "PDF \uB2E4\uC6B4\uB85C\uB4DC" })
|
|
5251
5247
|
]
|
|
5252
5248
|
}
|
|
5253
|
-
) : /* @__PURE__ */ (0,
|
|
5249
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
5254
5250
|
Button,
|
|
5255
5251
|
{
|
|
5256
5252
|
asChild: Boolean(pdfHref),
|
|
@@ -5260,16 +5256,16 @@ function Header({
|
|
|
5260
5256
|
title: pdfHref ? void 0 : "\uC0B0\uCD9C\uBB3C \uC5C6\uC74C",
|
|
5261
5257
|
type: "button",
|
|
5262
5258
|
variant: "outline",
|
|
5263
|
-
children: pdfHref ? /* @__PURE__ */ (0,
|
|
5264
|
-
/* @__PURE__ */ (0,
|
|
5265
|
-
/* @__PURE__ */ (0,
|
|
5266
|
-
] }) : /* @__PURE__ */ (0,
|
|
5267
|
-
/* @__PURE__ */ (0,
|
|
5268
|
-
/* @__PURE__ */ (0,
|
|
5259
|
+
children: pdfHref ? /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("a", { href: pdfHref, rel: "noopener noreferrer", target: "_blank", children: [
|
|
5260
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(PdfIcon, {}),
|
|
5261
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { style: { whiteSpace: "nowrap" }, children: "PDF \uB2E4\uC6B4\uB85C\uB4DC" })
|
|
5262
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("span", { children: [
|
|
5263
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(PdfIcon, {}),
|
|
5264
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { style: { whiteSpace: "nowrap" }, children: "PDF \uB2E4\uC6B4\uB85C\uB4DC" })
|
|
5269
5265
|
] })
|
|
5270
5266
|
}
|
|
5271
5267
|
),
|
|
5272
|
-
hasScript ? /* @__PURE__ */ (0,
|
|
5268
|
+
hasScript ? /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
|
|
5273
5269
|
Button,
|
|
5274
5270
|
{
|
|
5275
5271
|
color: "gray",
|
|
@@ -5280,8 +5276,8 @@ function Header({
|
|
|
5280
5276
|
type: "button",
|
|
5281
5277
|
variant: "outline",
|
|
5282
5278
|
children: [
|
|
5283
|
-
/* @__PURE__ */ (0,
|
|
5284
|
-
/* @__PURE__ */ (0,
|
|
5279
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(VideoIcon3, {}),
|
|
5280
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { style: { whiteSpace: "nowrap" }, children: "\uC601\uC0C1" })
|
|
5285
5281
|
]
|
|
5286
5282
|
}
|
|
5287
5283
|
) : null
|
|
@@ -5297,66 +5293,7 @@ function Header({
|
|
|
5297
5293
|
var import_react70 = require("react");
|
|
5298
5294
|
|
|
5299
5295
|
// src/app/roleplay/parts/script-transcript.tsx
|
|
5300
|
-
var
|
|
5301
|
-
function SpeechShareBar2({ share }) {
|
|
5302
|
-
const isOvertalking = share.userPct > SPEECH_OVERTALK_THRESHOLD;
|
|
5303
|
-
return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_themes7.Box, { children: [
|
|
5304
|
-
/* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_themes23.Flex, { align: "center", justify: "between", mb: "1", children: [
|
|
5305
|
-
/* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
|
|
5306
|
-
Typo,
|
|
5307
|
-
{
|
|
5308
|
-
as: "span",
|
|
5309
|
-
style: {
|
|
5310
|
-
fontSize: "0.75rem",
|
|
5311
|
-
color: isOvertalking ? "var(--red-11)" : "var(--accent-11)"
|
|
5312
|
-
},
|
|
5313
|
-
variant: "body",
|
|
5314
|
-
weight: "medium",
|
|
5315
|
-
children: [
|
|
5316
|
-
"\uB0B4 \uBC1C\uD654\uB7C9 ",
|
|
5317
|
-
share.userPct,
|
|
5318
|
-
"%"
|
|
5319
|
-
]
|
|
5320
|
-
}
|
|
5321
|
-
),
|
|
5322
|
-
/* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(Typo, { as: "span", color: "gray", style: { fontSize: "0.75rem" }, variant: "body", children: [
|
|
5323
|
-
"\uC0C1\uB300 ",
|
|
5324
|
-
share.partnerPct,
|
|
5325
|
-
"%"
|
|
5326
|
-
] })
|
|
5327
|
-
] }),
|
|
5328
|
-
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
5329
|
-
import_themes23.Flex,
|
|
5330
|
-
{
|
|
5331
|
-
style: {
|
|
5332
|
-
height: 6,
|
|
5333
|
-
borderRadius: "var(--radius-1)",
|
|
5334
|
-
overflow: "hidden",
|
|
5335
|
-
background: "var(--gray-4)"
|
|
5336
|
-
},
|
|
5337
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
5338
|
-
import_themes7.Box,
|
|
5339
|
-
{
|
|
5340
|
-
style: {
|
|
5341
|
-
width: `${share.userPct}%`,
|
|
5342
|
-
background: isOvertalking ? "var(--red-9)" : "var(--accent-9)"
|
|
5343
|
-
}
|
|
5344
|
-
}
|
|
5345
|
-
)
|
|
5346
|
-
}
|
|
5347
|
-
),
|
|
5348
|
-
isOvertalking ? /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
5349
|
-
Typo,
|
|
5350
|
-
{
|
|
5351
|
-
as: "p",
|
|
5352
|
-
mt: "1",
|
|
5353
|
-
style: { fontSize: "0.75rem", color: "var(--red-11)" },
|
|
5354
|
-
variant: "body",
|
|
5355
|
-
children: "\uC0C1\uB300\uC758 \uB9D0\uC744 \uB354 \uB4E3\uACE0 \uC9C8\uBB38\xB7\uACBD\uCCAD\uC758 \uBE44\uC911\uC744 \uB192\uC5EC \uBCF4\uC138\uC694"
|
|
5356
|
-
}
|
|
5357
|
-
) : null
|
|
5358
|
-
] });
|
|
5359
|
-
}
|
|
5296
|
+
var import_jsx_runtime128 = require("react/jsx-runtime");
|
|
5360
5297
|
function ScriptTranscript({
|
|
5361
5298
|
lines,
|
|
5362
5299
|
partnerName,
|
|
@@ -5366,31 +5303,30 @@ function ScriptTranscript({
|
|
|
5366
5303
|
onSeek
|
|
5367
5304
|
}) {
|
|
5368
5305
|
const activeIndex = canSync ? lines.reduce((acc, line, i) => line.startMs <= currentMs ? i : acc, -1) : -1;
|
|
5369
|
-
return /* @__PURE__ */ (0,
|
|
5370
|
-
/* @__PURE__ */ (0,
|
|
5371
|
-
/* @__PURE__ */ (0,
|
|
5372
|
-
/* @__PURE__ */ (0,
|
|
5373
|
-
/* @__PURE__ */ (0,
|
|
5306
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_themes23.Flex, { direction: "column", gap: "2", style: { minWidth: 0 }, children: [
|
|
5307
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_themes7.Box, { children: [
|
|
5308
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_themes23.Flex, { align: "center", gap: "2", justify: "between", children: [
|
|
5309
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(Typo, { as: "span", variant: "body", weight: "bold", children: "\uB300\uD654 \uC2A4\uD06C\uB9BD\uD2B8" }),
|
|
5310
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
5374
5311
|
Typo,
|
|
5375
5312
|
{
|
|
5376
5313
|
as: "span",
|
|
5377
5314
|
color: "gray",
|
|
5378
|
-
|
|
5379
|
-
|
|
5380
|
-
children: canSync ? "\uC7AC\uC0DD \uC704\uCE58\uC5D0 \uB9DE\uCDB0 \uD45C\uC2DC" : "\uD0C0\uC784\uB77C\uC778 \uBE44\uB3D9\uAE30"
|
|
5315
|
+
variant: "caption",
|
|
5316
|
+
children: canSync ? "" : "\uD0C0\uC784\uB77C\uC778 \uAE30\uB2A5 \uC0AC\uC6A9 \uBD88\uAC00"
|
|
5381
5317
|
}
|
|
5382
5318
|
)
|
|
5383
5319
|
] }),
|
|
5384
|
-
partnerName ? /* @__PURE__ */ (0,
|
|
5320
|
+
partnerName ? /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(Typo, { as: "p", color: "gray", mt: "1", variant: "body", children: [
|
|
5385
5321
|
"\uC0C1\uB300 \xB7 ",
|
|
5386
5322
|
partnerName
|
|
5387
5323
|
] }) : null,
|
|
5388
|
-
speechShare ? /* @__PURE__ */ (0,
|
|
5324
|
+
speechShare ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_themes7.Box, { mt: "2", children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(SpeechShareBar, { share: speechShare }) }) : null
|
|
5389
5325
|
] }),
|
|
5390
|
-
lines.length === 0 ? /* @__PURE__ */ (0,
|
|
5326
|
+
lines.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(Typo, { as: "p", color: "gray", variant: "body", children: "\uB300\uD654 \uC2A4\uD06C\uB9BD\uD2B8\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4." }) : /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_themes7.Box, { style: { maxHeight: 440, overflowY: "auto" }, children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_themes23.Flex, { direction: "column", gap: "1", children: lines.map((line, i) => {
|
|
5391
5327
|
const isUser = line.speaker === "user";
|
|
5392
5328
|
const isActive = i === activeIndex;
|
|
5393
|
-
return /* @__PURE__ */ (0,
|
|
5329
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
|
|
5394
5330
|
import_themes23.Flex,
|
|
5395
5331
|
{
|
|
5396
5332
|
align: "start",
|
|
@@ -5406,47 +5342,45 @@ function ScriptTranscript({
|
|
|
5406
5342
|
background: isActive ? "var(--accent-a3)" : "transparent"
|
|
5407
5343
|
},
|
|
5408
5344
|
children: [
|
|
5409
|
-
canSync ? /* @__PURE__ */ (0,
|
|
5345
|
+
canSync ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
5410
5346
|
Typo,
|
|
5411
5347
|
{
|
|
5412
5348
|
as: "span",
|
|
5413
5349
|
mono: true,
|
|
5414
5350
|
style: {
|
|
5415
5351
|
color: isActive ? "var(--accent-11)" : "var(--gray-9)",
|
|
5416
|
-
fontSize: "0.75rem",
|
|
5417
5352
|
flexShrink: 0,
|
|
5418
5353
|
minWidth: 32,
|
|
5419
5354
|
lineHeight: "1.7"
|
|
5420
5355
|
},
|
|
5421
|
-
variant: "
|
|
5356
|
+
variant: "caption",
|
|
5422
5357
|
children: formatTimestamp(line.startMs)
|
|
5423
5358
|
}
|
|
5424
5359
|
) : null,
|
|
5425
|
-
/* @__PURE__ */ (0,
|
|
5360
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
5426
5361
|
Typo,
|
|
5427
5362
|
{
|
|
5428
5363
|
as: "span",
|
|
5429
5364
|
style: {
|
|
5430
5365
|
color: isUser ? "var(--accent-11)" : "var(--gray-11)",
|
|
5431
|
-
fontSize: "0.8125rem",
|
|
5432
5366
|
flexShrink: 0,
|
|
5433
5367
|
minWidth: 28,
|
|
5434
5368
|
lineHeight: "1.7",
|
|
5435
|
-
fontWeight: 700,
|
|
5436
5369
|
whiteSpace: "nowrap"
|
|
5437
5370
|
},
|
|
5438
5371
|
variant: "body",
|
|
5372
|
+
weight: "bold",
|
|
5439
5373
|
children: isUser ? "\uB098" : "\uC0C1\uB300"
|
|
5440
5374
|
}
|
|
5441
5375
|
),
|
|
5442
|
-
/* @__PURE__ */ (0,
|
|
5376
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
5443
5377
|
Typo,
|
|
5444
5378
|
{
|
|
5445
5379
|
as: "span",
|
|
5380
|
+
color: "gray",
|
|
5381
|
+
highContrast: isActive,
|
|
5446
5382
|
style: {
|
|
5447
|
-
|
|
5448
|
-
lineHeight: "1.7",
|
|
5449
|
-
color: isActive ? "var(--gray-12)" : "var(--gray-11)"
|
|
5383
|
+
lineHeight: "1.7"
|
|
5450
5384
|
},
|
|
5451
5385
|
variant: "body",
|
|
5452
5386
|
weight: isActive ? "medium" : void 0,
|
|
@@ -5462,7 +5396,7 @@ function ScriptTranscript({
|
|
|
5462
5396
|
}
|
|
5463
5397
|
|
|
5464
5398
|
// src/app/roleplay/parts/session-replay-dialog.tsx
|
|
5465
|
-
var
|
|
5399
|
+
var import_jsx_runtime129 = require("react/jsx-runtime");
|
|
5466
5400
|
function resolveUrl(raw, disp, resolver) {
|
|
5467
5401
|
return __async(this, null, function* () {
|
|
5468
5402
|
if (!raw) return void 0;
|
|
@@ -5522,14 +5456,14 @@ function SessionReplayDialog({
|
|
|
5522
5456
|
setCurrentMs(el.currentTime * 1e3);
|
|
5523
5457
|
}
|
|
5524
5458
|
};
|
|
5525
|
-
return /* @__PURE__ */ (0,
|
|
5459
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Dialog.Root, { onOpenChange, open, children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Dialog.Content, { maxWidth: "1040px", title: "\uC138\uC158 \uB2E4\uC2DC\uBCF4\uAE30", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
|
|
5526
5460
|
import_themes24.Grid,
|
|
5527
5461
|
{
|
|
5528
5462
|
columns: { initial: "1", md: "minmax(0, 1fr) minmax(0, 1.05fr)" },
|
|
5529
5463
|
gap: "5",
|
|
5530
5464
|
mt: "2",
|
|
5531
5465
|
children: [
|
|
5532
|
-
/* @__PURE__ */ (0,
|
|
5466
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)(import_themes7.Box, { children: /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
|
|
5533
5467
|
Tabs.Root,
|
|
5534
5468
|
{
|
|
5535
5469
|
onValueChange: (v) => {
|
|
@@ -5537,11 +5471,11 @@ function SessionReplayDialog({
|
|
|
5537
5471
|
},
|
|
5538
5472
|
value: tab,
|
|
5539
5473
|
children: [
|
|
5540
|
-
/* @__PURE__ */ (0,
|
|
5541
|
-
hasVideo ? /* @__PURE__ */ (0,
|
|
5542
|
-
hasAudio ? /* @__PURE__ */ (0,
|
|
5474
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(Tabs.List, { children: [
|
|
5475
|
+
hasVideo ? /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Tabs.Trigger, { value: "video", children: "\uC601\uC0C1" }) : null,
|
|
5476
|
+
hasAudio ? /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Tabs.Trigger, { value: "audio", children: "\uC624\uB514\uC624" }) : null
|
|
5543
5477
|
] }),
|
|
5544
|
-
hasVideo ? /* @__PURE__ */ (0,
|
|
5478
|
+
hasVideo ? /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Tabs.Content, { value: "video", children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
5545
5479
|
import_themes7.Box,
|
|
5546
5480
|
{
|
|
5547
5481
|
mt: "3",
|
|
@@ -5550,7 +5484,7 @@ function SessionReplayDialog({
|
|
|
5550
5484
|
overflow: "hidden",
|
|
5551
5485
|
background: "var(--gray-3)"
|
|
5552
5486
|
},
|
|
5553
|
-
children: /* @__PURE__ */ (0,
|
|
5487
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
5554
5488
|
"video",
|
|
5555
5489
|
{
|
|
5556
5490
|
controls: true,
|
|
@@ -5566,7 +5500,7 @@ function SessionReplayDialog({
|
|
|
5566
5500
|
)
|
|
5567
5501
|
}
|
|
5568
5502
|
) }) : null,
|
|
5569
|
-
hasAudio ? /* @__PURE__ */ (0,
|
|
5503
|
+
hasAudio ? /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Tabs.Content, { value: "audio", children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(import_themes7.Box, { mt: "3", children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
5570
5504
|
"audio",
|
|
5571
5505
|
{
|
|
5572
5506
|
controls: true,
|
|
@@ -5583,7 +5517,7 @@ function SessionReplayDialog({
|
|
|
5583
5517
|
]
|
|
5584
5518
|
}
|
|
5585
5519
|
) }),
|
|
5586
|
-
/* @__PURE__ */ (0,
|
|
5520
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
5587
5521
|
ScriptTranscript,
|
|
5588
5522
|
{
|
|
5589
5523
|
canSync,
|
|
@@ -5600,25 +5534,25 @@ function SessionReplayDialog({
|
|
|
5600
5534
|
}
|
|
5601
5535
|
|
|
5602
5536
|
// src/app/roleplay/rp-session-detail.tsx
|
|
5603
|
-
var
|
|
5537
|
+
var import_jsx_runtime130 = require("react/jsx-runtime");
|
|
5604
5538
|
function RpSessionDetailSkeleton() {
|
|
5605
|
-
return /* @__PURE__ */ (0,
|
|
5606
|
-
/* @__PURE__ */ (0,
|
|
5607
|
-
/* @__PURE__ */ (0,
|
|
5608
|
-
/* @__PURE__ */ (0,
|
|
5539
|
+
return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes7.Box, { py: "6", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(import_themes23.Flex, { direction: "column", gap: "6", children: [
|
|
5540
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(import_themes7.Box, { children: [
|
|
5541
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes41.Skeleton, { children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Heading2, { size: "7", children: "\uB864\uD50C\uB808\uC789 \uC138\uC158 \uC81C\uBAA9 \uB85C\uB529 \uC911" }) }),
|
|
5542
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes7.Box, { mt: "2", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes41.Skeleton, { children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Typo, { as: "p", variant: "body", children: "\uB0A0\uC9DC \xB7 \uC18C\uC694 \uC2DC\uAC04\uC774 \uB85C\uB529\uB418\uB294 \uC601\uC5ED\uC785\uB2C8\uB2E4" }) }) })
|
|
5609
5543
|
] }),
|
|
5610
|
-
/* @__PURE__ */ (0,
|
|
5611
|
-
/* @__PURE__ */ (0,
|
|
5612
|
-
/* @__PURE__ */ (0,
|
|
5544
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("section", { children: [
|
|
5545
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes41.Skeleton, { children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Heading2, { size: "5", children: "\uC885\uD569 \uC810\uC218" }) }),
|
|
5546
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes7.Box, { mt: "3", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Card, { variant: "surface", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes23.Flex, { align: "center", direction: "column", gap: "2", py: "3", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes41.Skeleton, { children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Heading2, { size: "7", children: "00" }) }) }) }) })
|
|
5613
5547
|
] }),
|
|
5614
|
-
/* @__PURE__ */ (0,
|
|
5615
|
-
/* @__PURE__ */ (0,
|
|
5616
|
-
/* @__PURE__ */ (0,
|
|
5548
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("section", { children: [
|
|
5549
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes41.Skeleton, { children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Heading2, { size: "5", children: "\uD3C9\uAC00 \uC9C0\uD45C \uC694\uC57D" }) }),
|
|
5550
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes7.Box, { mt: "3", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes23.Flex, { direction: "column", gap: "3", children: [0, 1, 2].map((i) => /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes41.Skeleton, { children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Typo, { as: "p", variant: "body", children: "\uD3C9\uAC00 \uC9C0\uD45C \uD56D\uBAA9\uC774 \uB85C\uB529\uB418\uB294 \uC911\uC785\uB2C8\uB2E4" }) }, i)) }) })
|
|
5617
5551
|
] })
|
|
5618
5552
|
] }) });
|
|
5619
5553
|
}
|
|
5620
5554
|
function AnalyzingState() {
|
|
5621
|
-
return /* @__PURE__ */ (0,
|
|
5555
|
+
return /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
|
|
5622
5556
|
import_themes23.Flex,
|
|
5623
5557
|
{
|
|
5624
5558
|
align: "center",
|
|
@@ -5632,9 +5566,9 @@ function AnalyzingState() {
|
|
|
5632
5566
|
textAlign: "center"
|
|
5633
5567
|
},
|
|
5634
5568
|
children: [
|
|
5635
|
-
/* @__PURE__ */ (0,
|
|
5636
|
-
/* @__PURE__ */ (0,
|
|
5637
|
-
/* @__PURE__ */ (0,
|
|
5569
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Heading2, { size: { initial: "4", md: "5" }, weight: "bold", children: "AI \uBD84\uC11D \uC911\uC785\uB2C8\uB2E4" }),
|
|
5570
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes7.Box, { mt: "2", style: { maxWidth: "480px" }, children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Typo, { as: "p", variant: "body", children: "\uB300\uD654\uC640 \uC0B0\uCD9C\uBB3C\uC740 \uC800\uC7A5\uB418\uC5C8\uACE0, AI\uAC00 \uC9C0\uD45C\uBCC4 \uADFC\uAC70\uC640 \uCF54\uCE6D\uC744 \uC0DD\uC131\uD558\uB294 \uC911\uC785\uB2C8\uB2E4." }) }),
|
|
5571
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes7.Box, { mt: "4", style: { width: "100%", maxWidth: "280px" }, children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Progress, { size: "2", value: 66 }) })
|
|
5638
5572
|
]
|
|
5639
5573
|
}
|
|
5640
5574
|
);
|
|
@@ -5660,11 +5594,11 @@ function RpSessionDetail({
|
|
|
5660
5594
|
const hasScript = script !== null && script !== void 0;
|
|
5661
5595
|
const isAnalyzing = detail.status === "analyzing";
|
|
5662
5596
|
if (isLoading) {
|
|
5663
|
-
return /* @__PURE__ */ (0,
|
|
5597
|
+
return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(RpSessionDetailSkeleton, {});
|
|
5664
5598
|
}
|
|
5665
|
-
return /* @__PURE__ */ (0,
|
|
5666
|
-
/* @__PURE__ */ (0,
|
|
5667
|
-
/* @__PURE__ */ (0,
|
|
5599
|
+
return /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(import_themes7.Box, { py: "6", children: [
|
|
5600
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(import_themes23.Flex, { direction: "column", gap: { initial: "5", md: "7" }, children: [
|
|
5601
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
5668
5602
|
Header,
|
|
5669
5603
|
{
|
|
5670
5604
|
detail,
|
|
@@ -5675,7 +5609,7 @@ function RpSessionDetail({
|
|
|
5675
5609
|
onResolveMediaUrl
|
|
5676
5610
|
}
|
|
5677
5611
|
),
|
|
5678
|
-
isAnalyzing ? /* @__PURE__ */ (0,
|
|
5612
|
+
isAnalyzing ? /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(AnalyzingState, {}) : /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
5679
5613
|
Content9,
|
|
5680
5614
|
{
|
|
5681
5615
|
detail,
|
|
@@ -5686,7 +5620,7 @@ function RpSessionDetail({
|
|
|
5686
5620
|
}
|
|
5687
5621
|
)
|
|
5688
5622
|
] }),
|
|
5689
|
-
/* @__PURE__ */ (0,
|
|
5623
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
5690
5624
|
SessionReplayDialog,
|
|
5691
5625
|
{
|
|
5692
5626
|
detail,
|