diff --git a/src/features/tech-log/domain/content-format/project-public-render-model.ts b/src/features/tech-log/domain/content-format/project-public-render-model.ts index fd0b105..4f028f2 100644 --- a/src/features/tech-log/domain/content-format/project-public-render-model.ts +++ b/src/features/tech-log/domain/content-format/project-public-render-model.ts @@ -131,7 +131,18 @@ function renderContext( function publicPath(input: WorkingCopyInput, project: CatalogEntry | null) { if (input.kind === "PROJECT_DECISION") { - if (!project?.publicPath) fail("PROJECT public path is required"); + /* + Decision 의 공개 주소는 자기 slug 가 아니라 프로젝트 주소 아래에 있다. 그래서 프로젝트가 + 공개되어 있지 않으면 이 문서에는 아직 주소가 없다. + + 예전 문구는 "PROJECT public path is required" 였다. 사실이지만 작성자가 할 일을 말해 주지 + 않는다 — 무엇을 어디서 눌러야 하는지 적는다. + */ + if (!project?.publicPath) { + fail( + "이 Decision 의 공개 주소는 프로젝트 주소 아래에 있습니다. 주제·프로젝트 화면에서 이 프로젝트를 먼저 게시해 주세요.", + ); + } return `${project.publicPath}/decisions#${input.slug}`; } const prefix = @@ -186,7 +197,7 @@ export function projectWorkingCopy( const project = catalogEntry(catalog, input.projectId, "PROJECT", false); if (!topic) fail("TOPIC catalog entry is required"); if (input.kind === "PROJECT_DECISION" && !project) { - fail("PROJECT catalog entry is required"); + fail("Decision 은 프로젝트에 속합니다. 기본 정보에서 프로젝트를 골라 주세요."); } const base = {