Index: src/views/partials/post-card.ejs
===================================================================
--- src/views/partials/post-card.ejs	(revision b7d4458e21f8eef0c969874d5d571662936d8702)
+++ src/views/partials/post-card.ejs	(revision 73cffc30d25c5479bab9b91cc9ff40f0c028eb73)
@@ -43,5 +43,5 @@
 }
 %>
-<li class="post-list-item<%= _hasCover ? ' has-cover' : '' %><%= (_isPinned || _isBoost) ? ' is-pinned' : '' %>">
+<li class="post-list-item<%= (_hasCover || post.nsfw) ? ' has-cover' : '' %><%= (_isPinned || _isBoost) ? ' is-pinned' : '' %>">
 
   <% if (_hasCover) { %>
@@ -51,4 +51,10 @@
       <img src="<%= post.cover_image_url %>" alt="" loading="lazy" decoding="async">
       <% if (post.nsfw) { %><span class="nsfw-veil"><span class="nsfw-veil-label">🔞 <%= post.content_warning || t('post.nsfw_warning') %></span><span class="nsfw-veil-btn"><%= t('post.nsfw_show') %></span></span><% } %>
+    </a>
+  <% } else if (post.nsfw) { %>
+    <a class="post-list-cover nsfw-media" href="<%= _href %>"
+       <% if (_ext) { %>target="_blank" rel="noopener"<% } else { %>hx-get="<%= _href %>?partial=1" hx-target="#pcms-main" hx-swap="innerHTML" hx-push-url="<%= _href %>" hx-indicator="#pcms-loading"<% } %>
+       aria-label="<%= post.title || '(zonder titel)' %>" tabindex="-1">
+      <span class="nsfw-veil"><span class="nsfw-veil-label">🔞 <%= post.content_warning || t('post.nsfw_warning') %></span><span class="nsfw-veil-btn"><%= t('post.nsfw_show') %></span></span>
     </a>
   <% } %>
