feat(ui): 상세/공유 모달과 단독 상세·로그인 페이지
- _project_detail.ejs: 모달/단독 공용 상세(헤더·반응·바로가기·댓글 스레드·입력) - dashboard: 상세 모달 오버레이 + 프로젝트별 template 저장소 + 새 프로젝트 등록 모달 - project.ejs(단독)·login.ejs 새 디자인으로 재작성 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,46 +1,11 @@
|
||||
<%- include("_header") %>
|
||||
<div class="container" style="max-width:760px">
|
||||
<a href="/" class="muted">← 대시보드</a>
|
||||
<div class="box" style="margin-top:12px">
|
||||
<div class="box-body">
|
||||
<h2 style="margin:0 0 4px"><%= project.title %></h2>
|
||||
<div class="proj-meta"><%= project.owner_name %> 님이 공유 · <%= new Date(project.created_at).toLocaleDateString("ko-KR") %></div>
|
||||
<% if (project.description) { %><p style="margin-top:12px; white-space:pre-wrap"><%= project.description %></p><% } %>
|
||||
<div style="margin-top:12px; display:flex; gap:8px; align-items:center; flex-wrap:wrap">
|
||||
<% if (project.repo_url) { %><a class="btn btn-sm" href="<%= project.repo_url %>" target="_blank">🍵 Repo</a><% } %>
|
||||
<% if (project.app_url) { %><a class="btn btn-sm" href="<%= project.app_url %>" target="_blank">🚀 앱 열기</a><% } %>
|
||||
<form method="post" action="/projects/<%= project.id %>/star" style="display:inline">
|
||||
<button class="btn btn-sm" type="submit"><%= starred ? "★ 스타 취소" : "☆ 스타" %> (<%= project.star_count %>)</button>
|
||||
</form>
|
||||
</div>
|
||||
<% if (project.tags) { %>
|
||||
<div style="margin-top:12px">
|
||||
<% project.tags.split(",").map(t=>t.trim()).filter(Boolean).forEach(function(t){ %>
|
||||
<span class="tag"><%= t %></span>
|
||||
<% }); %>
|
||||
</div>
|
||||
<% } %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3 style="margin:24px 0 12px">💬 코멘트 (<%= comments.length %>)</h3>
|
||||
<% comments.forEach(function(c){ %>
|
||||
<div class="comment">
|
||||
<div class="comment-head"><strong><%= c.author_name %></strong> · <%= new Date(c.created_at).toLocaleString("ko-KR") %></div>
|
||||
<div class="comment-body"><%= c.body %></div>
|
||||
</div>
|
||||
<% }); %>
|
||||
|
||||
<div class="box" style="margin-top:16px">
|
||||
<div class="box-body">
|
||||
<form method="post" action="/projects/<%= project.id %>/comments">
|
||||
<textarea name="body" placeholder="코멘트를 남겨보세요" required></textarea>
|
||||
<div style="margin-top:8px; text-align:right">
|
||||
<button class="btn btn-primary" type="submit">코멘트 등록</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<main class="main">
|
||||
<div class="detail-wrap">
|
||||
<div class="modal" style="margin:0 auto;animation:none">
|
||||
<%- include("_project_detail", { p: project, comments: comments, me: user.sabun, returnTo: "/projects/" + project.id, modal: false }) %>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<script src="/public/app.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user