Changeset 9f81a09 in Klonkt


Ignore:
Timestamp:
06/16/2026 01:56:56 AM (3 months ago)
Author:
roboburr <roboburr@…>
Branches:
main
Children:
d2c43f9
Parents:
43dbf9c
Message:

Circles: Solo/Circle scope toggle in the switcher bar (left) + Circle nav link removed

  • view-switcher: Solo/Circle segmented toggle on the left (circle mode only), full navigation (body-class/grid-CSS guaranteed correct).
  • style.css: feed-scope buttons + on-cirkel added to grid-toggle rules (grid/timeline now also switches on /cirkel).
  • topnav + bottom-tab: the standalone Circle nav link removed (replaced by the toggle).

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

Location:
src
Files:
4 edited

Legend:

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

    r43dbf9c r9f81a09  
    20752075body.on-home[data-feed-view="grid"]    .article-footer,
    20762076body.on-archive[data-feed-view="grid"] .feed-timeline,
    2077 body.on-archive[data-feed-view="grid"] .pagination {
     2077body.on-archive[data-feed-view="grid"] .pagination,
     2078body.on-cirkel[data-feed-view="grid"]  .feed-timeline {
    20782079    display: none !important;
    20792080}
     
    20812082.feed-grid { display: none; }
    20822083body.on-home[data-feed-view="grid"]    .feed-grid,
    2083 body.on-archive[data-feed-view="grid"] .feed-grid { display: block; }
     2084body.on-archive[data-feed-view="grid"] .feed-grid,
     2085body.on-cirkel[data-feed-view="grid"]  .feed-grid { display: block; }
    20842086
    20852087/* -------- GRID VIEW TILES (Instagram-stijl) -------- */
     
    23632365    flex-wrap: wrap;
    23642366}
     2367
     2368/* Solo / Cirkel scope-toggle (alleen in circle-modus) — links in de bar */
     2369.feed-scope { display: inline-flex; gap: .35rem; }
     2370.view-switcher-wrap .feed-scope { margin-right: auto; }
     2371.feed-scope-btn {
     2372    display: inline-flex; align-items: center;
     2373    padding: .35rem .85rem; min-height: 32px;
     2374    background: transparent; border: 1px solid var(--rule); border-radius: 999px;
     2375    color: var(--ink-muted); font-family: var(--font-ui); font-size: .82rem;
     2376    text-decoration: none; cursor: pointer; transition: all .15s;
     2377}
     2378.feed-scope-btn:hover { color: var(--ink); border-color: var(--ink-muted); }
     2379.feed-scope-btn.is-active { background: var(--ink); color: var(--paper); border-color: var(--ink); }
    23652380
    23662381.grid-cols-picker {
  • src/views/partials/bottom-tab.ejs

    r43dbf9c r9f81a09  
    5656    <span class="bottom-tab-label">Zoek</span>
    5757  </button>
    58 
    59   <!-- Cirkel (alleen in circle-modus) -->
    60   <% if (typeof tenancy !== 'undefined' && tenancy === 'circle') { %>
    61     <a class="bottom-tab-item<%= _active === 'cirkel' ? ' is-active' : '' %>"
    62        href="<%= _siteUrlBase %>/cirkel"
    63        hx-get="<%= _siteUrlBase %>/cirkel?partial=1" hx-target="#pcms-main" hx-swap="innerHTML"
    64        hx-push-url="<%= _siteUrlBase %>/cirkel" hx-indicator="#pcms-loading">
    65       <svg class="bottom-tab-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="8" cy="9" r="3.2"/><circle cx="16.5" cy="15" r="3.2"/><path d="M10.6 10.9l3.3 2.4"/></svg>
    66       <span class="bottom-tab-label">Cirkel</span>
    67     </a>
    68   <% } %>
    6958
    7059  <!-- Plus (FAB-style, only when user can post) -->
  • src/views/partials/topnav.ejs

    r43dbf9c r9f81a09  
    6464          <svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 8v13H3V8"/><rect x="1" y="3" width="22" height="5" rx="1"/><line x1="10" y1="12" x2="14" y2="12"/></svg>
    6565          <span class="nav-label">Archief</span>
    66         </a>
    67       <% } %>
    68 
    69       <% if (typeof tenancy !== 'undefined' && tenancy === 'circle') { %>
    70         <a class="nav-link" href="<%= _siteUrlBase %>/cirkel"
    71            hx-get="<%= _siteUrlBase %>/cirkel?partial=1" hx-target="#pcms-main"
    72            hx-swap="innerHTML" hx-push-url="<%= _siteUrlBase %>/cirkel"
    73            hx-indicator="#pcms-loading">
    74           <svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="8" cy="9" r="3.2"/><circle cx="16.5" cy="15" r="3.2"/><path d="M10.6 10.9l3.3 2.4"/></svg>
    75           <span class="nav-label">Cirkel</span>
    7666        </a>
    7767      <% } %>
  • src/views/partials/view-switcher.ejs

    r43dbf9c r9f81a09  
    55<div class="view-switcher-wrap">
    66  <div class="container">
     7    <% if (typeof tenancy !== 'undefined' && tenancy === 'circle') {
     8         var _onCirkel = (typeof bodyClass === 'string' && bodyClass.indexOf('on-cirkel') >= 0);
     9         var _sb = (typeof siteUrlBase !== 'undefined' && siteUrlBase) ? siteUrlBase : '';
     10    %>
     11    <div class="feed-scope" role="tablist" aria-label="Solo of cirkel">
     12      <a class="feed-scope-btn<%= _onCirkel ? '' : ' is-active' %>" href="<%= _sb %>/"
     13         role="tab" aria-selected="<%= _onCirkel ? 'false' : 'true' %>">Solo</a>
     14      <a class="feed-scope-btn<%= _onCirkel ? ' is-active' : '' %>" href="<%= _sb %>/cirkel"
     15         role="tab" aria-selected="<%= _onCirkel ? 'true' : 'false' %>">Cirkel</a>
     16    </div>
     17    <% } %>
    718    <div class="view-switcher" role="tablist" aria-label="Weergave">
    819      <button type="button" class="view-switch-btn" data-view="timeline" role="tab"
Note: See TracChangeset for help on using the changeset viewer.