feat(ui): 파비콘을 xavis-logo.png로 통일
- partials/favicon.ejs로 icon·apple-touch-icon 링크 - 전 페이지 head에 include, /favicon.ico는 동일 PNG 제공 - 인라인 403 HTML에도 favicon 링크 Made-with: Cursor
This commit is contained in:
@@ -1106,6 +1106,10 @@ async function syncAutoChecklistFromMeetingMinutes(openai, { pgPool, email, meet
|
||||
}
|
||||
|
||||
app.use("/public", express.static(path.join(ROOT_DIR, "public")));
|
||||
app.get("/favicon.ico", (req, res) => {
|
||||
res.type("image/png");
|
||||
res.sendFile(path.join(ROOT_DIR, "public", "images", "xavis-logo.png"));
|
||||
});
|
||||
/** 채팅 마크다운 뷰어(marked + DOMPurify) — node_modules에서만 제공 */
|
||||
app.use("/vendor/marked", express.static(path.join(ROOT_DIR, "node_modules/marked/lib")));
|
||||
app.use("/vendor/dompurify", express.static(path.join(ROOT_DIR, "node_modules/dompurify/dist")));
|
||||
@@ -1166,7 +1170,7 @@ pageRouter.get("/ai-explore/task-checklist", (req, res) =>
|
||||
pageRouter.get("/ai-cases/write", (req, res) => {
|
||||
if (!res.locals.adminMode) {
|
||||
return res.status(403).send(
|
||||
"<!doctype html><html lang=\"ko\"><head><meta charset=\"utf-8\"/><title>권한 없음</title></head><body><p>관리자 모드가 필요합니다. 좌측 하단 <strong>관리자</strong>에서 토큰을 입력한 뒤 다시 시도하세요.</p><p><a href=\"/ai-cases\">AI 성공 사례 목록으로</a></p></body></html>"
|
||||
"<!doctype html><html lang=\"ko\"><head><meta charset=\"utf-8\"/><link rel=\"icon\" href=\"/public/images/xavis-logo.png\" type=\"image/png\"/><title>권한 없음</title></head><body><p>관리자 모드가 필요합니다. 좌측 하단 <strong>관리자</strong>에서 토큰을 입력한 뒤 다시 시도하세요.</p><p><a href=\"/ai-cases\">AI 성공 사례 목록으로</a></p></body></html>"
|
||||
);
|
||||
}
|
||||
const editSlug = (req.query.edit || "").trim();
|
||||
@@ -1206,7 +1210,7 @@ pageRouter.get("/ai-cases/:slug", async (req, res, next) => {
|
||||
try {
|
||||
if (!isAiSuccessStoryDetailAllowed(req, res)) {
|
||||
return res.status(403).send(
|
||||
"<!doctype html><html lang=\"ko\"><head><meta charset=\"utf-8\"/><title>상세 열람 불가</title><link rel=\"stylesheet\" href=\"/public/styles.css\" /></head><body><div class=\"app-shell\"><div class=\"content-area\" style=\"padding:24px;max-width:560px;\"><h1>상세 열람 불가</h1><p>로그인 후 이용 가능합니다.</p><p><a href=\"/ai-cases\">AI 성공 사례 목록으로</a></p></div></div></body></html>"
|
||||
"<!doctype html><html lang=\"ko\"><head><meta charset=\"utf-8\"/><link rel=\"icon\" href=\"/public/images/xavis-logo.png\" type=\"image/png\"/><title>상세 열람 불가</title><link rel=\"stylesheet\" href=\"/public/styles.css\" /></head><body><div class=\"app-shell\"><div class=\"content-area\" style=\"padding:24px;max-width:560px;\"><h1>상세 열람 불가</h1><p>로그인 후 이용 가능합니다.</p><p><a href=\"/ai-cases\">AI 성공 사례 목록으로</a></p></div></div></body></html>"
|
||||
);
|
||||
}
|
||||
const slug = (req.params.slug || "").trim();
|
||||
|
||||
Reference in New Issue
Block a user