- Fix INK theme: replace .ActiveCodeLives with correct field, remove from non-auth contexts (8 files)
- Fix hardcoded button text: use locale key mail.view_it_on in ember, heritage, ink, mono, terminal, terra (30+ files)
- Add missing {{if .CanReply}}mail.reply{{end}} block to all 10 themes default.tmpl
- Add missing mail.release.note locale label to all 10 themes release.tmpl
- Add missing mail.team_invite.text_3 to ink and terra team_invite.tmpl
- Add missing blockquote CSS to aurora, ink, mono, neon, terra default.tmpl
Verified: all 110 templates compile successfully with Go build-preview.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
122 lines
6.9 KiB
Cheetah
122 lines
6.9 KiB
Cheetah
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>{{.Subject}}</title>
|
|
<style type="text/css">
|
|
body, .ExternalClass, .ReadMsgBody { background-color: #e2e8f2; }
|
|
blockquote { padding-left: 1em; margin: 1em 0; border-left: 2px solid #dbeafe; color: #64748b; }
|
|
pre { background: #eff4fd; padding: 12px; border-radius: 8px; overflow-x: auto; font-size: 13px; line-height: 1.5; border: 1px solid rgba(0,0,0,0.06); }
|
|
hr { border: none; border-top: 1px solid rgba(0,0,0,0.06); margin: 20px 0; }
|
|
</style>
|
|
</head>
|
|
<body style="margin:0; padding:0; background:linear-gradient(160deg,#dce3ed,#e4eaf3,#eef1f7); font-family:system-ui,-apple-system,'Segoe UI',sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
|
|
|
|
<center style="width:100%; table-layout:fixed;">
|
|
<div style="max-width:600px; margin:24px auto; background:#ffffff; border-radius:16px; box-shadow:0 2px 4px rgba(0,0,0,0.06),0 8px 24px rgba(0,0,0,0.06),0 0 0 1px rgba(0,0,0,0.04); overflow:hidden;">
|
|
|
|
<div style="padding:28px 32px 18px; background:linear-gradient(135deg,#dbeafe,#e0e7ff,#e8f0fe); border-bottom:1px solid rgba(59,130,246,0.1); text-align:center;">
|
|
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" style="display:inline-block; margin:0 auto 8px; border:0; outline:none;">
|
|
<p style="margin:0; font-size:18px; font-weight:700; color:#1e293b; letter-spacing:-0.3px;">{{AppName}}</p>
|
|
</div>
|
|
|
|
<div style="padding:32px 32px 24px; color:#334155;">
|
|
{{if .IsMention}}<p style="margin:0 0 16px; font-size:15px; line-height:1.6; color:#475569;">{{.locale.Tr "mail.issue.x_mentioned_you" .Doer.Name}}</p>{{end}}
|
|
{{if eq .ActionName "push"}}
|
|
<p style="margin:0 0 16px; font-size:15px; line-height:1.6; color:#475569;">
|
|
{{if .Comment.IsForcePush}}
|
|
{{$oldCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.OldCommit}}
|
|
{{$oldShortSha := ShortSha .Comment.OldCommit}}
|
|
{{$oldCommitLink := HTMLFormat "<a href='%[1]s' style='color:#3b82f6; text-decoration:none; font-weight:500;'>%[2]s</a>" $oldCommitUrl $oldShortSha}}
|
|
|
|
{{$newCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.NewCommit}}
|
|
{{$newShortSha := ShortSha .Comment.NewCommit}}
|
|
{{$newCommitLink := HTMLFormat "<a href='%[1]s' style='color:#3b82f6; text-decoration:none; font-weight:500;'>%[2]s</a>" $newCommitUrl $newShortSha}}
|
|
|
|
{{.locale.Tr "mail.issue.action.force_push" .Doer.Name .Comment.Issue.PullRequest.HeadBranch $oldCommitLink $newCommitLink}}
|
|
{{else}}
|
|
{{.locale.TrN (len .Comment.Commits) "mail.issue.action.push_1" "mail.issue.action.push_n" .Doer.Name .Comment.Issue.PullRequest.HeadBranch (len .Comment.Commits)}}
|
|
{{end}}
|
|
</p>
|
|
{{end}}
|
|
<p style="margin:0 0 16px; font-size:15px; line-height:1.6; color:#475569;">
|
|
{{if eq .ActionName "close"}}
|
|
{{.locale.Tr "mail.issue.action.close" .Doer.Name .Issue.Index}}
|
|
{{else if eq .ActionName "reopen"}}
|
|
{{.locale.Tr "mail.issue.action.reopen" .Doer.Name .Issue.Index}}
|
|
{{else if eq .ActionName "merge"}}
|
|
{{.locale.Tr "mail.issue.action.merge" .Doer.Name .Issue.Index .Issue.PullRequest.BaseBranch}}
|
|
{{else if eq .ActionName "approve"}}
|
|
{{.locale.Tr "mail.issue.action.approve" .Doer.Name}}
|
|
{{else if eq .ActionName "reject"}}
|
|
{{.locale.Tr "mail.issue.action.reject" .Doer.Name}}
|
|
{{else if eq .ActionName "review"}}
|
|
{{.locale.Tr "mail.issue.action.review" .Doer.Name}}
|
|
{{else if eq .ActionName "review_dismissed"}}
|
|
{{.locale.Tr "mail.issue.action.review_dismissed" .Doer.Name .Comment.Review.Reviewer.Name}}
|
|
{{else if eq .ActionName "ready_for_review"}}
|
|
{{.locale.Tr "mail.issue.action.ready_for_review" .Doer.Name}}
|
|
{{end}}
|
|
|
|
{{- if eq .Body ""}}
|
|
{{if eq .ActionName "new"}}
|
|
{{.locale.Tr "mail.issue.action.new" .Doer.Name .Issue.Index}}
|
|
{{end}}
|
|
{{else}}
|
|
{{.Body}}
|
|
{{end -}}{{if .CanReply}} {{.locale.Tr "mail.reply"}}{{end}}
|
|
|
|
</p>
|
|
|
|
{{- range .ReviewComments}}
|
|
<hr>
|
|
<p style="margin:8px 0; font-size:13px; color:#64748b;">{{$.locale.Tr "mail.issue.in_tree_path" .TreePath}}</p>
|
|
<div style="padding-left: 1em; margin: 1em 0;">
|
|
<pre>{{.Patch}}</pre>
|
|
<div style="margin-top:8px; font-size:14px; line-height:1.6;">{{.RenderedContent}}</div>
|
|
</div>
|
|
{{end -}}
|
|
|
|
{{if eq .ActionName "push"}}
|
|
<ul style="margin:16px 0; padding-left:20px;">
|
|
{{range .Comment.Commits}}
|
|
<li style="margin-bottom:6px; font-size:14px;">
|
|
<a href="{{$.Comment.Issue.PullRequest.BaseRepo.HTMLURL}}/commit/{{.ID}}" style="color:#3b82f6; text-decoration:none; font-weight:500;">
|
|
{{ShortSha .ID.String}}
|
|
</a> — {{.MessageTitle}}
|
|
</li>
|
|
{{end}}
|
|
</ul>
|
|
{{end}}
|
|
|
|
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
|
|
<tr>
|
|
<td align="center" style="border-radius:40px; background-color:#3b82f6;" bgcolor="#3b82f6">
|
|
<a href="{{.Link}}" style="display:inline-block; padding:14px 40px; font-size:15px; font-weight:600; color:#ffffff; text-decoration:none; background-color:#3b82f6; border-radius:40px; border:1px solid #3b82f6; letter-spacing:0.2px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<div style="background:linear-gradient(135deg,#eff4fd,#f5f7fe); border:1px solid rgba(59,130,246,0.1); border-radius:12px; padding:16px 18px; margin:24px 0 16px; box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);">
|
|
<p style="margin:0 0 8px; font-size:13px; color:#64748b; line-height:1.5;">
|
|
{{.locale.Tr "mail.link_not_working_do_paste"}}
|
|
</p>
|
|
<p style="margin:0; font-size:13px; color:#3b82f6; background:#ffffff; padding:10px 12px; border-radius:8px; border:1px solid rgba(0,0,0,0.06); word-break:break-all; font-family:monospace;">
|
|
{{.Link}}
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div style="padding:18px 32px 22px; background:linear-gradient(135deg,#f8f9fc,#f4f6fb); border-top:1px solid rgba(0,0,0,0.06); text-align:center;">
|
|
<p style="margin:0; font-size:13px; color:#94a3b8;">
|
|
© <a href="{{AppUrl}}" style="color:#3b82f6; text-decoration:none; font-weight:500;">{{AppName}}</a>
|
|
</p>
|
|
<p style="margin:4px 0 0; font-size:11px; color:#b0bdd0;">Sent via Gitea Mail Templates</p>
|
|
</div>
|
|
|
|
</div>
|
|
</center>
|
|
|
|
</body>
|
|
</html> |