| [00f669b] | 1 | <div class="nt-wrap">
|
|---|
| [9e5438e] | 2 | <%- include('../partials/fedi-tabs', { active: 'meldingen' }) %>
|
|---|
| [00f669b] | 3 | <h1 class="nt-title"><%= t('notif.title') %></h1>
|
|---|
| 4 | <% if (!items || !items.length) { %>
|
|---|
| 5 | <p class="nt-empty"><%= t('notif.empty') %></p>
|
|---|
| 6 | <% } else { %>
|
|---|
| 7 | <ul class="nt-list">
|
|---|
| 8 | <% items.forEach(function(n){ %>
|
|---|
| 9 | <li class="nt-item">
|
|---|
| 10 | <span class="nt-icon"><%= n.type === 'follow' ? '👤' : (n.type === 'like' ? '⭐' : (n.type === 'announce' ? '🔁' : '💬')) %></span>
|
|---|
| 11 | <div class="nt-body">
|
|---|
| 12 | <div class="nt-line">
|
|---|
| 13 | <a class="nt-who" href="<%= n.url %>" target="_blank" rel="nofollow noopener"><%= n.name || n.handle %></a>
|
|---|
| 14 | <% if (n.handle && n.name) { %><span class="nt-handle"><%= n.handle %></span><% } %>
|
|---|
| 15 | <span class="nt-what">
|
|---|
| 16 | <% if (n.type === 'follow') { %><%= t('notif.followed') %>
|
|---|
| 17 | <% } else if (n.type === 'like') { %><%= t('notif.liked') %>
|
|---|
| 18 | <% } else if (n.type === 'announce') { %><%= t('notif.boosted') %>
|
|---|
| 19 | <% } else { %><%= t('notif.replied') %><% } %>
|
|---|
| 20 | <% if (n.post_slug) { %><a href="/<%= n.post_slug %>"><%= n.post_title || n.post_slug %></a><% } %>
|
|---|
| 21 | </span>
|
|---|
| 22 | <% if (n.created_at) { %><span class="nt-time"><%= formatDateTime(n.created_at) %></span><% } %>
|
|---|
| 23 | </div>
|
|---|
| 24 | <% if (n.type === 'reply' && n.content) { %><div class="nt-content"><%- n.content %></div><% } %>
|
|---|
| 25 | </div>
|
|---|
| 26 | </li>
|
|---|
| 27 | <% }); %>
|
|---|
| 28 | </ul>
|
|---|
| 29 | <% } %>
|
|---|
| 30 | </div>
|
|---|
| 31 |
|
|---|
| 32 | <style>
|
|---|
| [c69267f] | 33 | .nt-wrap { max-width: 640px; margin: 2rem auto; padding: 0 1rem; }
|
|---|
| [54d2f98] | 34 | .fedi-back { margin: 0 0 1.25rem; }
|
|---|
| [00f669b] | 35 | .nt-title { margin: 0 0 1.25rem; }
|
|---|
| 36 | .nt-empty { color: var(--ink-soft, #888); }
|
|---|
| 37 | .nt-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .5rem; }
|
|---|
| 38 | .nt-item { display: flex; gap: .7rem; padding: .7rem .9rem; border-radius: 12px; background: color-mix(in srgb, var(--ink, #000) 4%, transparent); border: 1px solid color-mix(in srgb, var(--ink, #000) 8%, transparent); }
|
|---|
| 39 | .nt-icon { font-size: 1.1rem; flex: 0 0 1.4rem; text-align: center; }
|
|---|
| 40 | .nt-body { flex: 1; min-width: 0; }
|
|---|
| 41 | .nt-line { display: flex; align-items: baseline; gap: .35rem; flex-wrap: wrap; }
|
|---|
| 42 | .nt-who { font-weight: 600; color: var(--ink, inherit); text-decoration: none; }
|
|---|
| 43 | .nt-who:hover { text-decoration: underline; }
|
|---|
| 44 | .nt-handle { color: var(--ink-soft, #888); font-size: .82rem; }
|
|---|
| 45 | .nt-what { color: var(--ink-soft, #aaa); }
|
|---|
| 46 | .nt-what a { color: var(--accent, #06c); }
|
|---|
| 47 | .nt-time { color: var(--ink-soft, #999); font-size: .78rem; margin-left: auto; }
|
|---|
| 48 | .nt-content { margin: .3rem 0 0; line-height: 1.45; color: var(--ink, inherit); overflow-wrap: anywhere; }
|
|---|
| 49 | .nt-content p { margin: .2rem 0; } .nt-content p:first-child { margin-top: 0; }
|
|---|
| 50 | </style>
|
|---|