From acf00249935c7451188abeca3fdbdf62f897b08e Mon Sep 17 00:00:00 2001 From: RosieOh Date: Tue, 22 Sep 2026 17:54:49 +0900 Subject: [PATCH 1/4] =?UTF-8?q?refactor(content):=20=EC=97=AC=EB=9F=AC=20?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=EA=B0=80=20=EC=9D=B8=EC=9A=A9?= =?UTF-8?q?=ED=95=98=EB=8A=94=20=ED=8C=90=EB=8B=A8=20=EB=AC=B8=EA=B5=AC?= =?UTF-8?q?=EB=A5=BC=20=ED=95=9C=20=EA=B3=B3=EC=9C=BC=EB=A1=9C=20=EB=AA=A8?= =?UTF-8?q?=EC=9D=80=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 홈의 스크롤 구간과 /benefits · /facilities · /data 가 같은 문장(자격 판정 세 갈래, 알리지 않는 경우, 아는 것/모르는 것)을 보여 주게 된다. 한쪽만 고쳐 두 페이지가 다른 말을 하지 않도록 src/content/facts.ts 로 옮긴다. 수치는 자동 갱신 스크립트가 고치는 figures.ts 에 그대로 둔다. --- src/app/benefits/page.tsx | 19 +----------- src/app/data/page.tsx | 26 ++--------------- src/app/facilities/page.tsx | 8 +---- src/content/facts.ts | 58 +++++++++++++++++++++++++++++++++++++ 4 files changed, 62 insertions(+), 49 deletions(-) create mode 100644 src/content/facts.ts diff --git a/src/app/benefits/page.tsx b/src/app/benefits/page.tsx index 56ceff4..ea263da 100644 --- a/src/app/benefits/page.tsx +++ b/src/app/benefits/page.tsx @@ -2,6 +2,7 @@ import type { Metadata } from 'next' import Link from 'next/link' import { ReactNode } from 'react' import { Figure, PageHead, Section } from '@/components/Page' +import { VERDICTS } from '@/content/facts' export const metadata: Metadata = { title: '지원금', @@ -9,24 +10,6 @@ export const metadata: Metadata = { '놓친 지원금 찾기, 거주지별 비교, 실수령액 제보로 확정하는 금액. 추정치는 추정치라고 표기합니다.', } -/** 자격 판정 결과. 소득 미입력을 탈락으로 처리하지 않는 것이 이 서비스의 판단이다. */ -const VERDICTS = [ - { - tone: 'var(--seal-deep)', - head: '대상입니다', - body: '자녀 수와 소득 조건을 모두 만족합니다. 예상 총액에 넣습니다.', - }, - { - tone: 'var(--past)', - head: '판단 보류', - body: '소득을 입력하지 않으셨습니다. 탈락으로 처리하면 받을 수 있었던 돈이 목록에서 통째로 사라지므로, 보류로 두고 함께 보여 드립니다.', - }, - { - tone: 'var(--stamp)', - head: '대상 아닙니다', - body: '자녀 수가 모자라거나 소득이 기준을 넘습니다. 왜 아닌지 함께 적습니다.', - }, -] export default function BenefitsPage(): ReactNode { return ( diff --git a/src/app/data/page.tsx b/src/app/data/page.tsx index c602d54..4524905 100644 --- a/src/app/data/page.tsx +++ b/src/app/data/page.tsx @@ -1,6 +1,7 @@ import type { Metadata } from 'next' import { ReactNode } from 'react' import { PageHead, Section, Shell } from '@/components/Page' +import { KNOWN_UNKNOWN } from '@/content/facts' import { MEASURED_LABEL, MEASURED_ON, SOURCES, SYNC_SCHEDULE, formatCount } from '@/content/figures' export const metadata: Metadata = { @@ -9,29 +10,6 @@ export const metadata: Metadata = { '어디서 받아 오는지, 무엇을 알 수 있고 무엇을 알 수 없는지. 비어 있는 지역과 못 채운 값을 그대로 적었습니다.', } -/** 이 표가 이 페이지의 이유다. 마케팅 페이지가 보통 쓰지 않는 오른쪽 칸. */ -const LEDGER = [ - { - known: '시설 전체의 정원과 현원', - unknown: '반별 정원', - why: '공공데이터가 시설 단위로만 줍니다. 0세반이 찼는데 5세반에 자리가 난 것일 수 있어, 알림에 그대로 적습니다.', - }, - { - known: '정책의 대상 연령·지역·소득 기준', - unknown: '일부 정책의 지원 금액', - why: '금액이 숫자가 아니라 설명 문장 안에 섞여 옵니다. 기계로 뽑다 실패한 건 미상으로 두고, 받아 보신 분들의 제보로 채웁니다.', - }, - { - known: '관측된 정원 변동', - unknown: '대기 순번이 도는 시점', - why: '정부가 공개하지 않습니다. 부모들이 남긴 입소 기록이 세 건 이상 모인 시설만 통계를 냅니다.', - }, - { - known: '전국 시군구 200여 곳의 시설', - unknown: '광주와 전남의 시설', - why: '두 정부 API 모두 이 두 지역에서 빈 결과를 돌려줍니다. 우리 쪽 문제가 아니라 확인된 사실이라 적어 둡니다.', - }, -] export default function DataPage(): ReactNode { return ( @@ -126,7 +104,7 @@ export default function DataPage(): ReactNode {