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