source: Klonkt/src/views/pages/circle-feed.ejs@ 43dbf9c

main
Last change on this file since 43dbf9c was 43dbf9c, checked in by roboburr <roboburr@…>, 3 months ago

Circles: /cirkel uses the home view (timeline + grid + switcher)

  • post-card/post-tile external-aware: post.external_url -> external link (target=_blank, no htmx) instead of local /slug. Additive; normal posts unchanged. post-card shows 'via <source>' when external.
  • circle.js maps remote_posts to the local post shape + bodyClass on-cirkel.
  • circle-feed.ejs: feed-timeline (.post-list) + feed-grid (.grid-tiles), same classes as home -> the view-switcher works. shell: on-cirkel = feed-page.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@…>

  • Property mode set to 100644
File size: 1.5 KB
RevLine 
[43dbf9c]1<div class="container cirkel-head">
2 <h1>Cirkel</h1>
3 <p class="cirkel-sub">Wat er speelt bij de andere sites in deze cirkel.</p>
4</div>
[0091cb7]5
[43dbf9c]6<% if (!posts.length) { %>
7 <div class="container">
8 <p class="cirkel-empty">Nog niets in je cirkel. Voeg sites toe via
[0091cb7]9 <a href="/admin/circle">Beheer &rsaquo; Cirkel</a> en ververs ze.</p>
[43dbf9c]10 </div>
11<% } else { %>
12
13 <%# Dezelfde view als de hoofdpagina: timeline (post-card) + grid (post-tile),
14 gewisseld door de view-switcher via body[data-feed-view]. De remote-posts
15 zijn in circle.js naar het lokale post-shape gevormd (met external_url,
16 zodat de kaarten naar de bron-site linken). %>
17
18 <!-- ===== TIMELINE (standaard) ===== -->
19 <div class="container feed-timeline">
20 <ul class="post-list feed-timeline-list">
21 <% posts.forEach(function(post){ %>
22 <%- include('../partials/post-card', { post: post }) %>
23 <% }); %>
24 </ul>
25 </div>
26
27 <!-- ===== GRID (body[data-feed-view="grid"]) ===== -->
28 <section class="feed-grid container" aria-label="Grid-weergave">
29 <div class="grid-tiles">
30 <% posts.forEach(function(post){ %>
31 <%- include('../partials/post-tile', { post: post }) %>
[0091cb7]32 <% }); %>
33 </div>
[43dbf9c]34 </section>
35
36<% } %>
[0091cb7]37
38<style>
[43dbf9c]39.cirkel-head { margin-top: 2rem; }
40.cirkel-head h1 { font-family: var(--font-display, serif); font-size: 2rem; margin: 0 0 .25rem; }
41.cirkel-sub { color: var(--ink-muted); margin: 0 0 1.5rem; }
42.cirkel-empty { color: var(--ink-muted); }
43.cirkel-empty a { color: var(--accent); }
[0091cb7]44</style>
Note: See TracBrowser for help on using the repository browser.