diff --git a/src/components/discovery/AbmrLoop.tsx b/src/components/discovery/AbmrLoop.tsx index 48e7602..cc17c31 100644 --- a/src/components/discovery/AbmrLoop.tsx +++ b/src/components/discovery/AbmrLoop.tsx @@ -41,7 +41,7 @@ export default function AbmrLoop({ axes }: AbmrLoopProps) { whileInView={{ opacity: 1, y: 0 }} viewport={{ once: true }} transition={{ duration: 0.6, delay: 0.1 }} - className="relative overflow-hidden bg-[#0A1128] rounded-2xl px-8 py-7 flex flex-col items-center text-left" + className="on-dark relative overflow-hidden bg-[#0A1128] rounded-2xl px-8 py-7 flex flex-col items-center text-left" > {/* Background glow */}
@@ -65,7 +65,7 @@ export default function AbmrLoop({ axes }: AbmrLoopProps) { {/* Center orb */} -
+
ABMR @@ -77,7 +77,7 @@ export default function AbmrLoop({ axes }: AbmrLoopProps) { {/* Nodes */} {NODES.map((node) => (
-
+
{node.letter}
{node.label} diff --git a/src/components/discovery/AeoGeoV2Panel.tsx b/src/components/discovery/AeoGeoV2Panel.tsx index b5d34da..f8d3a18 100644 --- a/src/components/discovery/AeoGeoV2Panel.tsx +++ b/src/components/discovery/AeoGeoV2Panel.tsx @@ -16,14 +16,14 @@ function ItemRow({ it }: { it: ItemScoreV2; key?: string }) { return (
- {it.item.id} + {it.item.id}

{it.item.name}

-

{it.item.weight}점 · {METHOD_LABEL[it.item.method]}

+

{it.item.weight}점 · {METHOD_LABEL[it.item.method]}

-

{it.item.question}

- {it.evidence &&

{it.evidence}

} -

+

{it.item.question}

+ {it.evidence &&

{it.evidence}

} +

{BASIS_LABEL[it.basis]} {it.signals.length > 0 && ` · ${it.signals.map((s) => `${s.criterionId}=${s.level === 'unverified' ? '미검증' : s.level}`).join(' · ')}`}

@@ -51,7 +51,7 @@ function AxisCard({ ax }: { ax: AxisScoreV2 }) {
-

검증 {ax.verifiedCount}/{ax.items.length} · {ax.earned} / {ax.possible}점

+

검증 {ax.verifiedCount}/{ax.items.length} · {ax.earned} / {ax.possible}점

{ax.cappedBy.length > 0 && (

게이트 상한 {Math.min(...ax.cappedBy.map((g) => g.gate.cap))} (원점수 {ax.rawScore})

)} @@ -60,7 +60,7 @@ function AxisCard({ ax }: { ax: AxisScoreV2 }) {
-

{ax.axis.description}

+

{ax.axis.description}

{ax.items.map((it) => )}
@@ -81,8 +81,8 @@ export function AeoGeoV2Panel({ rubric, score }: { rubric: RubricV2; score: Over

{ax.axis.code} · {ax.axis.name}

-

{ax.axis.question}

-

+

{ax.axis.question}

+

등급 {ax.grade} · 검증 {ax.verifiedCount}/{ax.items.length} {ax.cappedBy.length > 0 && ` · 게이트 상한 적용 (원점수 ${ax.rawScore})`}

@@ -95,7 +95,7 @@ export function AeoGeoV2Panel({ rubric, score }: { rubric: RubricV2; score: Over

게이트 (점수가 아니라 상한)

    {score.gates.map((g) => ( -
  • +
  • {g.gate.id} {g.gate.name} · {g.passed ? '통과' : `실패 (${g.failedBy.join(', ')}) → 상한 ${g.gate.cap}`} {g.gate.reason}
  • diff --git a/src/components/discovery/AiAnswerMock.tsx b/src/components/discovery/AiAnswerMock.tsx index 9be38ab..a61406d 100644 --- a/src/components/discovery/AiAnswerMock.tsx +++ b/src/components/discovery/AiAnswerMock.tsx @@ -38,7 +38,7 @@ export default function AiAnswerMock({ clinicName, criteriaCount }: AiAnswerMock - + 강남에서 안전하게 가슴성형 상담받을 수 있는 병원 추천해줘
diff --git a/src/components/discovery/ClinicInputsPanel.tsx b/src/components/discovery/ClinicInputsPanel.tsx index b3b276c..cc7ad26 100644 --- a/src/components/discovery/ClinicInputsPanel.tsx +++ b/src/components/discovery/ClinicInputsPanel.tsx @@ -97,8 +97,12 @@ export function ClinicInputsPanel({ clinicId }: { clinicId: string }) {
SUPPORTERS BUILD · 병원 확인 항목

서포터즈 사이트 미리보기와 병원이 확인해 주실 것

-

- 병원 홈페이지 공개 자료만으로 만든 초안입니다. 아래 항목은 자료에 없어 병원만 답할 수 있는 값이며, 입력 전까지는 사이트에 "확인 대기"로 표시됩니다. 의학 검토와 게시 승인은 병원이 확정합니다. +

+ 병원 홈페이지 공개 자료만으로 만든 초안입니다.{' '} + 입력 전까지는 사이트에 "확인 대기"로 표시되고, 의학 검토와 게시 승인은 병원이 확정합니다. +

+

+ 아래 항목은 공개 자료에 없어 병원만 답할 수 있는 값입니다. 채워 주세요.

{/* 빌드 상태 */} @@ -108,9 +112,9 @@ export function ClinicInputsPanel({ clinicId }: { clinicId: string }) { {build && (
-

상태

-

{STATUS_LABEL[build.status] ?? build.status}{build.phase ? 단계 {build.phase} : null}

-

갱신 {build.updated_at.slice(0, 16).replace('T', ' ')} · 글 {posts.length}편{typeof build.report?.totalCostUsd === 'number' ? ` · 생성 비용 $${build.report.totalCostUsd}` : ''}

+

상태

+

{STATUS_LABEL[build.status] ?? build.status}{build.phase ? 단계 {build.phase} : null}

+

갱신 {build.updated_at.slice(0, 16).replace('T', ' ')} · 글 {posts.length}편{typeof build.report?.totalCostUsd === 'number' ? ` · 생성 비용 $${build.report.totalCostUsd}` : ''}

{build.preview_url && ( 미리보기 열기 (noindex) @@ -135,7 +139,7 @@ export function ClinicInputsPanel({ clinicId }: { clinicId: string }) {

{f.title}

{cur ? `입력됨 ${String(current(f.key)?.created_at ?? '').slice(0, 10)}` : '확인 대기'}
-

{f.hint}

+

{f.hint}

{f.inputs.map((inp) => { const value = draft[inp.name] ?? (cur ? String(Array.isArray(cur[inp.name]) ? (cur[inp.name] as string[]).join(', ') : cur[inp.name] ?? '') : ''); @@ -175,7 +179,7 @@ export function ClinicInputsPanel({ clinicId }: { clinicId: string }) { {build?.report?.channels && (

발견한 채널

-

홈페이지·웹검색·레지스트리에서 찾아 병원 것인지 확인한 채널입니다. "확인 필요"는 병원이 맞는지 알려 주셔야 사이트에 연결합니다.

+

홈페이지·웹검색·레지스트리에서 찾아 병원 것인지 확인한 채널입니다. "확인 필요"는 병원이 맞는지 알려 주셔야 사이트에 연결합니다.