- BuildPageData 注入 IsBanned 字段,封禁用户所有页面显示红色横幅 - Space 页面对封禁用户覆写 Bio 为'该账号已被封禁',原文保留 - 新增 banned-banner 样式(浅红底深红字)
94 lines
3.7 KiB
HTML
94 lines
3.7 KiB
HTML
{{template "layout/header.html" .}}
|
|
<body>
|
|
|
|
{{template "layout/nav.html" .}}
|
|
|
|
{{if .Error}}
|
|
<div class="space-error">
|
|
<div class="container">
|
|
<h1>{{.Error}}</h1>
|
|
<a href="/" class="btn btn-primary">返回首页</a>
|
|
</div>
|
|
</div>
|
|
{{else}}
|
|
<div class="space-page">
|
|
<!-- 用户信息头部 -->
|
|
<div class="space-header">
|
|
<div class="container space-header-inner">
|
|
<div class="space-avatar">
|
|
{{if .SpaceUser.Avatar}}
|
|
<img src="{{.SpaceUser.Avatar}}" alt="{{.SpaceUser.Username}}">
|
|
{{else}}
|
|
<div class="space-avatar-placeholder">{{slice .SpaceUser.Username 0 1}}</div>
|
|
{{end}}
|
|
</div>
|
|
<div class="space-info">
|
|
<h1 class="space-username">{{.SpaceUser.Username}}</h1>
|
|
<p class="space-bio">{{if eq .SpaceUser.Status "banned"}}<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="vertical-align:-3px;margin-right:4px"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></svg>该账号已被封禁{{else if .SpaceUser.Bio}}{{.SpaceUser.Bio}}{{else}} {{end}}</p>
|
|
<div class="space-meta">
|
|
<span class="space-uid">UID: {{.SpaceUser.ID}}</span>
|
|
<span class="space-divider">·</span>
|
|
<span class="space-joined">加入于 {{.SpaceUser.CreatedAt.Format "2006-01-02"}}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 内容区域 -->
|
|
<div class="container space-content">
|
|
<!-- 统计栏 -->
|
|
<div class="space-stats">
|
|
<div class="space-stat-item">
|
|
<span class="space-stat-num">{{.Total}}</span>
|
|
<span class="space-stat-label">稿件</span>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 稿件列表 -->
|
|
<div class="space-section">
|
|
<h2 class="space-section-title">稿件</h2>
|
|
|
|
{{if eq (len .Posts) 0}}
|
|
<div class="empty-state">暂无稿件</div>
|
|
{{else}}
|
|
<div class="space-posts-list">
|
|
{{range .Posts}}
|
|
<article class="space-post-card">
|
|
<div class="space-post-main">
|
|
<h3 class="space-post-title">
|
|
<a href="/posts/{{.ID}}">{{.Title}}</a>
|
|
</h3>
|
|
<p class="space-post-excerpt">{{if .Excerpt}}{{.Excerpt}}{{else}}{{printf "%.200s" .Body}}{{end}}</p>
|
|
<div class="space-post-meta">
|
|
<span class="space-post-status">已发布</span>
|
|
<span class="space-post-time">{{.CreatedAt.Format "2006-01-02"}}</span>
|
|
</div>
|
|
</div>
|
|
</article>
|
|
{{end}}
|
|
</div>
|
|
{{end}}
|
|
|
|
<!-- 分页 -->
|
|
{{if gt .TotalPages 1}}
|
|
<div class="pagination">
|
|
{{if gt .Page 1}}
|
|
<a href="?page={{.PrevPage}}" class="page-link">上一页</a>
|
|
{{end}}
|
|
<span class="page-info">第 {{.Page}} / {{.TotalPages}} 页 (共 {{.Total}} 条)</span>
|
|
{{if lt .Page .TotalPages}}
|
|
<a href="?page={{.NextPage}}" class="page-link">下一页</a>
|
|
{{end}}
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
|
|
{{template "layout/footer.html" .}}
|
|
|
|
<script src="/static/js/common.js?v={{assetV "/static/js/common.js"}}"></script>
|
|
</body>
|
|
</html>
|