|
1
|
<!DOCTYPE html> |
|
2
|
<html> |
|
3
|
<head> |
|
4
|
<meta charset="utf-8"> |
|
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
6
|
<style> |
|
7
|
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: #0a0a0a; color: #e5e5e5; padding: 20px; margin: 0; } |
|
8
|
.container { max-width: 600px; margin: 0 auto; } |
|
9
|
.header { padding: 20px 0; border-bottom: 1px solid #1f1f1f; } |
|
10
|
.logo { font-size: 20px; font-weight: 700; color: #ffffff; } |
|
11
|
.logo span { color: #DC394C; } |
|
12
|
.content { padding: 20px 0; } |
|
13
|
h2 { color: #ffffff; font-size: 18px; margin: 0 0 16px 0; } |
|
14
|
.event-badge { display: inline-block; padding: 2px 8px; border-radius: 4px; font-size: 12px; font-weight: 600; } |
|
15
|
.event-checkin { background: #1e3a5f; color: #93c5fd; } |
|
16
|
.event-ticket { background: #3f1f1f; color: #fca5a5; } |
|
17
|
.event-wiki { background: #1f3f1f; color: #86efac; } |
|
18
|
.event-release { background: #3f3f1f; color: #fde68a; } |
|
19
|
.event-forum { background: #2d1f3f; color: #c4b5fd; } |
|
20
|
.event-row { padding: 8px 0; border-bottom: 1px solid #1f1f1f; } |
|
21
|
.project-name { color: #DC394C; font-weight: 600; } |
|
22
|
.more-notice { padding: 12px 0; color: #9ca3af; font-style: italic; } |
|
23
|
.button { display: inline-block; padding: 10px 20px; background: #DC394C; color: #ffffff; text-decoration: none; border-radius: 6px; font-weight: 600; margin-top: 16px; } |
|
24
|
.footer { padding: 20px 0; border-top: 1px solid #1f1f1f; font-size: 12px; color: #6b7280; } |
|
25
|
.unsubscribe { color: #9ca3af; text-decoration: underline; } |
|
26
|
</style> |
|
27
|
</head> |
|
28
|
<body style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: #0a0a0a; color: #e5e5e5; padding: 20px; margin: 0;"> |
|
29
|
<div class="container" style="max-width: 600px; margin: 0 auto;"> |
|
30
|
<div class="header" style="padding: 20px 0; border-bottom: 1px solid #1f1f1f;"> |
|
31
|
<div class="logo" style="font-size: 20px; font-weight: 700; color: #ffffff;">fossil<span style="color: #DC394C;">repo</span></div> |
|
32
|
</div> |
|
33
|
<div class="content" style="padding: 20px 0;"> |
|
34
|
<h2 style="color: #ffffff; font-size: 18px; margin: 0 0 16px 0;">{{ digest_type|title }} Digest — {{ count }} update{{ count|pluralize }}</h2> |
|
35
|
{% for notification in notifications %} |
|
36
|
<div class="event-row" style="padding: 8px 0; border-bottom: 1px solid #1f1f1f;"> |
|
37
|
<span class="event-badge event-{{ notification.event_type }}" style="display: inline-block; padding: 2px 8px; border-radius: 4px; font-size: 12px; font-weight: 600;{% if notification.event_type == 'checkin' %} background: #1e3a5f; color: #93c5fd;{% elif notification.event_type == 'ticket' %} background: #3f1f1f; color: #fca5a5;{% elif notification.event_type == 'wiki' %} background: #1f3f1f; color: #86efac;{% elif notification.event_type == 'release' %} background: #3f3f1f; color: #fde68a;{% elif notification.event_type == 'forum' %} background: #2d1f3f; color: #c4b5fd;{% else %} background: #2a2a2a; color: #d4d4d4;{% endif %}">{{ notification.event_type }}</span> |
|
38
|
<strong class="project-name" style="color: #DC394C; font-weight: 600;">{{ notification.project.name }}</strong>: {{ notification.title }} |
|
39
|
</div> |
|
40
|
{% endfor %} |
|
41
|
{% if overflow_count %} |
|
42
|
<div class="more-notice" style="padding: 12px 0; color: #9ca3af; font-style: italic;">... and {{ overflow_count }} more.</div> |
|
43
|
{% endif %} |
|
44
|
<a href="{{ dashboard_url }}" class="button" style="display: inline-block; padding: 10px 20px; background: #DC394C; color: #ffffff; text-decoration: none; border-radius: 6px; font-weight: 600; margin-top: 16px;">View All Notifications</a> |
|
45
|
</div> |
|
46
|
<div class="footer" style="padding: 20px 0; border-top: 1px solid #1f1f1f; font-size: 12px; color: #6b7280;"> |
|
47
|
<p>This is your {{ digest_type }} digest from fossilrepo.</p> |
|
48
|
<p><a href="{{ preferences_url }}" class="unsubscribe" style="color: #9ca3af; text-decoration: underline;">Manage notification preferences</a></p> |
|
49
|
</div> |
|
50
|
</div> |
|
51
|
</body> |
|
52
|
</html> |
|
53
|
|