Changeset 47a0d29 in Klonkt


Ignore:
Timestamp:
06/24/2026 11:49:19 AM (3 months ago)
Author:
Robin Genis <roboburr@…>
Branches:
main
Children:
55bc7f9
Parents:
c16e0a5
Message:

style(activitypub): polish fediverse section into clean comment cards

Dedicated markup/classes (no list numbers), circular avatar, name + muted handle
+ time, subtle rounded card per reply, pill-style stat counters. Adapts to
light/dark via color-mix on theme tokens.

Co-Authored-By: Claude <noreply@…>

Location:
src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • src/assets/css/style.css

    rc16e0a5 r47a0d29  
    44024402
    44034403/* === Fediverse interactions (inbound AP replies/likes/boosts) === */
    4404 .post-fediverse { margin: 2rem 0; }
    4405 .post-fediverse .fedi-heading { font-size: 1.15rem; margin: 0 0 .5rem; }
    4406 .post-fediverse .fedi-stats { display: flex; gap: 1.1rem; color: var(--ink-soft, #777); font-size: .95rem; margin: 0 0 1rem; }
    4407 .post-fediverse .fedi-replies { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 1rem; }
    4408 .post-fediverse .fedi-reply { display: flex; gap: .75rem; }
     4404.post-fediverse { margin: 2.5rem 0; }
     4405.post-fediverse .fedi-heading { font-size: 1.2rem; margin: 0 0 .85rem; }
     4406.post-fediverse .fedi-stats { display: flex; gap: .55rem; margin: 0 0 1.25rem; }
     4407.post-fediverse .fedi-stats span {
     4408  display: inline-flex; align-items: center; gap: .35rem;
     4409  padding: .25rem .7rem; border-radius: 999px; font-size: .85rem;
     4410  color: var(--ink-soft, #888);
     4411  background: color-mix(in srgb, currentColor 10%, transparent);
     4412}
     4413.post-fediverse .fedi-replies { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .75rem; }
     4414.post-fediverse .fedi-reply {
     4415  display: flex; gap: .8rem; padding: .9rem 1rem; border-radius: 16px;
     4416  background: color-mix(in srgb, var(--ink, #000) 4%, transparent);
     4417  border: 1px solid color-mix(in srgb, var(--ink, #000) 9%, transparent);
     4418}
     4419.post-fediverse .fedi-avatar {
     4420  flex: 0 0 42px; width: 42px; height: 42px; border-radius: 50%; overflow: hidden;
     4421  display: flex; align-items: center; justify-content: center;
     4422  background: color-mix(in srgb, var(--accent, #888) 22%, transparent);
     4423}
     4424.post-fediverse .fedi-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
     4425.post-fediverse .fedi-avatar-fallback { font-weight: 700; font-size: 1.05rem; color: var(--accent, #555); }
     4426.post-fediverse .fedi-main { flex: 1; min-width: 0; }
     4427.post-fediverse .fedi-line { display: flex; align-items: baseline; gap: .45rem; flex-wrap: wrap; }
     4428.post-fediverse .fedi-name { font-weight: 600; color: var(--ink, inherit); text-decoration: none; }
     4429.post-fediverse .fedi-name:hover { text-decoration: underline; }
    44094430.post-fediverse .fedi-handle { color: var(--ink-soft, #888); font-size: .85rem; }
    4410 .post-fediverse .comment-content { margin-top: .15rem; }
     4431.post-fediverse .fedi-time { color: var(--ink-soft, #999); font-size: .8rem; margin-left: auto; }
     4432.post-fediverse .fedi-text { margin: .3rem 0 0; line-height: 1.5; overflow-wrap: anywhere; }
     4433.post-fediverse .fedi-text p { margin: .25rem 0; }
     4434.post-fediverse .fedi-text p:first-child { margin-top: 0; }
     4435.post-fediverse .fedi-text a { color: var(--accent, #06c); }
  • src/views/pages/post.ejs

    rc16e0a5 r47a0d29  
    8282      </p>
    8383      <% if (fediverse.replies.length) { %>
    84         <ol class="fedi-replies">
     84        <ul class="fedi-replies">
    8585          <% fediverse.replies.forEach(function(r) { %>
    8686            <li class="fedi-reply">
    87               <div class="comment-avatar">
     87              <div class="fedi-avatar">
    8888                <% if (r.actor_icon) { %><img src="<%= r.actor_icon %>" alt="" loading="lazy">
    89                 <% } else { %><span class="comment-avatar-fallback"><%= (r.actor_name || '?').charAt(0).toUpperCase() %></span><% } %>
     89                <% } else { %><span class="fedi-avatar-fallback"><%= (r.actor_name || '?').charAt(0).toUpperCase() %></span><% } %>
    9090              </div>
    91               <div class="comment-body">
    92                 <div class="comment-meta">
    93                   <a class="comment-author" href="<%= r.actor_url %>" rel="nofollow noopener" target="_blank"><%= r.actor_name %></a>
     91              <div class="fedi-main">
     92                <div class="fedi-line">
     93                  <a class="fedi-name" href="<%= r.actor_url %>" rel="nofollow noopener" target="_blank"><%= r.actor_name %></a>
    9494                  <span class="fedi-handle"><%= r.actor_handle %></span>
    95                   <% if (r.published || r.created_at) { %><span class="comment-time"><%= formatDateTime(r.published || r.created_at) %></span><% } %>
     95                  <% if (r.published || r.created_at) { %><time class="fedi-time"><%= formatDateTime(r.published || r.created_at) %></time><% } %>
    9696                </div>
    97                 <div class="comment-content"><%- r.content %></div>
     97                <div class="fedi-text"><%- r.content %></div>
    9898              </div>
    9999            </li>
    100100          <% }); %>
    101         </ol>
     101        </ul>
    102102      <% } %>
    103103    </section>
  • src/views/shell.ejs

    rc16e0a5 r47a0d29  
    175175
    176176<!-- v9 stylesheet (full palette system) -->
    177 <link rel="stylesheet" href="/assets/css/style.css?v=35">
     177<link rel="stylesheet" href="/assets/css/style.css?v=36">
    178178
    179179<!-- Audio player styles: loaded on every page so the mini-player works
Note: See TracChangeset for help on using the changeset viewer.