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