fix: add back link to public folders
This commit is contained in:
@@ -379,7 +379,7 @@ func (h *NodeHandler) PublicMeta(w http.ResponseWriter, r *http.Request) {
|
||||
writeInternalError(w, r, err, "failed to list folder")
|
||||
return
|
||||
}
|
||||
h.renderPublicFolder(w, r, node, children)
|
||||
h.renderPublicFolder(w, r, node, children, false)
|
||||
return
|
||||
}
|
||||
h.renderPublicUnavailable(w, node)
|
||||
@@ -415,7 +415,7 @@ func (h *NodeHandler) PublicChildMeta(w http.ResponseWriter, r *http.Request) {
|
||||
writeInternalError(w, r, err, "failed to list folder")
|
||||
return
|
||||
}
|
||||
h.renderPublicFolder(w, r, node, children)
|
||||
h.renderPublicFolder(w, r, node, children, true)
|
||||
return
|
||||
}
|
||||
h.renderPublicUnavailable(w, node)
|
||||
@@ -563,8 +563,12 @@ func (h *NodeHandler) renderPublicPreview(w http.ResponseWriter, node *model.Nod
|
||||
</html>`)
|
||||
}
|
||||
|
||||
func (h *NodeHandler) renderPublicFolder(w http.ResponseWriter, r *http.Request, node *model.Node, children []model.Node) {
|
||||
func (h *NodeHandler) renderPublicFolder(w http.ResponseWriter, r *http.Request, node *model.Node, children []model.Node, showBack bool) {
|
||||
token := chi.URLParam(r, "token")
|
||||
backLink := ""
|
||||
if showBack && node.ParentID != nil && *node.ParentID != "" {
|
||||
backLink = `<a class="back-link" href="` + html.EscapeString(h.publicNodeURL(token, *node.ParentID)) + `">← Назад к папке выше</a>`
|
||||
}
|
||||
items := `<div class="empty">В папке пока нет файлов.</div>`
|
||||
if len(children) > 0 {
|
||||
var b strings.Builder
|
||||
@@ -608,6 +612,9 @@ func (h *NodeHandler) renderPublicFolder(w http.ResponseWriter, r *http.Request,
|
||||
h1 { margin: 0; font-size: 22px; line-height: 1.35; font-weight: 800; }
|
||||
.meta { margin-top: 6px; color: #9aa7bd; font-size: 14px; }
|
||||
main { padding: 24px; }
|
||||
.nav { max-width: 980px; margin: 0 auto 14px; }
|
||||
.back-link { display: inline-flex; align-items: center; min-height: 38px; padding: 0 14px; border: 1px solid #263044; border-radius: 8px; background: #151a2a; color: #c7d2fe; text-decoration: none; font-weight: 700; }
|
||||
.back-link:hover { border-color: #6366f1; background: #191f34; }
|
||||
.list { display: grid; gap: 10px; max-width: 980px; margin: 0 auto; }
|
||||
.item { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 14px; align-items: center; min-height: 58px; padding: 12px 14px; border: 1px solid #263044; border-radius: 10px; background: #151a2a; color: inherit; text-decoration: none; }
|
||||
.item:hover { border-color: #6366f1; background: #191f34; }
|
||||
@@ -624,7 +631,7 @@ func (h *NodeHandler) renderPublicFolder(w http.ResponseWriter, r *http.Request,
|
||||
<h1>`+html.EscapeString(node.Title)+`</h1>
|
||||
<div class="meta">Публичный просмотр папки</div>
|
||||
</header>
|
||||
<main>`+items+`</main>
|
||||
<main><div class="nav">`+backLink+`</div>`+items+`</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>`)
|
||||
|
||||
Reference in New Issue
Block a user