Changeset bbf9d1a in Klonkt for src/views/pages/admin-circle.ejs
- Timestamp:
- 06/21/2026 02:32:39 PM (3 months ago)
- Branches:
- main
- Children:
- 4885eab
- Parents:
- 929d98d
- File:
-
- 1 edited
-
src/views/pages/admin-circle.ejs (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/views/pages/admin-circle.ejs
r929d98d rbbf9d1a 1 1 <div class="container admin-page"> 2 <h1> Cirkel</h1>3 <p><a href="/admin/settings" class="btn">← Instellingen</a></p>2 <h1><%= t('acir.title') %></h1> 3 <p><a href="/admin/settings" class="btn">← <%= t('acir.back_settings') %></a></p> 4 4 5 5 <% if (success) { %><div class="alert alert-success"><%= success %></div><% } %> … … 8 8 <% if (tenancy !== 'circle') { %> 9 9 <section class="set-card"> 10 <p class="set-help"> De modus staat niet op <strong>Cirkels</strong>. Zet 'm aan bij11 <a href="/admin/settings"> Instellingen</a> om je cirkel-feed te tonen op<code>/cirkel</code>.12 Je kunt hieronder al wel bronnen klaarzetten.</p>10 <p class="set-help"><%= t('acir.mode_off_1') %> <strong><%= t('acir.circles') %></strong>. <%= t('acir.mode_off_2') %> 11 <a href="/admin/settings"><%= t('acir.settings') %></a> <%= t('acir.mode_off_3') %> <code>/cirkel</code>. 12 <%= t('acir.mode_off_4') %></p> 13 13 </section> 14 14 <% } %> 15 15 16 16 <section class="set-card" style="margin-top:1rem"> 17 <h2>Mijn zichtbaarheid</h2> 18 <p class="set-help">Doe je mee aan cirkels? Dit maakt je <strong>al-publieke</strong> posts 19 ophaalbaar voor andere Klonkt-sites via een ondertekende feed 20 (<code>/.klonkt/outbox.json</code>). Het is een deelname-keuze, geen privacy-slot: 21 je posts blijven sowieso openbaar op je site, ook als dit uit staat. Wil je iets 22 afschermen, maak die post dan niet-publiek.</p> 17 <h2><%= t('acir.visibility_title') %></h2> 18 <p class="set-help"><%= t('acir.visibility_help_1') %> <strong><%= t('acir.all_public') %></strong> <%= t('acir.visibility_help_2') %> 19 (<code>/.klonkt/outbox.json</code>). <%= t('acir.visibility_help_3') %></p> 23 20 <form method="post" action="/admin/circle/allow" class="set-form"> 24 21 <label class="set-opt" style="align-items:center"> 25 22 <input type="checkbox" name="allow_circle" value="on" <%= allowCircle ? 'checked' : '' %>> 26 <span><strong> Toon mijn site in cirkels van anderen</strong></span>23 <span><strong><%= t('acir.show_in_circles') %></strong></span> 27 24 </label> 28 <button type="submit" class="btn btn-primary"> Opslaan</button>25 <button type="submit" class="btn btn-primary"><%= t('acir.save') %></button> 29 26 </form> 30 27 </section> 31 28 32 29 <section class="set-card" style="margin-top:1rem"> 33 <h2>Klonkt-site toevoegen</h2> 34 <p class="set-help">Plak de basis-URL van een andere Klonkt-site. Asymmetrisch: jij toont 35 hen, los van of zij jou tonen.</p> 30 <h2><%= t('acir.add_title') %></h2> 31 <p class="set-help"><%= t('acir.add_help') %></p> 36 32 <form method="post" action="/admin/circle/add" class="set-form"> 37 33 <label class="set-field"> 38 <span> URL</span>34 <span><%= t('acir.url') %></span> 39 35 <input type="url" name="remote_url" placeholder="https://artiest.klonkt.com" required> 40 36 </label> 41 37 <label class="set-field"> 42 <span> Label <small style="font-weight:400">— optioneel</small></span>43 <input type="text" name="label" maxlength="80" placeholder=" bijv. Joost Klein">38 <span><%= t('acir.label') %> <small style="font-weight:400">— <%= t('acir.optional') %></small></span> 39 <input type="text" name="label" maxlength="80" placeholder="<%= t('acir.label_ph') %>"> 44 40 </label> 45 <button type="submit" class="btn btn-primary"> Toevoegen</button>41 <button type="submit" class="btn btn-primary"><%= t('acir.add') %></button> 46 42 </form> 47 43 </section> 48 44 49 45 <section class="set-card" style="margin-top:1rem"> 50 <h2> In mijn cirkel (<%= links.length %>)</h2>46 <h2><%= t('acir.in_circle', { n: links.length }) %></h2> 51 47 <% if (!links.length) { %> 52 <p class="set-help"> Nog geen bronnen. Voeg er hierboven een toe.</p>48 <p class="set-help"><%= t('acir.no_sources') %></p> 53 49 <% } else { %> 54 50 <form method="post" action="/admin/circle/sync-all" style="margin:0 0 .9rem"> 55 <button type="submit" class="btn">↻ Alles nu synchroniseren</button>51 <button type="submit" class="btn">↻ <%= t('acir.sync_all') %></button> 56 52 </form> 53 <% 54 var _cActive = t('acir.st_active'); 55 var _cPosts = t('acir.posts'); 56 var _cLast = t('acir.last'); 57 var _cMismatch = t('acir.st_mismatch'); 58 var _cMismatchReason = t('acir.mismatch_reason'); 59 var _cError = t('acir.st_error'); 60 var _cPaused = t('acir.st_paused'); 61 var _cRefresh = t('acir.refresh'); 62 var _cRemove = t('acir.remove'); 63 var _cRemoveConfirm = t('acir.remove_confirm'); 64 %> 57 65 <ul class="circ-list"> 58 66 <% links.forEach(function(l){ %> … … 63 71 <div class="circ-status"> 64 72 <% if (l.status === 'active') { %> 65 <span class="circ-badge ok">✓ actief</span>66 <span class="circ-meta"><%= counts[l.id] || 0 %> posts<% if (l.last_synced) { %> · laatst: <%= l.last_synced %><% } %></span>73 <span class="circ-badge ok">✓ <%= _cActive %></span> 74 <span class="circ-meta"><%= counts[l.id] || 0 %> <%= _cPosts %><% if (l.last_synced) { %> · <%= _cLast %>: <%= l.last_synced %><% } %></span> 67 75 <% } else if (l.status === 'outdated') { %> 68 <span class="circ-badge err">↻ versie-mismatch</span>69 <div class="circ-reason"><%= l.last_error || 'Deze site draait een andere Klonkt-protocolversie — bijwerken nodig om te federeren.'%></div>76 <span class="circ-badge err">↻ <%= _cMismatch %></span> 77 <div class="circ-reason"><%= l.last_error || _cMismatchReason %></div> 70 78 <% } else if (l.status === 'error') { %> 71 <span class="circ-badge err">⚠ fout</span>79 <span class="circ-badge err">⚠ <%= _cError %></span> 72 80 <% if (l.last_error) { %><div class="circ-reason"><%= l.last_error %></div><% } %> 73 81 <% } else if (l.status === 'paused') { %> 74 <span class="circ-badge">⏸ gepauzeerd</span>82 <span class="circ-badge">⏸ <%= _cPaused %></span> 75 83 <% } else { %> 76 84 <%# Onbekende status: toon 'm rauw + eventuele reden i.p.v. stil "gepauzeerd". %> … … 82 90 <div class="circ-actions"> 83 91 <form method="post" action="/admin/circle/<%= l.id %>/sync" style="display:inline"> 84 <button type="submit" class="btn"> Verversen</button>92 <button type="submit" class="btn"><%= _cRefresh %></button> 85 93 </form> 86 94 <form method="post" action="/admin/circle/<%= l.id %>/remove" style="display:inline" 87 onsubmit="return confirm(' Verwijderen uit je cirkel?')">88 <button type="submit" class="btn btn-danger"> Verwijder</button>95 onsubmit="return confirm('<%= _cRemoveConfirm %>')"> 96 <button type="submit" class="btn btn-danger"><%= _cRemove %></button> 89 97 </form> 90 98 </div>
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)