<%= _warn %><%= t('fedi.cw_open') %>
<% } %> <% if (target.content) { %><%= target.preview %>
%#
Een post van een andere server: hoe hij eruit ziet, en wat je ermee kunt.
EEN PLEK, DRIE INGANGEN: de live-preview onder de zoekbalk, de zoekpagina en
/authorize_interaction. Eén render, zodat een poort, een sanitizer of een knop
niet op één plek vergeten kan worden. De formulieren posten overal naar
/authorize_interaction/..., want daar zit het werk en de rechtencontrole.
Hij ziet eruit als een POST, niet als een formulier over een post: kop met
gezicht, de inhoud, en één rij knoppen eronder. Wat daar vroeger omheen stond
(een zin "je reageert op", een aparte knop naar het origineel, twee grote
pillen, "of reageer:" en een altijd open antwoordvenster) is teruggebracht tot
die ene rij. Antwoorden klapt pas open als je erom vraagt, melden staat
onderaan en niet in de weg.
Verwacht: target (uit resolveRemoteNote), uri, reacted {liked,boosted}.
Optioneel:
compact de live-preview: geen antwoordvenster en geen meldformulier; die
twee staan een tik verder op de volle pagina. Een editor in een
uitklaplijst is op een telefoon geen plek om te schrijven.
mayReply false = alleen lezen en reageren, geen antwoordknop
replyOpen het antwoordvenster staat al open (?reply=1, de terugval zonder JS)
reportOpen idem voor melden (?report=1)
cancelUrl waar Annuleren heen gaat zonder JS, standaard de volle pagina
siteTitle
%>
<%
const _compact = !!locals.compact;
const _mayReply = locals.mayReply !== false;
const _full = '/authorize_interaction?uri=' + encodeURIComponent(uri);
const _cancel = locals.cancelUrl || _full;
const _liked = !!(locals.reacted && reacted.liked);
const _boosted = !!(locals.reacted && reacted.boosted);
const _src = target.url || uri;
// Een inhoudswaarschuwing wordt gerespecteerd. De oude render toonde alles
// gewoon open, ook wat de schrijver achter een waarschuwing had gezet.
const _warn = target.cw || (target.sensitive ? t('fedi.sensitive') : '');
const _imgs = (target.images || []).slice(0, 4);
const _initial = String(target.actor_name || target.actor_handle || '?').replace(/^@/, '').slice(0, 1).toUpperCase();
%>
<%= target.preview %>
<% } else { %>
<% } %>
<%= _warn %><%= t('fedi.cw_open') %>
<% } %>
<% if (target.content) { %>
<%= t('fedi.remote_as', { site: siteTitle }) %>