~jadedctrl/jam-xwx-moe
Showing details for patch 20205d2e1b49d7bdd14f2a91bc5a6c741a6aecb3.
diff -rN -u old-jam-xwx-moe/bloat/bloat.conf new-jam-xwx-moe/bloat/bloat.conf --- old-jam-xwx-moe/bloat/bloat.conf 2024-11-22 17:15:55.441621673 +0000 +++ new-jam-xwx-moe/bloat/bloat.conf 1970-01-01 00:00:00.000000000 +0000 @@ -1,45 +0,0 @@ -# Format: -# - Lines starting with a '#' are ignored -# - Key and Value are separated by a single '=' -# - Leading and trailing white spaces in Key and Value are ignored -# - Quoting and multi-line values are not supported - -# Address to listen to. Value can be of "HOSTNAME:PORT" or "IP:PORT" form. In -# case of empty HOSTNAME or IP, "0.0.0.0:PORT" is used. -# Example: ":8080", "bloat.mydomain.com" -listen_address=127.0.0.1:8090 - -# Full URL of the website. Users will be redirected to this URL after -# authentication. -# Example: "http://localhost:8080", "https://bloat.mydomain.com" -client_website=https://jam.xwx.moe:1337 - -# Name of the client. -client_name=Mancardo Jamada - -# Mastadon scopes used by the client. -# See https://docs.joinmastodon.org/api/oauth-scopes/ -client_scope=read write follow - -# Path of directory containing template files. -templates_path=instance/ŝablonoj - -# Path of directory containing static files (CSS and JS). -static_directory=instance/ktp - -# Supported post formats. Value is a list of key:value pair separated by a ','. -# Empty value will disable the format selection in frontend. -post_formats=PlainText:text/plain,HTML:text/html,Markdown:text/markdown,BBCode:text/bbcode - -# Log file. Will log to stdout if value is empty. -# log_file=log - -# In single instance mode, bloat will not ask for instance domain name and -# user will be directly redirected to login form. User login from other -# instances is not allowed in this mode. -# Empty value disables single instance mode. -single_instance=jam.xwx.moe - -# Path to custom CSS. Value can be a file path relative to the static directory. -# or a URL starting with either "http://" or "https://". -# custom_css=custom.css Binary files old-jam-xwx-moe/bloat/instance/ktp/favicon.png and new-jam-xwx-moe/bloat/instance/ktp/favicon.png differ diff -rN -u old-jam-xwx-moe/bloat/instance/ktp/fluoride.js new-jam-xwx-moe/bloat/instance/ktp/fluoride.js --- old-jam-xwx-moe/bloat/instance/ktp/fluoride.js 2024-11-22 17:15:55.441621673 +0000 +++ new-jam-xwx-moe/bloat/instance/ktp/fluoride.js 1970-01-01 00:00:00.000000000 +0000 @@ -1,332 +0,0 @@ -// @license magnet:?xt=urn:btih:90dc5c0be029de84e523b9b3922520e79e0e6f08&dn=cc0.txt CC0 - -var reverseActions = { - "like": "senŝati", - "unlike": "ŝati", - "retweet": "malripeti", - "unretweet": "ripeti" -}; - -var csrfToken = ""; -var antiDopamineMode = false; - -function checkCSRFToken() { - var tag = document.querySelector("meta[name='csrf_token']"); - if (tag) - csrfToken = tag.getAttribute("content"); -} - -function checkAntiDopamineMode() { - var tag = document.querySelector("meta[name='antidopamine_mode']"); - if (tag) - antiDopamineMode = tag.getAttribute("content") === "true"; -} - -function http(method, url, body, type, success, error) { - var req = new XMLHttpRequest(); - req.onload = function() { - if (this.status === 200 && typeof success === "function") { - success(this.responseText, this.responseType); - } else if (typeof error === "function") { - error(this.responseText); - } - }; - req.onerror = function() { - if (typeof error === "function") { - error(this.responseText); - } - }; - req.open(method, url); - req.setRequestHeader("Content-Type", type); - req.send(body); -} - -function updateActionForm(id, f, action) { - f.querySelector("[type='submit']").value = action; - f.action = "/" + action + "/" + id; - f.dataset.action = action; -} - -function handleLikeForm(id, f) { - f.onsubmit = function(event) { - event.preventDefault(); - - var action = f.dataset.action; - var forms = document. - querySelectorAll(".status-"+id+" .status-like"); - for (var i = 0; i < forms.length; i++) { - updateActionForm(id, forms[i], reverseActions[action]); - } - - var body = "csrf_token=" + encodeURIComponent(csrfToken); - var contentType = "application/x-www-form-urlencoded"; - http("POST", "/fluoride/" + action + "/" + id, - body, contentType, function(res, type) { - - if (antiDopamineMode) - return; - var data = JSON.parse(res); - var count = data.data; - if (count === 0) - count = ""; - var counts = document. - querySelectorAll(".status-"+id+" .status-like-count"); - for (var i = 0; i < counts.length; i++) { - if (count > 0) { - counts[i].innerHTML = "(" + count + ")"; - } else { - counts[i].innerHTML = ""; - } - } - }, function(err) { - for (var i = 0; i < forms.length; i++) { - updateActionForm(id, forms[i], action); - } - }); - } -} - -function handleRetweetForm(id, f) { - f.onsubmit = function(event) { - event.preventDefault(); - - var action = f.dataset.action; - var forms = document. - querySelectorAll(".status-"+id+" .status-retweet"); - for (var i = 0; i < forms.length; i++) { - updateActionForm(id, forms[i], reverseActions[action]); - } - - var body = "csrf_token=" + encodeURIComponent(csrfToken); - var contentType = "application/x-www-form-urlencoded"; - http("POST", "/fluoride/" + action + "/" + id, - body, contentType, function(res, type) { - - if (antiDopamineMode) - return; - var data = JSON.parse(res); - var count = data.data; - if (count === 0) - count = ""; - var counts = document. - querySelectorAll(".status-"+id+" .status-retweet-count"); - for (var i = 0; i < counts.length; i++) { - if (count > 0) { - counts[i].innerHTML = "(" + count + ")"; - } else { - counts[i].innerHTML = ""; - } - } - }, function(err) { - for (var i = 0; i < forms.length; i++) { - updateActionForm(id, forms[i], action); - } - }); - } -} - -function isInView(el) { - var ract = el.getBoundingClientRect(); - if (ract.top > 0 && ract.bottom < window.innerHeight) - return true; - return false; -} - -function handleReplyToLink(a) { - if (!a) - return; - var id = a.getAttribute("href"); - if (!id || id[0] != "#") - return; - a.onmouseenter = function(event) { - var id = event.target.getAttribute("href"); - var status = document.querySelector(id); - if (!status) - return; - if (isInView(status)) { - status.classList.add("highlight"); - } else { - var copy = status.cloneNode(true); - copy.id = "reply-to-popup"; - var ract = event.target.getBoundingClientRect(); - copy.style["max-width"] = (window.innerWidth - ract.left - 32) + "px"; - if (ract.top > window.innerHeight / 2) { - copy.style.bottom = (window.innerHeight - - window.scrollY - ract.top) + "px"; - } - event.target.parentElement.appendChild(copy); - } - } - a.onmouseleave = function(event) { - var popup = document.getElementById("reply-to-popup"); - if (popup) { - event.target.parentElement.removeChild(popup); - } else { - var id = event.target.getAttribute("href"); - document.querySelector(id) - .classList.remove("highlight"); - } - } -} - -function handleReplyLink(a) { - a.onmouseenter = function(event) { - var id = event.target.getAttribute("href"); - var status = document.querySelector(id); - if (!status) - return; - if (isInView(status)) { - status.classList.add("highlight"); - } else { - var copy = status.cloneNode(true); - copy.id = "reply-popup"; - var ract = event.target.getBoundingClientRect(); - copy.style["max-width"] = (window.innerWidth - 98) + "px"; - if (ract.left > window.innerWidth / 2) { - copy.style.right = (window.innerWidth - - ract.right - 12) + "px"; - } - event.target.parentElement.appendChild(copy); - } - } - a.onmouseleave = function(event) { - var popup = document.getElementById("reply-popup"); - if (popup) { - event.target.parentElement.removeChild(popup); - } else { - var id = event.target.getAttribute("href"); - document.querySelector(id).classList.remove("highlight"); - } - } -} - -function handleStatusLink(a) { - if (a.classList.contains("mention")) - a.removeAttribute("target"); - else - a.target = "_blank"; -} - -function setPos(el, cx, cy, mw, mh) { - var h = el.clientHeight; - var w = el.clientWidth; - var left, top; - if (cx < mw/2) { - if (w + cx + 20 < mw) { - left = cx + 20; - } else { - left = (mw - w); - } - } else { - if (cx - w - 20 > 0) { - left = cx - w - 20; - } else { - left = 0; - } - } - top = (cy - (h/2)); - if (top < 0) { - top = 0; - } else if (top + h > mh) { - top = (mh - h); - } - el.style.left = left + "px"; - el.style.top = top + "px"; -} - -var imgPrev = null; -var imgX = 0; -var imgY = 0; -function handleImgPreview(a) { - a.onmouseenter = function(e) { - var mw = document.documentElement.clientWidth; - var mh = document.documentElement.clientHeight - 24; - imgX = e.clientX; - imgY = e.clientY; - var img = document.createElement("img"); - img.id = "img-preview"; - img.src = e.target.getAttribute("href"); - img.style["max-width"] = mw + "px"; - img.style["max-height"] = mh + "px"; - imgPrev = img; - img.onload = function(e2) { - setPos(imgPrev, imgX, imgY, mw, mh); - } - document.body.appendChild(img); - } - a.onmouseleave = function(e) { - var img = document.getElementById("img-preview"); - if (img) - document.body.removeChild(img); - imgPrev = null; - } - a.onmousemove = function(e) { - if (!imgPrev) - return; - var mw = document.documentElement.clientWidth; - var mh = document.documentElement.clientHeight - 24; - imgX = e.clientX; - imgY = e.clientY; - setPos(imgPrev, imgX, imgY, mw, mh); - } -} - -function onPaste(e) { - if (!e.clipboardData.files) - return; - var fp = document.querySelector("#post-file-picker") - var dt = new DataTransfer(); - for (var i = 0; i < fp.files.length; i++) { - dt.items.add(fp.files[i]); - } - for (var i = 0; i < e.clipboardData.files.length; i++) { - dt.items.add(e.clipboardData.files[i]); - } - fp.files = dt.files; -} - -document.addEventListener("DOMContentLoaded", function() { - checkCSRFToken(); - checkAntiDopamineMode(); - - var statuses = document.querySelectorAll(".status-container"); - for (var i = 0; i < statuses.length; i++) { - var s = statuses[i]; - var id = s.dataset.id; - - var likeForm = s.querySelector(".status-like"); - handleLikeForm(id, likeForm); - - var retweetForm = s.querySelector(".status-retweet"); - handleRetweetForm(id, retweetForm); - - var replyToLink = s.querySelector(".status-reply-to-link"); - handleReplyToLink(replyToLink); - - var replyLinks = s.querySelectorAll(".status-reply-link"); - for (var j = 0; j < replyLinks.length; j++) { - handleReplyLink(replyLinks[j]); - } - - var links = s.querySelectorAll(".status-content a"); - for (var j = 0; j < links.length; j++) { - handleStatusLink(links[j]); - } - } - - var links = document.querySelectorAll(".user-profile-decription a, .user-fields a"); - for (var j = 0; j < links.length; j++) { - links[j].target = "_blank"; - } - - var links = document.querySelectorAll(".status-media-container .img-link"); - for (var j = 0; j < links.length; j++) { - handleImgPreview(links[j]); - } - - var pf = document.querySelector(".post-form") - if (pf) - pf.addEventListener("paste", onPaste); -}); - -// @license-end diff -rN -u old-jam-xwx-moe/bloat/instance/ktp/style.css new-jam-xwx-moe/bloat/instance/ktp/style.css --- old-jam-xwx-moe/bloat/instance/ktp/style.css 2024-11-22 17:15:55.441621673 +0000 +++ new-jam-xwx-moe/bloat/instance/ktp/style.css 1970-01-01 00:00:00.000000000 +0000 @@ -1,648 +0,0 @@ -body { - background-color: #f7f7f7; -} - -.status-container-container { - margin: 0 -4px 12px -4px; - padding: 4px; - border-left: 4px solid transparent; -} - -.status-container-container:target { - background-color: #faf0bb; -} - -.status-container-container.highlight { - background-color: #faf0bb; -} - -.status-container { - display: flex; -} - -.status-content { - margin: 4px 0; - max-height: 600px; - overflow: auto; - overflow-wrap: break-word; -} - -.status-name { - overflow-wrap: break-word; -} - -.status-content p { - margin: 0px; -} - -.status-content img, -.status-image, -.status-video { - height: auto; - width: auto; - max-height: 240px; - max-width: 280px; - vertical-align: bottom; - object-fit: contain; -} - -.status-media-container { - margin: 5px 0 -5px 0; - overflow: auto; -} - -.status-media-container>a { - margin-bottom: 5px; - display: inline-block; -} - -.status-profile-img-container { - margin-right: 8px; - display: inline-block; - vertical-align: top; -} - -.status-profile-img { - height: 48px; - width: 48px; - min-height: 48px; - min-width: 48px; - max-height: 48px; - max-width: 48px; - vertical-align: top; - object-fit: contain; - margin-top: 2px; -} - -.status { - display: inline-block; - vertical-align: top; - flex: 1; - min-width: 0; -} - -.status-dname { - font-weight: 800; -} - -.status-uname { - font-style: italic; - font-size: 10pt; -} - -.status-action-container { - margin-top: 4px; -} - -.status-action { - display: inline-block; - margin-right: 16px; -} - -.status-action-last { - margin-right: 4px; -} - -.status-action form { - display: inline-block; -} - -.status-action a { - display: inline-block; -} - -.status-action * { - vertical-align: middle; -} - -.status-action a.status-time { - width: auto; -} - -.page-title { - font-size: 18pt; - margin: 8px 0; - background-color: #e2c2f2; -} - -.post-form { - margin: 4px 0; -} - -.post-form>div { - margin-bottom: 4px; -} - -.signin-form { - margin: 8px 0; -} - -.signin-form input { - margin: 4px 0; -} - -.retweet-info { - margin: 0 0 4px 24px; - overflow-wrap: break-word; -} - -.retweet-info .status-profile-img { - height: 24px; - width: 24px; - min-height: 24px; - min-width: 24px; - max-height: 24px; - max-width: 24px; - vertical-align: middle; -} - -.retweet-info .status-dname { - margin-left: 4px; -} - -textarea { - padding: 4px; - font-size: 11pt; - font-family: initial; -} - -.post-content { - box-sizing: border-box; - width: 100%; -} - -#css { - box-sizing: border-box; - max-width: 100%; -} - -.pagination { - margin: 4px 4px 12px 4px; -} - -.pagination a { - margin: 0 8px; - font-size: 13pt; -} - -.notification-container { - margin: 0 -4px 12px -4px; - padding: 4px; - border-left: 4px solid transparent; -} - -.notification-container.unread { - border-color: #777777; -} - -.notification-container .status-container { - opacity: 0.6; -} - -.notification-container.mention .status-container { - opacity: unset; -} - -.notification-info-text span { - vertical-align: middle; -} - -.notification-follow-container { - overflow: auto; - display: flex; - align-items: center; -} - -.notification-follow { - overflow: auto; -} - -.notification-time { - margin-left: 8px; -} - -.status-reply-to-link { - font-size: 10pt -} - -.status-reply-container { - overflow-wrap: break-word; -} - -.status-reply-container .fa { - font-size: 10pt; - vertical-align: sub; - margin-right: -2px; -} - -.status-reply-text { - font-size: 10pt; -} - -.status-reply-link { - font-size: 10pt; -} - -.status-reply-info-divider { - margin: 0 4px; -} - -.post-content-container { - padding-right: 8px; -} - -.error-text { - margin: 8px 0; -} - -.post-attachment-div { - margin: 2px 0; -} - -.user-profile-img-container { - display: inline-block; - margin: 0 4px 4px 0; -} - -.user-profile-details-container { - display: inline-block; - vertical-align: top; -} - -.user-profile-details-container>div { - margin-bottom: 4px; -} - -.user-profile-img { - height: 96px; - width: 96px; - vertical-align: top; - object-fit: contain; - margin-top: 2px; -} - -.user-profile-decription, -.user-fields { - overflow-wrap: break-word; - margin: 8px 0; -} - -.user-profile-decription p { - margin: 0; -} - -.user-profile-decription img { - height: auto; - width: auto; - max-height: 240px; - max-width: 280px; - object-fit: contain; -} - -.d-inline { - display: inline; -} - -.p-0 { - padding: 0; -} - -.btn-link { - border: none; - outline: none; - background: none; - cursor: pointer; - padding: 0; - font-family: inherit; - font-size: inherit; -} - -a, .btn-link { - color: #806c0d; - text-decoration: none; -} - -a:hover, -.btn-link:hover { - color: #806c0d; - text-decoration: underline; -} - -.status-visibility { - margin-left: 4px; - display: inline-block; - color: #222222; - font-size: 8pt; -} - -.remote-link { - margin-left: 4px; - font-size: 8pt; -} - -.img-link { - display: inline-block; - position: relative; -} - -.status-media-container .img-link { - width: 384px; -} - -.status-profile-img-container .img-link { - width: 48px; -} - -.status-nsfw-overlay { - position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; - background-color: #a7bbb9; - color: #a7bbb9; - height: 240px; - max-height: 100%; -} - -.img-link:hover .status-nsfw-overlay { - display: none; -} - -.status-video-container { - display: inline-block; - position: relative; - margin-bottom: 5px; -} - -.status-video-container:hover .status-nsfw-overlay { - display: none; -} - -.emoji-item-container { - width: 220px; - display: inline-block; - margin: 4px 0; - overflow: hidden; -} - -.emoji-item { - display: flex; - align-items: center; -} - -img.emoji { - height: auto; - width: auto; - max-height: 32px; - max-width: 32px; - min-height: 32px; - min-width: 32px; - vertical-align: middle; - object-fit: contain; - margin: 0; -} - -.status-dname img.emoji { - height: 24px; - min-height: 24px; - min-width: 24px; -} - -.emoji-shortcode { - margin-left: 4px; -} - -.post-form-emoji-link { - margin-left: 4px; -} - -.user-info-img { - height: 64px; - width: 64px; - vertical-align: middle; - object-fit: contain; - margin-top: 2px; -} - -.user-info-img-container { - float: left; - margin-right: 8px; -} - -.user-info-details-container { - overflow: auto; -} - -.user-info-details-name, -.user-info-details-nav { - margin-bottom: 4px; -} - -.nav-link { - margin-right: 2px; -} - -.user-list-item { - overflow: auto; - margin: 0 0 12px 0; - display: flex; - align-items: center; -} - -.user-list-profile-img { - float: left; - margin: 0 8px 0 0; -} - -.user-list-name { - overflow: auto; -} - -.user-list-action { - margin: 0 12px; -} - -#settings-form { - margin: 8px 0; -} - -.settings-form-field { - margin: 4px 0; -} - -#settings-form button[type=submit] { - margin-top: 8px; -} - -#reply-popup { - position: absolute; - background-color: #d2d2d2; - border: 1px solid #aaaaaa; - padding: 4px 8px; - z-index: 3; - margin: 0; -} - -#reply-to-popup { - position: absolute; - background-color: #d2d2d2; - border: 1px solid #aaaaaa; - padding: 4px 8px; - z-index: 3; - margin: 0; -} - -.search-form { - margin: 12px 0; -} - -.more-container { - position: relative; - display: inline-block; -} - -.more-content { - display: none; - position: absolute; - background-color: #d2d2d2; - padding: 2px 4px; - border: 1px solid #aaaaaa; - z-index: 1; -} - -.more-container:hover .more-content { - display: block; -} - -.more-link { - font-size: 8pt; - display: block; - margin: 2px; -} - -.poll-form { - margin-top: 5px; - overflow: auto; - overflow-wrap: break-word; -} - -.poll-form button[type=submit] { - margin-top: 6px; -} - -.poll-info { - margin-top: 6px; -} - -.page-title-container { - margin: 8px 0; -} - -.page-refresh { - margin-right: 8px; -} - -.notification-text { - vertical-align: middle; -} - -.notification-read { - display: inline-block; -} - -.no-data-found { - margin: 12px 0; -} - -.signout { - display: inline; -} - -.signin-desc { - margin: 8px 0 16px 0; -} - -.keyboard-shortcuts { - margin-top: 12px; -} - -.keyboard-shortcuts td { - padding: 2px 4px; -} - -kbd { - border-radius: 3px; - padding: 1px 4px; - border: 1px solid #444444; - background-color: #eeeeee; - font-size: 10pt; -} - -.filters { - margin: 10px 0; -} - -.filters td { - padding: 2px 4px; -} - -#img-preview { - pointer-events: none; - z-index: 2; - position: fixed; -} - -.quote { - color: #789922; -} - -.dark { - background-color: #222222; - background-image: none; - color: #eaeaea; -} - -.dark a { - color: #81a2be; -} - -.dark textarea { - background-color: #333333; - border: 1px solid #444444; - color: #eaeaea; -} - -.dark #reply-popup, -.dark #reply-to-popup { - background-color: #222222; - border-color: #444444; -} - -.dark .status-container-container.highlight { - background-color: #333333; -} - -.dark .btn-link { - color: #81a2be; -} - -.dark a:hover, -.dark .btn-link:hover { - color: #497091; -} - -.dark .status-visibility { - color: #eaeaea; -} - -.dark .more-content { - background-color: #222222; - border-color: #444444; -} - -.dark kbd { - background-color: #333333; - border-color: #444444; - color: #eaeaea; -} diff -rN -u "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/about.tmpl" "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/about.tmpl" --- "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/about.tmpl" 2024-11-22 17:15:55.441621673 +0000 +++ "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/about.tmpl" 1970-01-01 00:00:00.000000000 +0000 @@ -1,109 +0,0 @@ -{{with .Data}} -{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} - -<div class="page-title"> Pri </div> -<div> - <p> - Retejkliento por <a href="https://pleroma.social" target="_blank">federujo</a>. - </p> - <p> - La fontkodo estas sub la permesilo - <a href="https://creativecommons.org/publicdomain/zero/1.0/legalcode" target="_blank">CC0</a> - kaj akireblas de - <a href="https://git.freesoftwareextremist.com/bloat" target="_blank">git.freesoftwareextremist.com/bloat</a>. - </P> -</div> - -<div class="page-title"> Ŝparklavoj </div> -<div> - <table class="keyboard-shortcuts"> - <tr> - <td> Uzantprofilo </td> - <td> <kbd>0</kbd> </td> - </tr> - <tr> - <td> Hejma historio </td> - <td> <kbd>1</kbd> </td> - </tr> - <tr> - <td> Rekta historio </td> - <td> <kbd>2</kbd> </td> - </tr> - <tr> - <td> Noda historio </td> - <td> <kbd>3</kbd> </td> - </tr> - <tr> - <td> Federa historio </td> - <td> <kbd>4</kbd> </td> - </tr> - <tr> - <td> Alinoda historio </td> - <td> <kbd>5</kbd> </td> - </tr> - <tr> - <td> Serĉi </td> - <td> <kbd>6</kbd> </td> - </tr> - <tr> - <td> Listoj </td> - <td> <kbd>7</kbd> </td> - </tr> - <tr> - <td> Agordoj </td> - <td> <kbd>8</kbd> </td> - </tr> - <tr> - <td> Pri </td> - <td> <kbd>9</kbd> </td> - </tr> - <tr> - <td> Bildosignoj </td> - <td> <kbd>L</kbd> </td> - </tr> - <tr> - <td> Redakti afiŝon </td> - <td> <kbd>E</kbd> </td> - </tr> - <tr> - <td> Afiŝoformo </td> - <td> <kbd>F</kbd> </td> - </tr> - <tr> - <td> Afiŝocelo </td> - <td> <kbd>S</kbd> </td> - </tr> - <tr> - <td> Marki kiel konsterna </td> - <td> <kbd>N</kbd> </td> - </tr> - <tr> - <td> Kunmeti dosieron al afiŝo </td> - <td> <kbd>A</kbd> </td> - </tr> - <tr> - <td> Afiŝi </td> - <td> <kbd>P</kbd> </td> - </tr> - <tr> - <td> Reenlegi sciigojn </td> - <td> <kbd>R</kbd> </td> - </tr> - <tr> - <td> Marki sciigojn kiel legitaj </td> - <td> <kbd>C</kbd> </td> - </tr> - <tr> - <td> Reenlegi historion/afiŝaron </td> - <td> <kbd>T</kbd> </td> - </tr> - </table> - <p> - Vi povas uzi ĉi tiujn ŝparklavojn per kunpremo kun la <a href="https://en.wikipedia.org/wiki/Access_key#Access_in_different_browsers" target="_blank">alternativa klavo</a> de via retfoliumilo, - kiu plejofte estas <a>ALT</kbd> + <kbd>Shift</kbd>. - </p> -</div> - -{{template "footer.tmpl"}} -{{end}} - diff -rN -u "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/emoji.tmpl" "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/emoji.tmpl" --- "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/emoji.tmpl" 2024-11-22 17:15:55.445621679 +0000 +++ "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/emoji.tmpl" 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -{{with .Data}} -{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} -<div class="page-title"> Bildosignoj </div> - -<div class="emoji-list-container"> - {{range .Emojis}} - <div class="emoji-item-container"> - <div class="emoji-item"> - <img class="emoji" src="{{.URL}}" alt="{{.ShortCode}}" height="32" loading="lazy" /> - <span title=":{{.ShortCode}}:" class="emoji-shortcode">:{{.ShortCode}}:</span> - </div> - </div> - {{end}} -</div> - -{{template "footer.tmpl"}} -{{end}} diff -rN -u "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/error.tmpl" "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/error.tmpl" --- "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/error.tmpl" 2024-11-22 17:15:55.445621679 +0000 +++ "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/error.tmpl" 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -{{with .Data}} -{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} -<div class="page-title"> Eraro </div> - -<div class="error-text"> {{.Err}} </div> -<div> - <a href="/timeline/home">hejmo</a> - {{if .Retry}} - <a href="{{$.Ctx.Referrer}}">reprovi</a> - {{end}} - {{if .SessionErr}} - <a href="/signin" target="_top">saluti</a> - {{end}} -</div> - -{{template "footer.tmpl"}} -{{end}} diff -rN -u "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/filters.tmpl" "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/filters.tmpl" --- "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/filters.tmpl" 2024-11-22 17:15:55.445621679 +0000 +++ "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/filters.tmpl" 1970-01-01 00:00:00.000000000 +0000 @@ -1,40 +0,0 @@ -{{with .Data}} -{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} -<div class="page-title"> Filtriloj </div> - -{{if .Filters}} -<table class="filters"> - {{range .Filters}} - <tr> - <td> {{.Phrase}}{{if not .WholeWord}}*{{end}} </td> - <td> - <form action="/unfilter/{{.ID}}" method="POST"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <button type="submit"> Forigi </button> - </form> - </td> - </tr> - {{end}} -</table> -{{else}} - <div class="filters"> Neniu filtrilo agordita </div> -{{end}} - -<div class="page-title"> Krei filtrilon </div> -<form action="/filter" method="POST"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <span class="settings-form-field"> - <label for="phrase"> Vorto(j) </label> - <input id="phrase" name="phrase" required> - </span> - <span class="settings-form-field"> - <input id="whole-word" name="whole_word" type="checkbox" value="true" checked> - <label for="whole-word"> Tutmonde </label> - </span> - <button type="submit"> Krei </button> -</form> - -{{template "footer.tmpl"}} -{{end}} diff -rN -u "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/footer.tmpl" "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/footer.tmpl" --- "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/footer.tmpl" 2024-11-22 17:15:55.445621679 +0000 +++ "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/footer.tmpl" 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -</body> -</html> diff -rN -u "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/header.tmpl" "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/header.tmpl" --- "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/header.tmpl" 2024-11-22 17:15:55.445621679 +0000 +++ "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/header.tmpl" 1970-01-01 00:00:00.000000000 +0000 @@ -1,33 +0,0 @@ -{{with .Data}} -<!DOCTYPE html> -<html lang="eo"> -<head> - <meta charset='utf-8'> - <link rel="icon" type="image/png" href="/static/favicon.png"> - <meta content='width=device-width, initial-scale=1' name='viewport'> - {{if .Target}} - <base href="" target="{{.Target}}"> - {{end}} - {{if .CSRFToken}} - <meta name="csrf_token" content="{{.CSRFToken}}"> - {{end}} - {{if $.Ctx.AntiDopamineMode}} - <meta name="antidopamine_mode" content="{{$.Ctx.AntiDopamineMode}}"> - {{end}} - {{if .RefreshInterval}} - <meta http-equiv="refresh" content="{{.RefreshInterval}}"> - {{end}} - <title> {{if gt .Count 0}}({{.Count}}){{end}} {{.Title}} </title> - <link rel="stylesheet" href="/static/style.css"> - {{if .CustomCSS}} - <link rel="stylesheet" href="{{.CustomCSS}}"> - {{end}} - {{if $.Ctx.FluorideMode}} - <script src="/static/fluoride.js"></script> - {{end}} - {{if $.Ctx.UserCSS}} - <style>{{RawCSS $.Ctx.UserCSS}}</style> - {{end}} -</head> -<body {{if $.Ctx.DarkMode}}class="dark"{{end}}> -{{end}} diff -rN -u "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/likedby.tmpl" "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/likedby.tmpl" --- "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/likedby.tmpl" 2024-11-22 17:15:55.445621679 +0000 +++ "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/likedby.tmpl" 1970-01-01 00:00:00.000000000 +0000 @@ -1,8 +0,0 @@ -{{with .Data}} -{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} -<div class="page-title"> Ŝatita de </div> - -{{template "userlist.tmpl" (WithContext .Users $.Ctx)}} - -{{template "footer.tmpl"}} -{{end}} diff -rN -u "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/lists.tmpl" "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/lists.tmpl" --- "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/lists.tmpl" 2024-11-22 17:15:55.445621679 +0000 +++ "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/lists.tmpl" 1970-01-01 00:00:00.000000000 +0000 @@ -1,35 +0,0 @@ -{{with .Data}} -{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} -<div class="page-title"> Listoj </div> - -{{range .Lists}} -<div> - <a href="/timeline/list?list={{.ID}}"> {{.Title}} historio </a> - - - <form class="d-inline" action="/list/{{.ID}}" method="GET"> - <button type="submit" class="btn-link"> redakti </button> - </form> - - - <form class="d-inline" action="/list/{{.ID}}/remove" method="POST"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <button type="submit" class="btn-link"> forigi </button> - </form> -</div> -{{else}} -<div class="no-data-found">Neniu datumo trovita</div> -{{end}} - -<div class="page-title"> Krei liston </div> -<form action="/list" method="POST"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <span class="settings-form-field"> - <label for="title"> Nomo </label> - <input id="title" name="title" required> - </span> - <button type="submit"> Krei </button> -</form> - -{{template "footer.tmpl"}} -{{end}} diff -rN -u "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/list.tmpl" "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/list.tmpl" --- "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/list.tmpl" 2024-11-22 17:15:55.445621679 +0000 +++ "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/list.tmpl" 1970-01-01 00:00:00.000000000 +0000 @@ -1,63 +0,0 @@ -{{with .Data}} -{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} -<div class="page-title"> Listo {{.List.Title}} </div> - -<form action="/list/{{.List.ID}}/rename" method="POST"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <input id="title" name="title" value="{{.List.Title}}"> - <button type="submit"> Renomi </button> -</form> - -<div class="page-title"> Uzantoj </div> -{{if .Accounts}} -<table> -{{range .Accounts}} - <tr> - <td class="p-0"> {{template "userlistitem.tmpl" (WithContext . $.Ctx)}} </td> - <td class="p-0"> - <form class="user-list-action" action="/list/{{$.Data.List.ID}}/removeuser?uid={{.ID}}" method="POST"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <button type="submit"> Remove </button> - </form> - </td> - </tr> -{{end}} -</table> -{{else}} -<div class="no-data-found">Neniu datumo trovita</div> -{{end}} - -<div class="page-title"> Aldoni uzanton </div> -<form class="search-form" action="/list/{{.List.ID}}" method="GET"> - <span class="post-form-field"> - <label for="query"> Uzanta serĉmendo </label> - <input id="query" name="q" value="{{.Q}}"> - </span> - <button type="submit"> Serĉi </button> -</form> - -{{if .Q}} -{{if .SearchAccounts}} -<table> -{{range .SearchAccounts}} - <tr> - <td> {{template "userlistitem.tmpl" (WithContext . $.Ctx)}} </td> - <td> - <form class="user-list-action" action="/list/{{$.Data.List.ID}}/adduser?uid={{.ID}}" method="POST"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <button type="submit"> Aldoni </button> - </form> - </td> - </tr> -{{end}} -</table> -{{else}} -<div class="no-data-found">Neniu datumo trovita</div> -{{end}} -{{end}} - -{{template "footer.tmpl"}} -{{end}} diff -rN -u "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/mute.tmpl" "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/mute.tmpl" --- "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/mute.tmpl" 2024-11-22 17:15:55.445621679 +0000 +++ "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/mute.tmpl" 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ -{{with .Data}} -{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} -<div class="page-title"> Silentigi {{.User.Acct}} </div> - -<form action="/mute/{{.User.ID}}" method="POST"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <div class="settings-form-field"> - <input id="notifications" name="notifications" type="checkbox" value="true" checked> - <label for="notifications"> Malatenti sciigojn </label> - </div> - <div class="settings-form-field"> - <label for="duration"> Reatentu </label> - <select id="duration" name="duration"> - <option value="0" selected>Disabled</option> - <option value="300">Post 5m</option> - <option value="1800">Post 30m</option> - <option value="3600">Post 1h</option> - <option value="21600">Post 6h</option> - <option value="86400">Post 1d</option> - <option value="259200">Post 3d</option> - <option value="604800">Post 7d</option> - </select> - </div> - <button type="submit"> Silentigi </button> -</form> - -{{template "footer.tmpl"}} -{{end}} diff -rN -u "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/nav.tmpl" "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/nav.tmpl" --- "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/nav.tmpl" 2024-11-22 17:15:55.445621679 +0000 +++ "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/nav.tmpl" 1970-01-01 00:00:00.000000000 +0000 @@ -1,40 +0,0 @@ -{{with .Data}} -{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} -<div class="user-info"> - <div class="user-info-img-container"> - <a class="img-link" href="/timeline/home" title="Hejmo (1)"> - <img class="user-info-img" src="{{.User.Avatar}}" alt="profile-avatar" height="64" /> - </a> - </div> - <div class="user-info-details-container"> - <div class="user-info-details-name"> - <bdi class="status-dname"> {{EmojiFilter (HTML .User.DisplayName) .User.Emojis | Raw}} </bdi> - <a class="nav-link" href="/user/{{.User.ID}}" accesskey="0" title="Uzantoprofilo (0)"> - <span class="status-uname"> @{{.User.Acct}} </span> - </a> - </div> - <div class="user-info-details-nav"> - <a class="nav-link" href="/timeline/home" accesskey="1" title="Hejma historio (1)">hejmo</a> - <a class="nav-link" href="/timeline/direct" accesskey="2" title="Rekta historio (2)">rekta</a> - <a class="nav-link" href="/timeline/local" accesskey="3" title="Noda historio (3)">noda</a> - <a class="nav-link" href="/timeline/twkn" accesskey="4" title="Federa historio (4)">federa</a> - <a class="nav-link" href="/timeline/remote" accesskey="5" title="Fora historio (5)">fora</a> - <a class="nav-link" href="/search" accesskey="6" title="Serĉi (6)">serĉi</a> - </div> - <div> - <a class="nav-link" href="/lists" accesskey="7" title="Listoj (7)">listoj</a> - <a class="nav-link" href="/settings" target="_top" accesskey="8" title="Agordoj (8)">agordoj</a> - <form class="signout" action="/signout" method="post" target="_top"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <input type="submit" value="signout" class="btn-link nav-link" title="Adiaŭi"> - </form> - <a class="nav-link" href="/about" accesskey="9" title="Pri (9)">pri</a> - </div> - </div> -</div> - -{{template "postform.tmpl" (WithContext .PostContext $.Ctx)}} - -{{template "footer.tmpl"}} -{{end}} diff -rN -u "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/notification.tmpl" "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/notification.tmpl" --- "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/notification.tmpl" 2024-11-22 17:15:55.445621679 +0000 +++ "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/notification.tmpl" 1970-01-01 00:00:00.000000000 +0000 @@ -1,128 +0,0 @@ -{{with .Data}} -{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} -<div class="page-title-container"> - <span class="page-title"> - Sciigoj - {{if and (not $.Ctx.AntiDopamineMode) (gt .UnreadCount 0)}} - ({{.UnreadCount }}) - {{end}} - </span> - <a class="page-refresh" href="/notifications" target="_self" accesskey="R" title="Reenlegi (R)">reenlegi</a> - {{if .ReadID}} - <form class="notification-read" action="/notifications/read?max_id={{.ReadID}}" method="post" target="_self"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <input type="submit" value="read" class="btn-link" accesskey="C" title="Marki kiel legitaj (C)"> - </form> - {{end}} -</div> - -{{range .Notifications}} -<div class="notification-container {{.Type}} {{if .Pleroma}}{{if not .Pleroma.IsSeen}}unread{{end}}{{end}}"> - {{if eq .Type "follow"}} - <div class="notification-follow-container"> - <div class="status-profile-img-container"> - <a class="img-link" href="/user/{{.Account.ID}}"> - <img class="status-profile-img" src="{{.Account.Avatar}}" title="@{{.Account.Acct}}" alt="profile-avatar" height="48" /> - </a> - </div> - <div class="notification-follow"> - <div class="notification-info-text"> - <bdi class="status-dname"> {{EmojiFilter (HTML .Account.DisplayName) .Account.Emojis | Raw}} </bdi> - <span class="notification-text"> abonis vin - - <time datetime="{{FormatTimeRFC3339 .CreatedAt}}" title="{{FormatTimeRFC822 .CreatedAt}}">{{TimeSince .CreatedAt}}</time> - </span> - </div> - <div> - <a href="/user/{{.Account.ID}}"> <span class="status-uname"> @{{.Account.Acct}} </span> </a> - </div> - </div> - </div> - - {{else if eq .Type "follow_request"}} - <div class="notification-follow-container"> - <div class="status-profile-img-container"> - <a class="img-link" href="/user/{{.Account.ID}}"> - <img class="status-profile-img" src="{{.Account.Avatar}}" title="@{{.Account.Acct}}" alt="profile-avatar" height="48" /> - </a> - </div> - <div class="notification-follow"> - <div class="notification-info-text"> - <bdi class="status-dname"> {{EmojiFilter (HTML .Account.DisplayName) .Account.Emojis | Raw}} </bdi> - <span class="notification-text"> volas abonis vin - - <time datetime="{{FormatTimeRFC3339 .CreatedAt}}" title="{{FormatTimeRFC822 .CreatedAt}}">{{TimeSince .CreatedAt}}</time> - </span> - </div> - <div> - <a href="/user/{{.Account.ID}}"> <span class="status-uname"> @{{.Account.Acct}} </span> </a> - </div> - <form class="d-inline" action="/accept/{{.Account.ID}}" method="post" target="_self"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <input type="submit" value="accept" class="btn-link"> - </form> - - - <form class="d-inline" action="/reject/{{.Account.ID}}" method="post" target="_self"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <input type="submit" value="reject" class="btn-link"> - </form> - </div> - </div> - - {{else if eq .Type "mention"}} - {{template "status" (WithContext .Status $.Ctx)}} - - {{else if eq .Type "reblog"}} - <div class="retweet-info"> - <a class="img-link" href="/user/{{.Account.ID}}"> - <img class="status-profile-img" src="{{.Account.Avatar}}" title="@{{.Account.Acct}}" alt="avatar" height="48" /> - </a> - <a href="/user/{{.Account.ID}}"> - <span class="status-uname"> @{{.Account.Acct}} </span> - </a> - <span class="notification-text"> ripetis vian afiŝon - - <time datetime="{{FormatTimeRFC3339 .CreatedAt}}" title="{{FormatTimeRFC822 .CreatedAt}}">{{TimeSince .CreatedAt}}</time> - </span> - </div> - {{template "status" (WithContext .Status $.Ctx)}} - - {{else if eq .Type "favourite"}} - <div class="retweet-info"> - <a class="img-link" href="/user/{{.Account.ID}}"> - <img class="status-profile-img" src="{{.Account.Avatar}}" title="@{{.Account.Acct}}" alt="avatar" height="48" /> - </a> - <a href="/user/{{.Account.ID}}"> - <span class="status-uname"> @{{.Account.Acct}} </span> - </a> - <span class="notification-text"> ŝatis vian afiŝon - - <time datetime="{{FormatTimeRFC3339 .CreatedAt}}" title="{{FormatTimeRFC822 .CreatedAt}}">{{TimeSince .CreatedAt}}</time> - </span> - </div> - {{template "status" (WithContext .Status $.Ctx)}} - - {{else}} - <div class="retweet-info"> - <a class="img-link" href="/user/{{.Account.ID}}"> - <img class="status-profile-img" src="{{.Account.Avatar}}" title="@{{.Account.Acct}}" alt="avatar" height="48" /> - </a> - <a href="/user/{{.Account.ID}}"> - <span class="status-uname"> @{{.Account.Acct}} </span> - </a> - <span class="notification-text"> {{.Type}} - - <time datetime="{{FormatTimeRFC3339 .CreatedAt}}" title="{{FormatTimeRFC822 .CreatedAt}}">{{TimeSince .CreatedAt}}</time> - </span> - </div> - {{if .Status}}{{template "status" (WithContext .Status $.Ctx)}}{{end}} - {{end}} -</div> -{{end}} - -<div class="pagination"> - {{if .NextLink}} - <a href="{{.NextLink}}" target="_self">[sekva]</a> - {{end}} -</div> - -{{template "footer.tmpl"}} -{{end}} diff -rN -u "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/postform.tmpl" "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/postform.tmpl" --- "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/postform.tmpl" 2024-11-22 17:15:55.445621679 +0000 +++ "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/postform.tmpl" 1970-01-01 00:00:00.000000000 +0000 @@ -1,51 +0,0 @@ -{{with .Data}} -<form class="post-form" action="/post" method="POST" enctype="multipart/form-data" target="_self"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - {{if .ReplyContext}} - <input type="hidden" name="reply_to_id" value="{{.ReplyContext.InReplyToID}}" /> - <input type="hidden" name="quickreply" value="{{.ReplyContext.QuickReply}}" /> - <label for="post-content" class="post-form-title"> Respondi al @{{.ReplyContext.InReplyToName}} </label> - {{else}} - <label for="post-content" class="post-form-title"> Nova afiŝo </label> - {{end}} - <a class="post-form-emoji-link" href="/emojis" target="_blank" title="Bildosignoj (L)" accesskey="L"> - bildosignoj - </a> - <div class="post-form-content-container"> - <textarea id="post-content" name="content" class="post-content" cols="34" rows="5" accesskey="E" title="Redakti afiŝon (E)">{{if .ReplyContext}}{{.ReplyContext.ReplyContent}}{{end}}</textarea> - </div> - <div> - {{if .Formats}} - <span class="post-form-field"> - {{$defFormat := .DefaultFormat}} - <select id="post-format" name="format" accesskey="F" title="Formo (F)"> - {{range .Formats}} - <option value="{{.Type}}" {{if eq $defFormat .Type}}selected{{end}}>{{.Name}}</option> - {{end}} - </select> - </span> - {{end}} - <span class="post-form-field"> - <select id="post-visilibity" name="visibility" {{if .ReplyContext}}{{if .ReplyContext.ForceVisibility}}disabled{{end}}{{end}} accesskey="S" title="Celo (S)"> - <option value="public" {{if eq .DefaultVisibility "public"}}selected{{end}}>Publika</option> - <option value="unlisted" {{if eq .DefaultVisibility "unlisted"}}selected{{end}}>Nepublika</option> - <option value="private" {{if eq .DefaultVisibility "private"}}selected{{end}}>Privata</option> - <option value="direct" {{if eq .DefaultVisibility "direct"}}selected{{end}}>Rekta</option> - </select> - </span> - <span class="post-form-field"> - <input type="checkbox" id="nsfw-checkbox" name="is_nsfw" value="true" accesskey="N" title="Konsterna (N)"> - <label for="nsfw-checkbox"> Konsterna </label> - </span> - </div> - <div> - <span class="post-form-field"> - <input id="post-file-picker" type="file" name="attachments" multiple accesskey="A" title="Kunsendaĵoj (A)"> - </span> - </div> - <button type="submit" accesskey="P" title="Afiŝi (P)"> Afiŝi </button> - <button type="reset" title="Reset"> Nuligi </button> -</form> -{{end}} - diff -rN -u "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/quickreply.tmpl" "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/quickreply.tmpl" --- "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/quickreply.tmpl" 2024-11-22 17:15:55.445621679 +0000 +++ "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/quickreply.tmpl" 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -{{with $s := .Data}} -{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} -<div class="page-title"> Rapide Respondi </div> - -{{if .Ancestor}} -{{template "status.tmpl" (WithContext .Ancestor $.Ctx)}} -{{end}} -{{template "status.tmpl" (WithContext .Status $.Ctx)}} -{{template "postform.tmpl" (WithContext $s.PostContext $.Ctx)}} - -{{template "footer.tmpl"}} -{{end}} diff -rN -u "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/requestlist.tmpl" "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/requestlist.tmpl" --- "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/requestlist.tmpl" 2024-11-22 17:15:55.445621679 +0000 +++ "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/requestlist.tmpl" 1970-01-01 00:00:00.000000000 +0000 @@ -1,36 +0,0 @@ -{{with .Data}} -<div> - {{range .}} - <div class="user-list-item"> - <div class="user-list-profile-img"> - <a class="img-link" href="/user/{{.ID}}"> - <img class="status-profile-img" src="{{.Avatar}}" title="@{{.Acct}}" alt="avatar" height="48" /> - </a> - </div> - <div class="user-list-name"> - <div> - <div class="status-dname"> {{EmojiFilter (HTML .DisplayName) .Emojis | Raw}} </div> - <a class="img-link" href="/user/{{.ID}}"> - <div class="status-uname"> @{{.Acct}} </div> - </a> - </div> - <form class="d-inline" action="/accept/{{.ID}}" method="post" target="_self"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <input type="submit" value="accept" class="btn-link"> - </form> - - - <form class="d-inline" action="/reject/{{.ID}}" method="post" target="_self"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <input type="submit" value="reject" class="btn-link"> - </form> - </div> - </div> - {{else}} - <div class="no-data-found">Neniu datumo trovita</div> - {{end}} -</div> -{{else}} -<div class="no-data-found">Neniu datumo trovita</div> -{{end}} diff -rN -u "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/retweetedby.tmpl" "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/retweetedby.tmpl" --- "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/retweetedby.tmpl" 2024-11-22 17:15:55.445621679 +0000 +++ "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/retweetedby.tmpl" 1970-01-01 00:00:00.000000000 +0000 @@ -1,8 +0,0 @@ -{{with .Data}} -{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} -<div class="page-title"> Ripetita de </div> - -{{template "userlist.tmpl" (WithContext .Users $.Ctx)}} - -{{template "footer.tmpl"}} -{{end}} diff -rN -u "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/root.tmpl" "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/root.tmpl" --- "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/root.tmpl" 2024-11-22 17:15:55.445621679 +0000 +++ "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/root.tmpl" 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -{{with .Data}} -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> -<html> -<head> - <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> - <link rel="icon" type="image/png" href="/static/favicon.png"> - <title>{{.Title}}</title> -</head> -<frameset cols="424px,*"> - <frameset rows="316px,*"> - <frame name="nav" src="/nav"> - <frame name="notification" src="/notifications"> - </frameset> - <frame name="main" src="/timeline/home"> -</frameset> -</html> -{{end}} diff -rN -u "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/search.tmpl" "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/search.tmpl" --- "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/search.tmpl" 2024-11-22 17:15:55.445621679 +0000 +++ "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/search.tmpl" 1970-01-01 00:00:00.000000000 +0000 @@ -1,39 +0,0 @@ -{{with .Data}} -{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} -<div class="page-title"> Serĉi </div> - -<form class="search-form" action="/search" method="GET"> - <span class="post-form-field"> - <label for="query"> Serĉomendo </label> - <input id="query" name="q" value="{{.Q}}"> - </span> - <span class="post-form-field"> - <label for="type"> Celo </label> - <select id="type" name="type"> - <option value="statuses" {{if eq .Type "statuses"}}selected{{end}}>Afiŝoj</option> - <option value="accounts" {{if eq .Type "accounts"}}selected{{end}}>Kontoj</option> - </select> - </span> - <button type="submit"> Serĉi </button> -</form> - -{{if eq .Type "statuses"}} -{{range .Statuses}} -{{template "status.tmpl" (WithContext . $.Ctx)}} -{{else}} -{{if .Q}}<div class="no-data-found">Neniu datumo trovita</div>{{end}} -{{end}} -{{end}} - -{{if eq .Type "accounts"}} -{{template "userlist.tmpl" (WithContext .Users $.Ctx)}} -{{end}} - -<div class="pagination"> - {{if .NextLink}} - <a href="{{.NextLink}}">[sekva]</a> - {{end}} -</div> - -{{template "footer.tmpl"}} -{{end}} diff -rN -u "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/settings.tmpl" "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/settings.tmpl" --- "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/settings.tmpl" 2024-11-22 17:15:55.445621679 +0000 +++ "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/settings.tmpl" 1970-01-01 00:00:00.000000000 +0000 @@ -1,83 +0,0 @@ -{{with .Data}} -{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} -<div class="page-title"> Agordoj </div> - -<form id="settings-form" action="/settings" method="POST"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - {{if .PostFormats}} - <div class="settings-form-field"> - <label for="post-format"> Default format </label> - {{$defFormat := .Settings.DefaultFormat}} - <select id="post-format" name="format"> - {{range .PostFormats}} - <option value="{{.Type}}" {{if eq $defFormat .Type}}selected{{end}}>{{.Name}}</option> - {{end}} - </select> - </div> - {{end}} - <div class="settings-form-field"> - <label for="visibility"> Default scope </label> - <select id="visibility" name="visibility"> - <option value="public" {{if eq .Settings.DefaultVisibility "public"}}selected{{end}}>Publika</option> - <option value="unlisted" {{if eq .Settings.DefaultVisibility "unlisted"}}selected{{end}}>Nepublika</option> - <option value="private" {{if eq .Settings.DefaultVisibility "private"}}selected{{end}}>Privata</option> - <option value="direct" {{if eq .Settings.DefaultVisibility "direct"}}selected{{end}}>Rekta</option> - </select> - </div> - <div class="settings-form-field"> - <label for="notification-interval"> Reenlegado de sciigoj </label> - <select id="notification-interval" name="notification_interval"> - <option value="0" {{if eq .Settings.NotificationInterval 0}}selected{{end}}>Malŝaltita</option> - <option value="30" {{if eq .Settings.NotificationInterval 30}}selected{{end}}>Post 30s</option> - <option value="60" {{if eq .Settings.NotificationInterval 60}}selected{{end}}>Post 1m</option> - <option value="120" {{if eq .Settings.NotificationInterval 120}}selected{{end}}>Post 2m</option> - <option value="300" {{if eq .Settings.NotificationInterval 300}}selected{{end}}>Post 5m</option> - <option value="600" {{if eq .Settings.NotificationInterval 600}}selected{{end}}>Post 10m</option> - </select> - </div> - <div class="settings-form-field"> - <input id="copy-scope" name="copy_scope" type="checkbox" value="true" {{if .Settings.CopyScope}}checked{{end}}> - <label for="copy-scope"> Kopii celon respondante </label> - </div> - <div class="settings-form-field"> - <input id="thread-tab" name="thread_in_new_tab" type="checkbox" value="true" {{if .Settings.ThreadInNewTab}}checked{{end}}> - <label for="thread-tab"> Malfermi interparolojn ĉe novaj langentoj </label> - </div> - <div class="settings-form-field"> - <input id="hide-attachments" name="hide_attachments" type="checkbox" value="true" {{if .Settings.HideAttachments}}checked{{end}}> - <label for="hide-attachments"> Kaŝi kunsendataj dosieroj </label> - </div> - <div class="settings-form-field"> - <input id="mask-nsfw" name="mask_nsfw" type="checkbox" value="true" {{if .Settings.MaskNSFW}}checked{{end}}> - <label for="mask-nsfw"> Kaŝi konsternajn dosierojn </label> - </div> - <div class="settings-form-field"> - <input id="fluoride-mode" name="fluoride_mode" type="checkbox" value="true" {{if .Settings.FluorideMode}}checked{{end}}> - <label for="fluoride-mode"> Ŝalti <abbr title="Ŝalti Ĵavoskriptaj kapabloj aldonaj, ekz., ŝati/ripeti sen reenlego de paĝo kaj antaŭmontro de respondoj ĉe afiŝĉena paĝo">F¯ reĝimon</abbr> </label> - </div> - <div class="settings-form-field"> - <input id="anti-dopamine-mode" name="anti_dopamine_mode" type="checkbox" - value="true" {{if .Settings.AntiDopamineMode}}checked{{end}}> - <label for="anti-dopamine-mode"> Ŝalti <abbr title="Ne nombri ŝatojn/ripetojn/sciigojn kaj ne ricevi ŝatajn/ripetajn/aboniĝajn sciigojn">C₈H₁₁NO₂-kontraŭan reĝimon</abbr> </label> - </div> - <div class="settings-form-field"> - <input id="hide-unsupported-notifs" name="hide_unsupported_notifs" type="checkbox" - value="true" {{if .Settings.HideUnsupportedNotifs}}checked{{end}}> - <label for="hide-unsupported-notifs"> Kaŝi nesubtenatajn sciigojn </label> - </div> - <div class="settings-form-field"> - <input id="dark-mode" name="dark_mode" type="checkbox" value="true" {{if .Settings.DarkMode}}checked{{end}}> - <label for="dark-mode"> Uzi malhelan haŭton </label> - </div> - <div class="settings-form-field"> - <label for="css"> Propra CSS: </label> - </div> - <div> - <textarea id="css" name="css" cols="80" rows="8">{{.Settings.CSS}}</textarea> - </div> - <button type="submit"> Konservi </button> -</form> - -{{template "footer.tmpl"}} -{{end}} diff -rN -u "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/signin.tmpl" "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/signin.tmpl" --- "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/signin.tmpl" 2024-11-22 17:15:55.445621679 +0000 +++ "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/signin.tmpl" 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -{{with .Data}} -{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} -<div class="page-title"> Bloat </div> -<div class="signin-desc"> - Retejkliento por <a href="https://pleroma.social" target="_blank">Federujo</a>. -</div> - -<form class="signin-form" action="/signin" method="post"> - Entajpu la retnomon de via federuja servilo por saluti - <br/> - <input type="text" name="instance" placeholder="ekzemplo.com" required> - <br/> - <button type="submit"> Saluti </button> -</form> - -<p> - Vizitu - <a href="https://git.freesoftwareextremist.com/bloat" target="_blank">git.freesoftwareextremist.com/bloat</a> - por pliaj detaloj. -</P> - -{{template "footer.tmpl"}} -{{end}} diff -rN -u "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/status.tmpl" "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/status.tmpl" --- "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/status.tmpl" 2024-11-22 17:15:55.445621679 +0000 +++ "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/status.tmpl" 1970-01-01 00:00:00.000000000 +0000 @@ -1,247 +0,0 @@ -{{with .Data}} -<div id="status-{{.ID}}" class="status-container-container"> - {{if .Reblog}} - <div class="retweet-info"> - <a class="img-link" href="/user/{{.Account.ID}}"> - <img class="status-profile-img" src="{{.Account.Avatar}}" title="@{{.Account.Acct}}" alt="avatar" height="24" /> - </a> - <bdi class="status-dname"> {{EmojiFilter (HTML .Account.DisplayName) .Account.Emojis | Raw}} </bdi> - <a href="/user/{{.Account.ID}}"> - <span class="status-uname"> @{{.Account.Acct}} </span> - </a> - ripetiĝis - </div> - {{template "status" (WithContext .Reblog $.Ctx)}} - {{else}} - {{block "status" (WithContext . $.Ctx)}} - {{with $s := .Data}} - <div class="status-container status-{{.ID}}" data-id="{{.ID}}"> - <div class="status-profile-img-container"> - <a class="img-link" href="/user/{{.Account.ID}}"> - <img class="status-profile-img" src="{{.Account.Avatar}}" title="@{{.Account.Acct}}" alt="avatar" height="48" /> - </a> - </div> - <div class="status"> - <div class="status-name"> - <bdi class="status-dname"> {{EmojiFilter (HTML .Account.DisplayName) .Account.Emojis | Raw}} </bdi> - <a href="/user/{{.Account.ID}}"> - <span class="status-uname"> @{{.Account.Acct}} </span> - </a> - <div class="more-container"> - <div class="remote-link"> - {{if .IDNumbers}}#{{index .IDNumbers .ID}}{{end}} {{.Visibility}} - </div> - <div class="more-content"> - <a class="more-link" href="{{.URL}}" target="_blank"> - fonto - </a> - <a class="more-link" href="/quickreply/{{.ID}}#status-{{.ID}}"> - rapide respondi - </a> - {{if .Muted}} - <form action="/unmuteconv/{{.ID}}" method="post" target="_self"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <input type="submit" value="malsilentigi" class="btn-link more-link"> - </form> - {{else}} - <form action="/muteconv/{{.ID}}" method="post" target="_self"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <input type="submit" value="silentigi" class="btn-link more-link"> - </form> - {{end}} - {{if .Bookmarked}} - <form action="/unbookmark/{{.ID}}" method="post" target="_self"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <input type="hidden" name="retweeted_by_id" value="{{.RetweetedByID}}"> - <input type="submit" value="senlegosigni" class="btn-link more-link"> - </form> - {{else}} - <form action="/bookmark/{{.ID}}" method="post" target="_self"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <input type="hidden" name="retweeted_by_id" value="{{.RetweetedByID}}"> - <input type="submit" value="legosigni" class="btn-link more-link"> - </form> - {{end}} - {{if eq $.Ctx.UserID .Account.ID}} - <form action="/delete/{{.ID}}" method="post" target="_self"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <input type="submit" value="forigi" class="btn-link more-link"> - </form> - {{end}} - </div> - </div> - </div> - <div class="status-reply-container"> - {{if .InReplyToID}} - <a class="status-reply-to-link" href="{{if not .ShowReplies}}/thread/{{.InReplyToID}}{{end}}#status-{{.InReplyToID}}"> - responde al {{if .IDNumbers}}#{{index .IDNumbers .InReplyToID}}{{end}} {{if .Pleroma.InReplyToAccountAcct}}@{{.Pleroma.InReplyToAccountAcct}}{{else if not .IDNumbers}}{{.InReplyToID}}{{end}} - </a> - {{if index .IDReplies .ID}} <span class="status-reply-info-divider"> - </span> {{end}} - {{end}} - {{if .ShowReplies}} - {{if index .IDReplies .ID}} <span class="status-reply-text"> respondoj: </span> {{end}} - {{range index .IDReplies .ID}} - <a class="status-reply-link" href="#status-{{.ID}}">#{{.Number}}</a> - {{end}} - {{end}} - </div> - {{if (or .Content .SpoilerText)}} - <div class="status-content"> - {{if .SpoilerText}}{{EmojiFilter (HTML .SpoilerText) .Emojis | Raw}}<br/>{{end}} - {{StatusContentFilter .Content .Emojis .Mentions | Raw}} - </div> - {{end}} - {{if .MediaAttachments}} - <div class="status-media-container"> - {{range .MediaAttachments}} - - {{if eq .Type "image"}} - {{if $.Ctx.HideAttachments}} - <a href="{{.URL}}" target="_blank"> - [image{{if $s.Sensitive}}/nsfw{{end}}{{if .Description}}: {{.Description}}{{end}}] - </a> - {{else}} - <a class="img-link" href="{{.URL}}" target="_blank" title="{{.Description}}"> - <img class="status-image" src="{{.PreviewURL}}" alt="status-image" height="240" /> - {{if (and $.Ctx.MaskNSFW $s.Sensitive)}} - <img src="https://jam.xwx.moe/static/bildoj/konsterna.jpg" class="status-nsfw-overlay"/> - {{end}} - </a> - {{end}} - - {{else if eq .Type "audio"}} - {{if $.Ctx.HideAttachments}} - <a href="{{.URL}}" target="_blank"> - [audio{{if $s.Sensitive}}/nsfw{{end}}{{if .Description}}: {{.Description}}{{end}}] - </a> - {{else}} - <audio class="status-audio" controls title="{{.Description}}"> - <source src="{{.URL}}"> - <a href="{{.URL}}" target="_blank"> [audio] </a> - </audio> - {{end}} - - {{else if eq .Type "video"}} - {{if $.Ctx.HideAttachments}} - <a href="{{.URL}}" target="_blank"> - [video{{if $s.Sensitive}}/nsfw{{end}}{{if .Description}}: {{.Description}}{{end}}] - </a> - {{else}} - <div class="status-video-container" title="{{.Description}}"> - <video class="status-video" controls height="240"> - <source src="{{.URL}}"> - <a href="{{.URL}}" target="_blank"> [video] </a> - </video> - {{if (and $.Ctx.MaskNSFW $s.Sensitive)}} - <img src="https://jam.xwx.moe/static/bildoj/konsterna.jpg" class="status-nsfw-overlay"/> - {{end}} - </div> - {{end}} - - {{else}} - <a href="{{.URL}}" target="_blank"> - [attachment{{if $s.Sensitive}}/nsfw{{end}}{{if .Description}}: {{.Description}}{{end}}] - </a> - {{end}} - {{end}} - </div> - {{end}} - {{if .Poll}} - <form class="poll-form" action="/vote/{{.Poll.ID}}" method="POST" target="_self"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <input type="hidden" name="status_id" value="{{$s.ID}}"> - {{range $i, $o := .Poll.Options}} - <div class="poll-option"> - {{if (or $s.Poll.Expired $s.Poll.Voted)}} - <div> {{EmojiFilter (HTML $o.Title) $s.Emojis | Raw}} - {{$o.VotesCount}} votes </div> - {{else}} - <input type="{{if $s.Poll.Multiple}}checkbox{{else}}radio{{end}}" name="choices" - id="poll-{{$s.ID}}-{{$i}}" value="{{$i}}"> - <label for="poll-{{$s.ID}}-{{$i}}"> - {{EmojiFilter (HTML $o.Title) $s.Emojis | Raw}} - </label> - {{end}} - </div> - {{end}} - {{if not (or .Poll.Expired .Poll.Voted)}} - <button type="submit"> Voĉdoni </button> - {{end}} - <div class="poll-info"> - <span>{{.Poll.VotesCount}} voĉdonoj</span> - {{if .Poll.Expired}} - <span> - enketo finiĝis </span> - {{else if .Poll.ExpiresAt}} - <span> - - enketo finiĝos je - <time datetime="{{FormatTimeRFC3339 .Poll.ExpiresAt}}" title="{{FormatTimeRFC822 .Poll.ExpiresAt}}"> - {{TimeUntil .Poll.ExpiresAt}} - </time> - </span> - {{end}} - </div> - </form> - {{end}} - <div class="status-action-container"> - <div class="status-action"> - <a href="/thread/{{.ID}}?reply=true#status-{{.ID}}"> - respondi - </a> - <a class="status-reply-count" href="/thread/{{.ID}}#status-{{.ID}}" {{if $.Ctx.ThreadInNewTab}}target="_blank"{{end}}> - {{if and (not $.Ctx.AntiDopamineMode) .RepliesCount}} - ({{DisplayInteractionCount .RepliesCount}}) - {{end}} - </a> - </div> - <div class="status-action"> - {{$rt := "ripeti"}} {{if .Reblogged}} {{$rt = "malripeti"}} {{end}} - {{$rtaction := "retweet"}} {{if .Reblogged}} {{$rtaction = "unretweet"}} {{end}} - <form class="status-retweet" data-action="{{$rtaction}}" action="/{{$rtaction}}/{{.ID}}" method="post" target="_self"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <input type="hidden" name="retweeted_by_id" value="{{.RetweetedByID}}"> - <input type="submit" value="{{$rt}}" class="btn-link" - {{if or (eq .Visibility "private") (eq .Visibility "direct")}}title="ĉi tiu afiŝo ne povas ripetiĝi" disabled{{end}}> - <a class="status-retweet-count" href="/retweetedby/{{.ID}}" title="klaki por montri la liston"> - {{if and (not $.Ctx.AntiDopamineMode) .ReblogsCount}} - ({{DisplayInteractionCount .ReblogsCount}}) - {{end}} - </a> - </form> - </div> - <div class="status-action"> - {{$like := "ŝati"}} {{if .Favourited}} {{$like = "senŝati"}} {{end}} - {{$likeaction := "like"}} {{if .Favourited}} {{$likeaction = "unlike"}} {{end}} - <form class="status-like" data-action="{{$likeaction}}" action="/{{$likeaction}}/{{.ID}}" method="post" target="_self"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <input type="hidden" name="retweeted_by_id" value="{{.RetweetedByID}}"> - <input type="submit" value="{{$like}}" class="btn-link"> - <a class="status-like-count" href="/likedby/{{.ID}}" title="klaki por montri la liston"> - {{if and (not $.Ctx.AntiDopamineMode) .FavouritesCount}} - ({{DisplayInteractionCount .FavouritesCount}}) - {{end}} - </a> - </form> - </div> - <div class="status-action status-action-last"> - <a class="status-time" href="{{if not .ShowReplies}}/thread/{{.ID}}{{end}}#status-{{.ID}}" - {{if $.Ctx.ThreadInNewTab}}target="_blank"{{end}}> - <time datetime="{{FormatTimeRFC3339 .CreatedAt.Time}}" title="{{FormatTimeRFC822 .CreatedAt.Time}}"> - {{TimeSince .CreatedAt.Time}} - </time> - </a> - </div> - </div> - </div> - </div> - {{end}} - {{end}} - {{end}} -</div> -{{end}} diff -rN -u "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/thread.tmpl" "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/thread.tmpl" --- "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/thread.tmpl" 2024-11-22 17:15:55.445621679 +0000 +++ "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/thread.tmpl" 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -{{with $s := .Data}} -{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} -<div class="page-title-container"> - <span class="page-title"> Interparolo </span> - <a class="page-refresh" href="{{$.Ctx.Referrer}}" accesskey="T" title="Reenlegi (T)">reenlegi</a> -</div> - -{{range .Statuses}} - -{{template "status.tmpl" (WithContext . $.Ctx)}} -{{if $s.PostContext.ReplyContext}}{{if eq .ID $s.PostContext.ReplyContext.InReplyToID}} -{{template "postform.tmpl" (WithContext $s.PostContext $.Ctx)}} -{{end}}{{end}} - -{{end}} - -{{template "footer.tmpl"}} -{{end}} diff -rN -u "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/timeline.tmpl" "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/timeline.tmpl" --- "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/timeline.tmpl" 2024-11-22 17:15:55.445621679 +0000 +++ "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/timeline.tmpl" 1970-01-01 00:00:00.000000000 +0000 @@ -1,32 +0,0 @@ -{{with .Data}} -{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} -<div class="page-title-container"> - <span class="page-title"> {{.Title}} </span> - <a class="page-refresh" href="{{$.Ctx.Referrer}}" accesskey="T" title="Reenlegi (T)">reenlegi</a> -</div> - -{{if eq .Type "remote"}} -<form class="search-form" action="/timeline/remote" method="GET"> - <span class="post-form-field"> - <label for="instance"> Noda retnomo </label> - <input id="instance" name="instance" value="{{.Instance}}"> - </span> - <button type="submit"> Serĉi </button> -</form> -{{end}} - -{{range .Statuses}} -{{template "status.tmpl" (WithContext . $.Ctx)}} -{{end}} - -<div class="pagination"> - {{if .PrevLink}} - <a href="{{.PrevLink}}">[antaŭa]</a> - {{end}} - {{if .NextLink}} - <a href="{{.NextLink}}">[sekva]</a> - {{end}} -</div> - -{{template "footer.tmpl"}} -{{end}} diff -rN -u "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/userlistitem.tmpl" "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/userlistitem.tmpl" --- "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/userlistitem.tmpl" 2024-11-22 17:15:55.445621679 +0000 +++ "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/userlistitem.tmpl" 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -{{with .Data}} -<div class="user-list-item"> - <div class="user-list-profile-img"> - <a class="img-link" href="/user/{{.ID}}"> - <img class="status-profile-img" src="{{.Avatar}}" title="@{{.Acct}}" alt="avatar" height="48" /> - </a> - </div> - <div class="user-list-name"> - <div class="status-dname"> {{EmojiFilter (HTML .DisplayName) .Emojis | Raw}} </div> - <a class="img-link" href="/user/{{.ID}}"> - <div class="status-uname"> @{{.Acct}} </div> - </a> - </div> -</div> -{{end}} diff -rN -u "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/userlist.tmpl" "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/userlist.tmpl" --- "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/userlist.tmpl" 2024-11-22 17:15:55.445621679 +0000 +++ "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/userlist.tmpl" 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -{{with .Data}} -<div> - {{range .}} - {{template "userlistitem.tmpl" (WithContext . $.Ctx)}} - {{else}} - <div class="no-data-found">No data found</div> - {{end}} -</div> -{{else}} -<div class="no-data-found">No data found</div> -{{end}} diff -rN -u "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/usersearch.tmpl" "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/usersearch.tmpl" --- "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/usersearch.tmpl" 2024-11-22 17:15:55.445621679 +0000 +++ "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/usersearch.tmpl" 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ -{{with .Data}} -{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} -<div class="page-title"> Search {{EmojiFilter (HTML .User.DisplayName) .User.Emojis | Raw}}'s statuses </div> - -<form class="search-form" action="/usersearch/{{.User.ID}}" method="GET"> - <span class="post-form-field"> - <label for="query"> Query </label> - <input id="query" name="q" value="{{.Q}}"> - </span> - <button type="submit"> Search </button> -</form> - -{{range .Statuses}} -{{template "status.tmpl" (WithContext . $.Ctx)}} -{{else}} -{{if .Q}}<div class="no-data-found">No data found</div>{{end}} -{{end}} - -<div class="pagination"> - {{if .NextLink}} - <a href="{{.NextLink}}">[next]</a> - {{end}} -</div> - -{{template "footer.tmpl"}} -{{end}} diff -rN -u "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/user.tmpl" "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/user.tmpl" --- "old-jam-xwx-moe/bloat/instance/\305\235ablonoj/user.tmpl" 2024-11-22 17:15:55.445621679 +0000 +++ "new-jam-xwx-moe/bloat/instance/\305\235ablonoj/user.tmpl" 1970-01-01 00:00:00.000000000 +0000 @@ -1,195 +0,0 @@ -{{with .Data}} -{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} -<div class="page-title"> Uzanto </div> - -<div class="user-info-container"> -<div> - <div class="user-profile-img-container"> - <a class="img-link" href="{{.User.Avatar}}" target="_blank"> - <img class="user-profile-img" src="{{.User.Avatar}}" alt="profile-avatar" height="96" /> - </a> - </div> - <div class="user-profile-details-container"> - <div> - <bdi class="status-dname"> {{EmojiFilter (HTML .User.DisplayName) .User.Emojis | Raw}} </bdi> - <span class="status-uname"> @{{.User.Acct}} </span> - <a class="remote-link" href="{{.User.URL}}" target="_blank" title="remote profile"> - source - </a> - </div> - {{if not .IsCurrent}} - <div> - <span> {{if .User.Pleroma.Relationship.FollowedBy}} follows you - {{end}} </span> - {{if .User.Pleroma.Relationship.BlockedBy}} blocks you - {{end}} - {{if .User.Pleroma.Relationship.Following}} - <form class="d-inline" action="/unfollow/{{.User.ID}}" method="post"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <input type="submit" value="malaboni" class="btn-link"> - </form> - {{else}} - <form class="d-inline" action="/follow/{{.User.ID}}" method="post"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <input type="submit" value="{{if .User.Pleroma.Relationship.Requested}}resend request{{else}}aboni{{end}}" class="btn-link"> - </form> - {{end}} - {{if .User.Pleroma.Relationship.Requested}} - - - <form class="d-inline" action="/unfollow/{{.User.ID}}" method="post"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <input type="submit" value="nuligi peton" class="btn-link"> - </form> - {{end}} - - - {{if .User.Pleroma.Relationship.Subscribing}} - <form class="d-inline" action="/unsubscribe/{{.User.ID}}" method="post"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <input type="submit" value="nuligi duonabonon" class="btn-link"> - </form> - {{else}} - <form class="d-inline" action="/subscribe/{{.User.ID}}" method="post"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <input type="submit" value="duonaboni" class="btn-link"> - </form> - {{end}} - </div> - <div> - {{if .User.Pleroma.Relationship.Blocking}} - <form class="d-inline" action="/unblock/{{.User.ID}}" method="post"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <input type="submit" value="malbloki" class="btn-link"> - </form> - {{else}} - <form class="d-inline" action="/block/{{.User.ID}}" method="post"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <input type="submit" value="bloki" class="btn-link"> - </form> - {{end}} - - - {{if .User.Pleroma.Relationship.Muting}} - <form class="d-inline" action="/unmute/{{.User.ID}}" method="post"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <input type="submit" value="malsilentigi" class="btn-link"> - </form> - {{else}} - <a href="/mute/{{.User.ID}}"> silentigi </a> - {{end}} - {{if .User.Pleroma.Relationship.Following}} - - - {{if .User.Pleroma.Relationship.ShowingReblogs}} - <form class="d-inline" action="/follow/{{.User.ID}}?reblogs=false" method="post"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <input type="submit" value="kaŝi ripetojn" class="btn-link"> - </form> - {{else}} - <form class="d-inline" action="/follow/{{.User.ID}}" method="post"> - <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> - <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> - <input type="submit" value="montri ripetojn" class="btn-link"> - </form> - {{end}} - {{end}} - </div> - {{end}} - <div> - <a href="/user/{{.User.ID}}"> statuses ({{.User.StatusesCount}}) </a> - - <a href="/user/{{.User.ID}}/following"> abonatoj ({{.User.FollowingCount}}) </a> - - <a href="/user/{{.User.ID}}/followers"> abonantoj ({{.User.FollowersCount}}) </a> - - <a href="/user/{{.User.ID}}/media"> dosieroj </a> - </div> - {{if .IsCurrent}} - <div> - <a href="/user/{{.User.ID}}/bookmarks"> legosignoj </a> - - <a href="/user/{{.User.ID}}/likes"> ŝatataj </a> - - <a href="/user/{{.User.ID}}/mutes"> silentigitaj </a> - - <a href="/user/{{.User.ID}}/blocks"> blokitaj </a> - {{if .User.Locked}}- <a href="/user/{{.User.ID}}/requests"> petoj </a>{{end}} - </div> - {{end}} - <div> - <a href="/usersearch/{{.User.ID}}"> serĉi afiŝojn </a> - {{if .IsCurrent}} - <a href="/filters"> filtriloj </a> {{end}} - </div> - </div> - <div class="user-profile-decription"> - {{EmojiFilter .User.Note .User.Emojis | Raw}} - </div> - {{if .User.Fields}} - <div class="user-fields"> - {{range .User.Fields}} - <div>{{EmojiFilter .Name $.Data.User.Emojis | Raw}} - {{EmojiFilter .Value $.Data.User.Emojis | Raw}}</div> - {{end}} - </div> - {{end}} -</div> -</div> - -{{if eq .Type ""}} -<div class="page-title"> Afiŝoj </div> -{{range .Statuses}} -{{template "status.tmpl" (WithContext . $.Ctx)}} -{{else}} -<div class="no-data-found">Neniu datumo trovita</div> -{{end}} - -{{else if eq .Type "following"}} -<div class="page-title"> Abonataj </div> -{{template "userlist.tmpl" (WithContext .Users $.Ctx)}} - -{{else if eq .Type "followers"}} -<div class="page-title"> Abonantoj </div> -{{template "userlist.tmpl" (WithContext .Users $.Ctx)}} - -{{else if eq .Type "media"}} -<div class="page-title"> Afiŝoj kun dosieroj </div> -{{range .Statuses}} -{{template "status.tmpl" (WithContext . $.Ctx)}} -{{else}} -<div class="no-data-found">Neniu datumo trovita</div> -{{end}} - -{{else if eq .Type "bookmarks"}} -<div class="page-title"> Legosignoj </div> -{{range .Statuses}} -{{template "status.tmpl" (WithContext . $.Ctx)}} -{{else}} -<div class="no-data-found">Neniu datumo trovita</div> -{{end}} - -{{else if eq .Type "likes"}} -<div class="page-title"> Ŝatataj </div> -{{range .Statuses}} -{{template "status.tmpl" (WithContext . $.Ctx)}} -{{else}} -<div class="no-data-found">Neniu datumo trovita</div> -{{end}} - -{{else if eq .Type "mutes"}} -<div class="page-title"> Silentigitaj </div> -{{template "userlist.tmpl" (WithContext .Users $.Ctx)}} - -{{else if eq .Type "blocks"}} -<div class="page-title"> Blocks </div> -{{template "userlist.tmpl" (WithContext .Users $.Ctx)}} - -{{else if eq .Type "requests"}} -<div class="page-title"> Abonpetoj </div> -{{template "requestlist.tmpl" (WithContext .Users $.Ctx)}} -{{end}} - -<div class="pagination"> - {{if .NextLink}} - <a href="{{.NextLink}}">[sekva]</a> - {{end}} -</div> - -{{template "footer.tmpl"}} -{{end}} diff -rN -u old-jam-xwx-moe/bloat-fe/bloat.conf new-jam-xwx-moe/bloat-fe/bloat.conf --- old-jam-xwx-moe/bloat-fe/bloat.conf 1970-01-01 00:00:00.000000000 +0000 +++ new-jam-xwx-moe/bloat-fe/bloat.conf 2024-11-22 17:15:55.445621679 +0000 @@ -0,0 +1,45 @@ +# Format: +# - Lines starting with a '#' are ignored +# - Key and Value are separated by a single '=' +# - Leading and trailing white spaces in Key and Value are ignored +# - Quoting and multi-line values are not supported + +# Address to listen to. Value can be of "HOSTNAME:PORT" or "IP:PORT" form. In +# case of empty HOSTNAME or IP, "0.0.0.0:PORT" is used. +# Example: ":8080", "bloat.mydomain.com" +listen_address=127.0.0.1:8090 + +# Full URL of the website. Users will be redirected to this URL after +# authentication. +# Example: "http://localhost:8080", "https://bloat.mydomain.com" +client_website=https://jam.xwx.moe:1337 + +# Name of the client. +client_name=Mancardo Jamada + +# Mastadon scopes used by the client. +# See https://docs.joinmastodon.org/api/oauth-scopes/ +client_scope=read write follow + +# Path of directory containing template files. +templates_path=instance/ŝablonoj + +# Path of directory containing static files (CSS and JS). +static_directory=instance/ktp + +# Supported post formats. Value is a list of key:value pair separated by a ','. +# Empty value will disable the format selection in frontend. +post_formats=PlainText:text/plain,HTML:text/html,Markdown:text/markdown,BBCode:text/bbcode + +# Log file. Will log to stdout if value is empty. +# log_file=log + +# In single instance mode, bloat will not ask for instance domain name and +# user will be directly redirected to login form. User login from other +# instances is not allowed in this mode. +# Empty value disables single instance mode. +single_instance=jam.xwx.moe + +# Path to custom CSS. Value can be a file path relative to the static directory. +# or a URL starting with either "http://" or "https://". +# custom_css=custom.css Binary files old-jam-xwx-moe/bloat-fe/instance/ktp/favicon.png and new-jam-xwx-moe/bloat-fe/instance/ktp/favicon.png differ diff -rN -u old-jam-xwx-moe/bloat-fe/instance/ktp/fluoride.js new-jam-xwx-moe/bloat-fe/instance/ktp/fluoride.js --- old-jam-xwx-moe/bloat-fe/instance/ktp/fluoride.js 1970-01-01 00:00:00.000000000 +0000 +++ new-jam-xwx-moe/bloat-fe/instance/ktp/fluoride.js 2024-11-22 17:15:55.445621679 +0000 @@ -0,0 +1,332 @@ +// @license magnet:?xt=urn:btih:90dc5c0be029de84e523b9b3922520e79e0e6f08&dn=cc0.txt CC0 + +var reverseActions = { + "like": "senŝati", + "unlike": "ŝati", + "retweet": "malripeti", + "unretweet": "ripeti" +}; + +var csrfToken = ""; +var antiDopamineMode = false; + +function checkCSRFToken() { + var tag = document.querySelector("meta[name='csrf_token']"); + if (tag) + csrfToken = tag.getAttribute("content"); +} + +function checkAntiDopamineMode() { + var tag = document.querySelector("meta[name='antidopamine_mode']"); + if (tag) + antiDopamineMode = tag.getAttribute("content") === "true"; +} + +function http(method, url, body, type, success, error) { + var req = new XMLHttpRequest(); + req.onload = function() { + if (this.status === 200 && typeof success === "function") { + success(this.responseText, this.responseType); + } else if (typeof error === "function") { + error(this.responseText); + } + }; + req.onerror = function() { + if (typeof error === "function") { + error(this.responseText); + } + }; + req.open(method, url); + req.setRequestHeader("Content-Type", type); + req.send(body); +} + +function updateActionForm(id, f, action) { + f.querySelector("[type='submit']").value = action; + f.action = "/" + action + "/" + id; + f.dataset.action = action; +} + +function handleLikeForm(id, f) { + f.onsubmit = function(event) { + event.preventDefault(); + + var action = f.dataset.action; + var forms = document. + querySelectorAll(".status-"+id+" .status-like"); + for (var i = 0; i < forms.length; i++) { + updateActionForm(id, forms[i], reverseActions[action]); + } + + var body = "csrf_token=" + encodeURIComponent(csrfToken); + var contentType = "application/x-www-form-urlencoded"; + http("POST", "/fluoride/" + action + "/" + id, + body, contentType, function(res, type) { + + if (antiDopamineMode) + return; + var data = JSON.parse(res); + var count = data.data; + if (count === 0) + count = ""; + var counts = document. + querySelectorAll(".status-"+id+" .status-like-count"); + for (var i = 0; i < counts.length; i++) { + if (count > 0) { + counts[i].innerHTML = "(" + count + ")"; + } else { + counts[i].innerHTML = ""; + } + } + }, function(err) { + for (var i = 0; i < forms.length; i++) { + updateActionForm(id, forms[i], action); + } + }); + } +} + +function handleRetweetForm(id, f) { + f.onsubmit = function(event) { + event.preventDefault(); + + var action = f.dataset.action; + var forms = document. + querySelectorAll(".status-"+id+" .status-retweet"); + for (var i = 0; i < forms.length; i++) { + updateActionForm(id, forms[i], reverseActions[action]); + } + + var body = "csrf_token=" + encodeURIComponent(csrfToken); + var contentType = "application/x-www-form-urlencoded"; + http("POST", "/fluoride/" + action + "/" + id, + body, contentType, function(res, type) { + + if (antiDopamineMode) + return; + var data = JSON.parse(res); + var count = data.data; + if (count === 0) + count = ""; + var counts = document. + querySelectorAll(".status-"+id+" .status-retweet-count"); + for (var i = 0; i < counts.length; i++) { + if (count > 0) { + counts[i].innerHTML = "(" + count + ")"; + } else { + counts[i].innerHTML = ""; + } + } + }, function(err) { + for (var i = 0; i < forms.length; i++) { + updateActionForm(id, forms[i], action); + } + }); + } +} + +function isInView(el) { + var ract = el.getBoundingClientRect(); + if (ract.top > 0 && ract.bottom < window.innerHeight) + return true; + return false; +} + +function handleReplyToLink(a) { + if (!a) + return; + var id = a.getAttribute("href"); + if (!id || id[0] != "#") + return; + a.onmouseenter = function(event) { + var id = event.target.getAttribute("href"); + var status = document.querySelector(id); + if (!status) + return; + if (isInView(status)) { + status.classList.add("highlight"); + } else { + var copy = status.cloneNode(true); + copy.id = "reply-to-popup"; + var ract = event.target.getBoundingClientRect(); + copy.style["max-width"] = (window.innerWidth - ract.left - 32) + "px"; + if (ract.top > window.innerHeight / 2) { + copy.style.bottom = (window.innerHeight - + window.scrollY - ract.top) + "px"; + } + event.target.parentElement.appendChild(copy); + } + } + a.onmouseleave = function(event) { + var popup = document.getElementById("reply-to-popup"); + if (popup) { + event.target.parentElement.removeChild(popup); + } else { + var id = event.target.getAttribute("href"); + document.querySelector(id) + .classList.remove("highlight"); + } + } +} + +function handleReplyLink(a) { + a.onmouseenter = function(event) { + var id = event.target.getAttribute("href"); + var status = document.querySelector(id); + if (!status) + return; + if (isInView(status)) { + status.classList.add("highlight"); + } else { + var copy = status.cloneNode(true); + copy.id = "reply-popup"; + var ract = event.target.getBoundingClientRect(); + copy.style["max-width"] = (window.innerWidth - 98) + "px"; + if (ract.left > window.innerWidth / 2) { + copy.style.right = (window.innerWidth - + ract.right - 12) + "px"; + } + event.target.parentElement.appendChild(copy); + } + } + a.onmouseleave = function(event) { + var popup = document.getElementById("reply-popup"); + if (popup) { + event.target.parentElement.removeChild(popup); + } else { + var id = event.target.getAttribute("href"); + document.querySelector(id).classList.remove("highlight"); + } + } +} + +function handleStatusLink(a) { + if (a.classList.contains("mention")) + a.removeAttribute("target"); + else + a.target = "_blank"; +} + +function setPos(el, cx, cy, mw, mh) { + var h = el.clientHeight; + var w = el.clientWidth; + var left, top; + if (cx < mw/2) { + if (w + cx + 20 < mw) { + left = cx + 20; + } else { + left = (mw - w); + } + } else { + if (cx - w - 20 > 0) { + left = cx - w - 20; + } else { + left = 0; + } + } + top = (cy - (h/2)); + if (top < 0) { + top = 0; + } else if (top + h > mh) { + top = (mh - h); + } + el.style.left = left + "px"; + el.style.top = top + "px"; +} + +var imgPrev = null; +var imgX = 0; +var imgY = 0; +function handleImgPreview(a) { + a.onmouseenter = function(e) { + var mw = document.documentElement.clientWidth; + var mh = document.documentElement.clientHeight - 24; + imgX = e.clientX; + imgY = e.clientY; + var img = document.createElement("img"); + img.id = "img-preview"; + img.src = e.target.getAttribute("href"); + img.style["max-width"] = mw + "px"; + img.style["max-height"] = mh + "px"; + imgPrev = img; + img.onload = function(e2) { + setPos(imgPrev, imgX, imgY, mw, mh); + } + document.body.appendChild(img); + } + a.onmouseleave = function(e) { + var img = document.getElementById("img-preview"); + if (img) + document.body.removeChild(img); + imgPrev = null; + } + a.onmousemove = function(e) { + if (!imgPrev) + return; + var mw = document.documentElement.clientWidth; + var mh = document.documentElement.clientHeight - 24; + imgX = e.clientX; + imgY = e.clientY; + setPos(imgPrev, imgX, imgY, mw, mh); + } +} + +function onPaste(e) { + if (!e.clipboardData.files) + return; + var fp = document.querySelector("#post-file-picker") + var dt = new DataTransfer(); + for (var i = 0; i < fp.files.length; i++) { + dt.items.add(fp.files[i]); + } + for (var i = 0; i < e.clipboardData.files.length; i++) { + dt.items.add(e.clipboardData.files[i]); + } + fp.files = dt.files; +} + +document.addEventListener("DOMContentLoaded", function() { + checkCSRFToken(); + checkAntiDopamineMode(); + + var statuses = document.querySelectorAll(".status-container"); + for (var i = 0; i < statuses.length; i++) { + var s = statuses[i]; + var id = s.dataset.id; + + var likeForm = s.querySelector(".status-like"); + handleLikeForm(id, likeForm); + + var retweetForm = s.querySelector(".status-retweet"); + handleRetweetForm(id, retweetForm); + + var replyToLink = s.querySelector(".status-reply-to-link"); + handleReplyToLink(replyToLink); + + var replyLinks = s.querySelectorAll(".status-reply-link"); + for (var j = 0; j < replyLinks.length; j++) { + handleReplyLink(replyLinks[j]); + } + + var links = s.querySelectorAll(".status-content a"); + for (var j = 0; j < links.length; j++) { + handleStatusLink(links[j]); + } + } + + var links = document.querySelectorAll(".user-profile-decription a, .user-fields a"); + for (var j = 0; j < links.length; j++) { + links[j].target = "_blank"; + } + + var links = document.querySelectorAll(".status-media-container .img-link"); + for (var j = 0; j < links.length; j++) { + handleImgPreview(links[j]); + } + + var pf = document.querySelector(".post-form") + if (pf) + pf.addEventListener("paste", onPaste); +}); + +// @license-end diff -rN -u old-jam-xwx-moe/bloat-fe/instance/ktp/style.css new-jam-xwx-moe/bloat-fe/instance/ktp/style.css --- old-jam-xwx-moe/bloat-fe/instance/ktp/style.css 1970-01-01 00:00:00.000000000 +0000 +++ new-jam-xwx-moe/bloat-fe/instance/ktp/style.css 2024-11-22 17:15:55.445621679 +0000 @@ -0,0 +1,648 @@ +body { + background-color: #f7f7f7; +} + +.status-container-container { + margin: 0 -4px 12px -4px; + padding: 4px; + border-left: 4px solid transparent; +} + +.status-container-container:target { + background-color: #faf0bb; +} + +.status-container-container.highlight { + background-color: #faf0bb; +} + +.status-container { + display: flex; +} + +.status-content { + margin: 4px 0; + max-height: 600px; + overflow: auto; + overflow-wrap: break-word; +} + +.status-name { + overflow-wrap: break-word; +} + +.status-content p { + margin: 0px; +} + +.status-content img, +.status-image, +.status-video { + height: auto; + width: auto; + max-height: 240px; + max-width: 280px; + vertical-align: bottom; + object-fit: contain; +} + +.status-media-container { + margin: 5px 0 -5px 0; + overflow: auto; +} + +.status-media-container>a { + margin-bottom: 5px; + display: inline-block; +} + +.status-profile-img-container { + margin-right: 8px; + display: inline-block; + vertical-align: top; +} + +.status-profile-img { + height: 48px; + width: 48px; + min-height: 48px; + min-width: 48px; + max-height: 48px; + max-width: 48px; + vertical-align: top; + object-fit: contain; + margin-top: 2px; +} + +.status { + display: inline-block; + vertical-align: top; + flex: 1; + min-width: 0; +} + +.status-dname { + font-weight: 800; +} + +.status-uname { + font-style: italic; + font-size: 10pt; +} + +.status-action-container { + margin-top: 4px; +} + +.status-action { + display: inline-block; + margin-right: 16px; +} + +.status-action-last { + margin-right: 4px; +} + +.status-action form { + display: inline-block; +} + +.status-action a { + display: inline-block; +} + +.status-action * { + vertical-align: middle; +} + +.status-action a.status-time { + width: auto; +} + +.page-title { + font-size: 18pt; + margin: 8px 0; + background-color: #e2c2f2; +} + +.post-form { + margin: 4px 0; +} + +.post-form>div { + margin-bottom: 4px; +} + +.signin-form { + margin: 8px 0; +} + +.signin-form input { + margin: 4px 0; +} + +.retweet-info { + margin: 0 0 4px 24px; + overflow-wrap: break-word; +} + +.retweet-info .status-profile-img { + height: 24px; + width: 24px; + min-height: 24px; + min-width: 24px; + max-height: 24px; + max-width: 24px; + vertical-align: middle; +} + +.retweet-info .status-dname { + margin-left: 4px; +} + +textarea { + padding: 4px; + font-size: 11pt; + font-family: initial; +} + +.post-content { + box-sizing: border-box; + width: 100%; +} + +#css { + box-sizing: border-box; + max-width: 100%; +} + +.pagination { + margin: 4px 4px 12px 4px; +} + +.pagination a { + margin: 0 8px; + font-size: 13pt; +} + +.notification-container { + margin: 0 -4px 12px -4px; + padding: 4px; + border-left: 4px solid transparent; +} + +.notification-container.unread { + border-color: #777777; +} + +.notification-container .status-container { + opacity: 0.6; +} + +.notification-container.mention .status-container { + opacity: unset; +} + +.notification-info-text span { + vertical-align: middle; +} + +.notification-follow-container { + overflow: auto; + display: flex; + align-items: center; +} + +.notification-follow { + overflow: auto; +} + +.notification-time { + margin-left: 8px; +} + +.status-reply-to-link { + font-size: 10pt +} + +.status-reply-container { + overflow-wrap: break-word; +} + +.status-reply-container .fa { + font-size: 10pt; + vertical-align: sub; + margin-right: -2px; +} + +.status-reply-text { + font-size: 10pt; +} + +.status-reply-link { + font-size: 10pt; +} + +.status-reply-info-divider { + margin: 0 4px; +} + +.post-content-container { + padding-right: 8px; +} + +.error-text { + margin: 8px 0; +} + +.post-attachment-div { + margin: 2px 0; +} + +.user-profile-img-container { + display: inline-block; + margin: 0 4px 4px 0; +} + +.user-profile-details-container { + display: inline-block; + vertical-align: top; +} + +.user-profile-details-container>div { + margin-bottom: 4px; +} + +.user-profile-img { + height: 96px; + width: 96px; + vertical-align: top; + object-fit: contain; + margin-top: 2px; +} + +.user-profile-decription, +.user-fields { + overflow-wrap: break-word; + margin: 8px 0; +} + +.user-profile-decription p { + margin: 0; +} + +.user-profile-decription img { + height: auto; + width: auto; + max-height: 240px; + max-width: 280px; + object-fit: contain; +} + +.d-inline { + display: inline; +} + +.p-0 { + padding: 0; +} + +.btn-link { + border: none; + outline: none; + background: none; + cursor: pointer; + padding: 0; + font-family: inherit; + font-size: inherit; +} + +a, .btn-link { + color: #806c0d; + text-decoration: none; +} + +a:hover, +.btn-link:hover { + color: #806c0d; + text-decoration: underline; +} + +.status-visibility { + margin-left: 4px; + display: inline-block; + color: #222222; + font-size: 8pt; +} + +.remote-link { + margin-left: 4px; + font-size: 8pt; +} + +.img-link { + display: inline-block; + position: relative; +} + +.status-media-container .img-link { + width: 384px; +} + +.status-profile-img-container .img-link { + width: 48px; +} + +.status-nsfw-overlay { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + background-color: #a7bbb9; + color: #a7bbb9; + height: 240px; + max-height: 100%; +} + +.img-link:hover .status-nsfw-overlay { + display: none; +} + +.status-video-container { + display: inline-block; + position: relative; + margin-bottom: 5px; +} + +.status-video-container:hover .status-nsfw-overlay { + display: none; +} + +.emoji-item-container { + width: 220px; + display: inline-block; + margin: 4px 0; + overflow: hidden; +} + +.emoji-item { + display: flex; + align-items: center; +} + +img.emoji { + height: auto; + width: auto; + max-height: 32px; + max-width: 32px; + min-height: 32px; + min-width: 32px; + vertical-align: middle; + object-fit: contain; + margin: 0; +} + +.status-dname img.emoji { + height: 24px; + min-height: 24px; + min-width: 24px; +} + +.emoji-shortcode { + margin-left: 4px; +} + +.post-form-emoji-link { + margin-left: 4px; +} + +.user-info-img { + height: 64px; + width: 64px; + vertical-align: middle; + object-fit: contain; + margin-top: 2px; +} + +.user-info-img-container { + float: left; + margin-right: 8px; +} + +.user-info-details-container { + overflow: auto; +} + +.user-info-details-name, +.user-info-details-nav { + margin-bottom: 4px; +} + +.nav-link { + margin-right: 2px; +} + +.user-list-item { + overflow: auto; + margin: 0 0 12px 0; + display: flex; + align-items: center; +} + +.user-list-profile-img { + float: left; + margin: 0 8px 0 0; +} + +.user-list-name { + overflow: auto; +} + +.user-list-action { + margin: 0 12px; +} + +#settings-form { + margin: 8px 0; +} + +.settings-form-field { + margin: 4px 0; +} + +#settings-form button[type=submit] { + margin-top: 8px; +} + +#reply-popup { + position: absolute; + background-color: #d2d2d2; + border: 1px solid #aaaaaa; + padding: 4px 8px; + z-index: 3; + margin: 0; +} + +#reply-to-popup { + position: absolute; + background-color: #d2d2d2; + border: 1px solid #aaaaaa; + padding: 4px 8px; + z-index: 3; + margin: 0; +} + +.search-form { + margin: 12px 0; +} + +.more-container { + position: relative; + display: inline-block; +} + +.more-content { + display: none; + position: absolute; + background-color: #d2d2d2; + padding: 2px 4px; + border: 1px solid #aaaaaa; + z-index: 1; +} + +.more-container:hover .more-content { + display: block; +} + +.more-link { + font-size: 8pt; + display: block; + margin: 2px; +} + +.poll-form { + margin-top: 5px; + overflow: auto; + overflow-wrap: break-word; +} + +.poll-form button[type=submit] { + margin-top: 6px; +} + +.poll-info { + margin-top: 6px; +} + +.page-title-container { + margin: 8px 0; +} + +.page-refresh { + margin-right: 8px; +} + +.notification-text { + vertical-align: middle; +} + +.notification-read { + display: inline-block; +} + +.no-data-found { + margin: 12px 0; +} + +.signout { + display: inline; +} + +.signin-desc { + margin: 8px 0 16px 0; +} + +.keyboard-shortcuts { + margin-top: 12px; +} + +.keyboard-shortcuts td { + padding: 2px 4px; +} + +kbd { + border-radius: 3px; + padding: 1px 4px; + border: 1px solid #444444; + background-color: #eeeeee; + font-size: 10pt; +} + +.filters { + margin: 10px 0; +} + +.filters td { + padding: 2px 4px; +} + +#img-preview { + pointer-events: none; + z-index: 2; + position: fixed; +} + +.quote { + color: #789922; +} + +.dark { + background-color: #222222; + background-image: none; + color: #eaeaea; +} + +.dark a { + color: #81a2be; +} + +.dark textarea { + background-color: #333333; + border: 1px solid #444444; + color: #eaeaea; +} + +.dark #reply-popup, +.dark #reply-to-popup { + background-color: #222222; + border-color: #444444; +} + +.dark .status-container-container.highlight { + background-color: #333333; +} + +.dark .btn-link { + color: #81a2be; +} + +.dark a:hover, +.dark .btn-link:hover { + color: #497091; +} + +.dark .status-visibility { + color: #eaeaea; +} + +.dark .more-content { + background-color: #222222; + border-color: #444444; +} + +.dark kbd { + background-color: #333333; + border-color: #444444; + color: #eaeaea; +} diff -rN -u "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/about.tmpl" "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/about.tmpl" --- "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/about.tmpl" 1970-01-01 00:00:00.000000000 +0000 +++ "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/about.tmpl" 2024-11-22 17:15:55.445621679 +0000 @@ -0,0 +1,109 @@ +{{with .Data}} +{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} + +<div class="page-title"> Pri </div> +<div> + <p> + Retejkliento por <a href="https://pleroma.social" target="_blank">federujo</a>. + </p> + <p> + La fontkodo estas sub la permesilo + <a href="https://creativecommons.org/publicdomain/zero/1.0/legalcode" target="_blank">CC0</a> + kaj akireblas de + <a href="https://git.freesoftwareextremist.com/bloat" target="_blank">git.freesoftwareextremist.com/bloat</a>. + </P> +</div> + +<div class="page-title"> Ŝparklavoj </div> +<div> + <table class="keyboard-shortcuts"> + <tr> + <td> Uzantprofilo </td> + <td> <kbd>0</kbd> </td> + </tr> + <tr> + <td> Hejma historio </td> + <td> <kbd>1</kbd> </td> + </tr> + <tr> + <td> Rekta historio </td> + <td> <kbd>2</kbd> </td> + </tr> + <tr> + <td> Noda historio </td> + <td> <kbd>3</kbd> </td> + </tr> + <tr> + <td> Federa historio </td> + <td> <kbd>4</kbd> </td> + </tr> + <tr> + <td> Alinoda historio </td> + <td> <kbd>5</kbd> </td> + </tr> + <tr> + <td> Serĉi </td> + <td> <kbd>6</kbd> </td> + </tr> + <tr> + <td> Listoj </td> + <td> <kbd>7</kbd> </td> + </tr> + <tr> + <td> Agordoj </td> + <td> <kbd>8</kbd> </td> + </tr> + <tr> + <td> Pri </td> + <td> <kbd>9</kbd> </td> + </tr> + <tr> + <td> Bildosignoj </td> + <td> <kbd>L</kbd> </td> + </tr> + <tr> + <td> Redakti afiŝon </td> + <td> <kbd>E</kbd> </td> + </tr> + <tr> + <td> Afiŝoformo </td> + <td> <kbd>F</kbd> </td> + </tr> + <tr> + <td> Afiŝocelo </td> + <td> <kbd>S</kbd> </td> + </tr> + <tr> + <td> Marki kiel konsterna </td> + <td> <kbd>N</kbd> </td> + </tr> + <tr> + <td> Kunmeti dosieron al afiŝo </td> + <td> <kbd>A</kbd> </td> + </tr> + <tr> + <td> Afiŝi </td> + <td> <kbd>P</kbd> </td> + </tr> + <tr> + <td> Reenlegi sciigojn </td> + <td> <kbd>R</kbd> </td> + </tr> + <tr> + <td> Marki sciigojn kiel legitaj </td> + <td> <kbd>C</kbd> </td> + </tr> + <tr> + <td> Reenlegi historion/afiŝaron </td> + <td> <kbd>T</kbd> </td> + </tr> + </table> + <p> + Vi povas uzi ĉi tiujn ŝparklavojn per kunpremo kun la <a href="https://en.wikipedia.org/wiki/Access_key#Access_in_different_browsers" target="_blank">alternativa klavo</a> de via retfoliumilo, + kiu plejofte estas <a>ALT</kbd> + <kbd>Shift</kbd>. + </p> +</div> + +{{template "footer.tmpl"}} +{{end}} + diff -rN -u "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/emoji.tmpl" "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/emoji.tmpl" --- "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/emoji.tmpl" 1970-01-01 00:00:00.000000000 +0000 +++ "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/emoji.tmpl" 2024-11-22 17:15:55.445621679 +0000 @@ -0,0 +1,17 @@ +{{with .Data}} +{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} +<div class="page-title"> Bildosignoj </div> + +<div class="emoji-list-container"> + {{range .Emojis}} + <div class="emoji-item-container"> + <div class="emoji-item"> + <img class="emoji" src="{{.URL}}" alt="{{.ShortCode}}" height="32" loading="lazy" /> + <span title=":{{.ShortCode}}:" class="emoji-shortcode">:{{.ShortCode}}:</span> + </div> + </div> + {{end}} +</div> + +{{template "footer.tmpl"}} +{{end}} diff -rN -u "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/error.tmpl" "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/error.tmpl" --- "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/error.tmpl" 1970-01-01 00:00:00.000000000 +0000 +++ "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/error.tmpl" 2024-11-22 17:15:55.445621679 +0000 @@ -0,0 +1,17 @@ +{{with .Data}} +{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} +<div class="page-title"> Eraro </div> + +<div class="error-text"> {{.Err}} </div> +<div> + <a href="/timeline/home">hejmo</a> + {{if .Retry}} + <a href="{{$.Ctx.Referrer}}">reprovi</a> + {{end}} + {{if .SessionErr}} + <a href="/signin" target="_top">saluti</a> + {{end}} +</div> + +{{template "footer.tmpl"}} +{{end}} diff -rN -u "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/filters.tmpl" "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/filters.tmpl" --- "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/filters.tmpl" 1970-01-01 00:00:00.000000000 +0000 +++ "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/filters.tmpl" 2024-11-22 17:15:55.445621679 +0000 @@ -0,0 +1,40 @@ +{{with .Data}} +{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} +<div class="page-title"> Filtriloj </div> + +{{if .Filters}} +<table class="filters"> + {{range .Filters}} + <tr> + <td> {{.Phrase}}{{if not .WholeWord}}*{{end}} </td> + <td> + <form action="/unfilter/{{.ID}}" method="POST"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <button type="submit"> Forigi </button> + </form> + </td> + </tr> + {{end}} +</table> +{{else}} + <div class="filters"> Neniu filtrilo agordita </div> +{{end}} + +<div class="page-title"> Krei filtrilon </div> +<form action="/filter" method="POST"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <span class="settings-form-field"> + <label for="phrase"> Vorto(j) </label> + <input id="phrase" name="phrase" required> + </span> + <span class="settings-form-field"> + <input id="whole-word" name="whole_word" type="checkbox" value="true" checked> + <label for="whole-word"> Tutmonde </label> + </span> + <button type="submit"> Krei </button> +</form> + +{{template "footer.tmpl"}} +{{end}} diff -rN -u "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/footer.tmpl" "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/footer.tmpl" --- "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/footer.tmpl" 1970-01-01 00:00:00.000000000 +0000 +++ "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/footer.tmpl" 2024-11-22 17:15:55.445621679 +0000 @@ -0,0 +1,2 @@ +</body> +</html> diff -rN -u "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/header.tmpl" "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/header.tmpl" --- "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/header.tmpl" 1970-01-01 00:00:00.000000000 +0000 +++ "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/header.tmpl" 2024-11-22 17:15:55.445621679 +0000 @@ -0,0 +1,33 @@ +{{with .Data}} +<!DOCTYPE html> +<html lang="eo"> +<head> + <meta charset='utf-8'> + <link rel="icon" type="image/png" href="/static/favicon.png"> + <meta content='width=device-width, initial-scale=1' name='viewport'> + {{if .Target}} + <base href="" target="{{.Target}}"> + {{end}} + {{if .CSRFToken}} + <meta name="csrf_token" content="{{.CSRFToken}}"> + {{end}} + {{if $.Ctx.AntiDopamineMode}} + <meta name="antidopamine_mode" content="{{$.Ctx.AntiDopamineMode}}"> + {{end}} + {{if .RefreshInterval}} + <meta http-equiv="refresh" content="{{.RefreshInterval}}"> + {{end}} + <title> {{if gt .Count 0}}({{.Count}}){{end}} {{.Title}} </title> + <link rel="stylesheet" href="/static/style.css"> + {{if .CustomCSS}} + <link rel="stylesheet" href="{{.CustomCSS}}"> + {{end}} + {{if $.Ctx.FluorideMode}} + <script src="/static/fluoride.js"></script> + {{end}} + {{if $.Ctx.UserCSS}} + <style>{{RawCSS $.Ctx.UserCSS}}</style> + {{end}} +</head> +<body {{if $.Ctx.DarkMode}}class="dark"{{end}}> +{{end}} diff -rN -u "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/likedby.tmpl" "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/likedby.tmpl" --- "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/likedby.tmpl" 1970-01-01 00:00:00.000000000 +0000 +++ "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/likedby.tmpl" 2024-11-22 17:15:55.445621679 +0000 @@ -0,0 +1,8 @@ +{{with .Data}} +{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} +<div class="page-title"> Ŝatita de </div> + +{{template "userlist.tmpl" (WithContext .Users $.Ctx)}} + +{{template "footer.tmpl"}} +{{end}} diff -rN -u "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/lists.tmpl" "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/lists.tmpl" --- "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/lists.tmpl" 1970-01-01 00:00:00.000000000 +0000 +++ "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/lists.tmpl" 2024-11-22 17:15:55.445621679 +0000 @@ -0,0 +1,35 @@ +{{with .Data}} +{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} +<div class="page-title"> Listoj </div> + +{{range .Lists}} +<div> + <a href="/timeline/list?list={{.ID}}"> {{.Title}} historio </a> + - + <form class="d-inline" action="/list/{{.ID}}" method="GET"> + <button type="submit" class="btn-link"> redakti </button> + </form> + - + <form class="d-inline" action="/list/{{.ID}}/remove" method="POST"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <button type="submit" class="btn-link"> forigi </button> + </form> +</div> +{{else}} +<div class="no-data-found">Neniu datumo trovita</div> +{{end}} + +<div class="page-title"> Krei liston </div> +<form action="/list" method="POST"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <span class="settings-form-field"> + <label for="title"> Nomo </label> + <input id="title" name="title" required> + </span> + <button type="submit"> Krei </button> +</form> + +{{template "footer.tmpl"}} +{{end}} diff -rN -u "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/list.tmpl" "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/list.tmpl" --- "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/list.tmpl" 1970-01-01 00:00:00.000000000 +0000 +++ "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/list.tmpl" 2024-11-22 17:15:55.445621679 +0000 @@ -0,0 +1,63 @@ +{{with .Data}} +{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} +<div class="page-title"> Listo {{.List.Title}} </div> + +<form action="/list/{{.List.ID}}/rename" method="POST"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <input id="title" name="title" value="{{.List.Title}}"> + <button type="submit"> Renomi </button> +</form> + +<div class="page-title"> Uzantoj </div> +{{if .Accounts}} +<table> +{{range .Accounts}} + <tr> + <td class="p-0"> {{template "userlistitem.tmpl" (WithContext . $.Ctx)}} </td> + <td class="p-0"> + <form class="user-list-action" action="/list/{{$.Data.List.ID}}/removeuser?uid={{.ID}}" method="POST"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <button type="submit"> Remove </button> + </form> + </td> + </tr> +{{end}} +</table> +{{else}} +<div class="no-data-found">Neniu datumo trovita</div> +{{end}} + +<div class="page-title"> Aldoni uzanton </div> +<form class="search-form" action="/list/{{.List.ID}}" method="GET"> + <span class="post-form-field"> + <label for="query"> Uzanta serĉmendo </label> + <input id="query" name="q" value="{{.Q}}"> + </span> + <button type="submit"> Serĉi </button> +</form> + +{{if .Q}} +{{if .SearchAccounts}} +<table> +{{range .SearchAccounts}} + <tr> + <td> {{template "userlistitem.tmpl" (WithContext . $.Ctx)}} </td> + <td> + <form class="user-list-action" action="/list/{{$.Data.List.ID}}/adduser?uid={{.ID}}" method="POST"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <button type="submit"> Aldoni </button> + </form> + </td> + </tr> +{{end}} +</table> +{{else}} +<div class="no-data-found">Neniu datumo trovita</div> +{{end}} +{{end}} + +{{template "footer.tmpl"}} +{{end}} diff -rN -u "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/mute.tmpl" "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/mute.tmpl" --- "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/mute.tmpl" 1970-01-01 00:00:00.000000000 +0000 +++ "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/mute.tmpl" 2024-11-22 17:15:55.445621679 +0000 @@ -0,0 +1,29 @@ +{{with .Data}} +{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} +<div class="page-title"> Silentigi {{.User.Acct}} </div> + +<form action="/mute/{{.User.ID}}" method="POST"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <div class="settings-form-field"> + <input id="notifications" name="notifications" type="checkbox" value="true" checked> + <label for="notifications"> Malatenti sciigojn </label> + </div> + <div class="settings-form-field"> + <label for="duration"> Reatentu </label> + <select id="duration" name="duration"> + <option value="0" selected>Disabled</option> + <option value="300">Post 5m</option> + <option value="1800">Post 30m</option> + <option value="3600">Post 1h</option> + <option value="21600">Post 6h</option> + <option value="86400">Post 1d</option> + <option value="259200">Post 3d</option> + <option value="604800">Post 7d</option> + </select> + </div> + <button type="submit"> Silentigi </button> +</form> + +{{template "footer.tmpl"}} +{{end}} diff -rN -u "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/nav.tmpl" "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/nav.tmpl" --- "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/nav.tmpl" 1970-01-01 00:00:00.000000000 +0000 +++ "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/nav.tmpl" 2024-11-22 17:15:55.449621685 +0000 @@ -0,0 +1,40 @@ +{{with .Data}} +{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} +<div class="user-info"> + <div class="user-info-img-container"> + <a class="img-link" href="/timeline/home" title="Hejmo (1)"> + <img class="user-info-img" src="{{.User.Avatar}}" alt="profile-avatar" height="64" /> + </a> + </div> + <div class="user-info-details-container"> + <div class="user-info-details-name"> + <bdi class="status-dname"> {{EmojiFilter (HTML .User.DisplayName) .User.Emojis | Raw}} </bdi> + <a class="nav-link" href="/user/{{.User.ID}}" accesskey="0" title="Uzantoprofilo (0)"> + <span class="status-uname"> @{{.User.Acct}} </span> + </a> + </div> + <div class="user-info-details-nav"> + <a class="nav-link" href="/timeline/home" accesskey="1" title="Hejma historio (1)">hejmo</a> + <a class="nav-link" href="/timeline/direct" accesskey="2" title="Rekta historio (2)">rekta</a> + <a class="nav-link" href="/timeline/local" accesskey="3" title="Noda historio (3)">noda</a> + <a class="nav-link" href="/timeline/twkn" accesskey="4" title="Federa historio (4)">federa</a> + <a class="nav-link" href="/timeline/remote" accesskey="5" title="Fora historio (5)">fora</a> + <a class="nav-link" href="/search" accesskey="6" title="Serĉi (6)">serĉi</a> + </div> + <div> + <a class="nav-link" href="/lists" accesskey="7" title="Listoj (7)">listoj</a> + <a class="nav-link" href="/settings" target="_top" accesskey="8" title="Agordoj (8)">agordoj</a> + <form class="signout" action="/signout" method="post" target="_top"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <input type="submit" value="signout" class="btn-link nav-link" title="Adiaŭi"> + </form> + <a class="nav-link" href="/about" accesskey="9" title="Pri (9)">pri</a> + </div> + </div> +</div> + +{{template "postform.tmpl" (WithContext .PostContext $.Ctx)}} + +{{template "footer.tmpl"}} +{{end}} diff -rN -u "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/notification.tmpl" "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/notification.tmpl" --- "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/notification.tmpl" 1970-01-01 00:00:00.000000000 +0000 +++ "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/notification.tmpl" 2024-11-22 17:15:55.449621685 +0000 @@ -0,0 +1,128 @@ +{{with .Data}} +{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} +<div class="page-title-container"> + <span class="page-title"> + Sciigoj + {{if and (not $.Ctx.AntiDopamineMode) (gt .UnreadCount 0)}} + ({{.UnreadCount }}) + {{end}} + </span> + <a class="page-refresh" href="/notifications" target="_self" accesskey="R" title="Reenlegi (R)">reenlegi</a> + {{if .ReadID}} + <form class="notification-read" action="/notifications/read?max_id={{.ReadID}}" method="post" target="_self"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <input type="submit" value="read" class="btn-link" accesskey="C" title="Marki kiel legitaj (C)"> + </form> + {{end}} +</div> + +{{range .Notifications}} +<div class="notification-container {{.Type}} {{if .Pleroma}}{{if not .Pleroma.IsSeen}}unread{{end}}{{end}}"> + {{if eq .Type "follow"}} + <div class="notification-follow-container"> + <div class="status-profile-img-container"> + <a class="img-link" href="/user/{{.Account.ID}}"> + <img class="status-profile-img" src="{{.Account.Avatar}}" title="@{{.Account.Acct}}" alt="profile-avatar" height="48" /> + </a> + </div> + <div class="notification-follow"> + <div class="notification-info-text"> + <bdi class="status-dname"> {{EmojiFilter (HTML .Account.DisplayName) .Account.Emojis | Raw}} </bdi> + <span class="notification-text"> abonis vin - + <time datetime="{{FormatTimeRFC3339 .CreatedAt}}" title="{{FormatTimeRFC822 .CreatedAt}}">{{TimeSince .CreatedAt}}</time> + </span> + </div> + <div> + <a href="/user/{{.Account.ID}}"> <span class="status-uname"> @{{.Account.Acct}} </span> </a> + </div> + </div> + </div> + + {{else if eq .Type "follow_request"}} + <div class="notification-follow-container"> + <div class="status-profile-img-container"> + <a class="img-link" href="/user/{{.Account.ID}}"> + <img class="status-profile-img" src="{{.Account.Avatar}}" title="@{{.Account.Acct}}" alt="profile-avatar" height="48" /> + </a> + </div> + <div class="notification-follow"> + <div class="notification-info-text"> + <bdi class="status-dname"> {{EmojiFilter (HTML .Account.DisplayName) .Account.Emojis | Raw}} </bdi> + <span class="notification-text"> volas abonis vin - + <time datetime="{{FormatTimeRFC3339 .CreatedAt}}" title="{{FormatTimeRFC822 .CreatedAt}}">{{TimeSince .CreatedAt}}</time> + </span> + </div> + <div> + <a href="/user/{{.Account.ID}}"> <span class="status-uname"> @{{.Account.Acct}} </span> </a> + </div> + <form class="d-inline" action="/accept/{{.Account.ID}}" method="post" target="_self"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <input type="submit" value="accept" class="btn-link"> + </form> + - + <form class="d-inline" action="/reject/{{.Account.ID}}" method="post" target="_self"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <input type="submit" value="reject" class="btn-link"> + </form> + </div> + </div> + + {{else if eq .Type "mention"}} + {{template "status" (WithContext .Status $.Ctx)}} + + {{else if eq .Type "reblog"}} + <div class="retweet-info"> + <a class="img-link" href="/user/{{.Account.ID}}"> + <img class="status-profile-img" src="{{.Account.Avatar}}" title="@{{.Account.Acct}}" alt="avatar" height="48" /> + </a> + <a href="/user/{{.Account.ID}}"> + <span class="status-uname"> @{{.Account.Acct}} </span> + </a> + <span class="notification-text"> ripetis vian afiŝon - + <time datetime="{{FormatTimeRFC3339 .CreatedAt}}" title="{{FormatTimeRFC822 .CreatedAt}}">{{TimeSince .CreatedAt}}</time> + </span> + </div> + {{template "status" (WithContext .Status $.Ctx)}} + + {{else if eq .Type "favourite"}} + <div class="retweet-info"> + <a class="img-link" href="/user/{{.Account.ID}}"> + <img class="status-profile-img" src="{{.Account.Avatar}}" title="@{{.Account.Acct}}" alt="avatar" height="48" /> + </a> + <a href="/user/{{.Account.ID}}"> + <span class="status-uname"> @{{.Account.Acct}} </span> + </a> + <span class="notification-text"> ŝatis vian afiŝon - + <time datetime="{{FormatTimeRFC3339 .CreatedAt}}" title="{{FormatTimeRFC822 .CreatedAt}}">{{TimeSince .CreatedAt}}</time> + </span> + </div> + {{template "status" (WithContext .Status $.Ctx)}} + + {{else}} + <div class="retweet-info"> + <a class="img-link" href="/user/{{.Account.ID}}"> + <img class="status-profile-img" src="{{.Account.Avatar}}" title="@{{.Account.Acct}}" alt="avatar" height="48" /> + </a> + <a href="/user/{{.Account.ID}}"> + <span class="status-uname"> @{{.Account.Acct}} </span> + </a> + <span class="notification-text"> {{.Type}} - + <time datetime="{{FormatTimeRFC3339 .CreatedAt}}" title="{{FormatTimeRFC822 .CreatedAt}}">{{TimeSince .CreatedAt}}</time> + </span> + </div> + {{if .Status}}{{template "status" (WithContext .Status $.Ctx)}}{{end}} + {{end}} +</div> +{{end}} + +<div class="pagination"> + {{if .NextLink}} + <a href="{{.NextLink}}" target="_self">[sekva]</a> + {{end}} +</div> + +{{template "footer.tmpl"}} +{{end}} diff -rN -u "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/postform.tmpl" "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/postform.tmpl" --- "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/postform.tmpl" 1970-01-01 00:00:00.000000000 +0000 +++ "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/postform.tmpl" 2024-11-22 17:15:55.449621685 +0000 @@ -0,0 +1,51 @@ +{{with .Data}} +<form class="post-form" action="/post" method="POST" enctype="multipart/form-data" target="_self"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + {{if .ReplyContext}} + <input type="hidden" name="reply_to_id" value="{{.ReplyContext.InReplyToID}}" /> + <input type="hidden" name="quickreply" value="{{.ReplyContext.QuickReply}}" /> + <label for="post-content" class="post-form-title"> Respondi al @{{.ReplyContext.InReplyToName}} </label> + {{else}} + <label for="post-content" class="post-form-title"> Nova afiŝo </label> + {{end}} + <a class="post-form-emoji-link" href="/emojis" target="_blank" title="Bildosignoj (L)" accesskey="L"> + bildosignoj + </a> + <div class="post-form-content-container"> + <textarea id="post-content" name="content" class="post-content" cols="34" rows="5" accesskey="E" title="Redakti afiŝon (E)">{{if .ReplyContext}}{{.ReplyContext.ReplyContent}}{{end}}</textarea> + </div> + <div> + {{if .Formats}} + <span class="post-form-field"> + {{$defFormat := .DefaultFormat}} + <select id="post-format" name="format" accesskey="F" title="Formo (F)"> + {{range .Formats}} + <option value="{{.Type}}" {{if eq $defFormat .Type}}selected{{end}}>{{.Name}}</option> + {{end}} + </select> + </span> + {{end}} + <span class="post-form-field"> + <select id="post-visilibity" name="visibility" {{if .ReplyContext}}{{if .ReplyContext.ForceVisibility}}disabled{{end}}{{end}} accesskey="S" title="Celo (S)"> + <option value="public" {{if eq .DefaultVisibility "public"}}selected{{end}}>Publika</option> + <option value="unlisted" {{if eq .DefaultVisibility "unlisted"}}selected{{end}}>Nepublika</option> + <option value="private" {{if eq .DefaultVisibility "private"}}selected{{end}}>Privata</option> + <option value="direct" {{if eq .DefaultVisibility "direct"}}selected{{end}}>Rekta</option> + </select> + </span> + <span class="post-form-field"> + <input type="checkbox" id="nsfw-checkbox" name="is_nsfw" value="true" accesskey="N" title="Konsterna (N)"> + <label for="nsfw-checkbox"> Konsterna </label> + </span> + </div> + <div> + <span class="post-form-field"> + <input id="post-file-picker" type="file" name="attachments" multiple accesskey="A" title="Kunsendaĵoj (A)"> + </span> + </div> + <button type="submit" accesskey="P" title="Afiŝi (P)"> Afiŝi </button> + <button type="reset" title="Reset"> Nuligi </button> +</form> +{{end}} + diff -rN -u "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/quickreply.tmpl" "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/quickreply.tmpl" --- "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/quickreply.tmpl" 1970-01-01 00:00:00.000000000 +0000 +++ "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/quickreply.tmpl" 2024-11-22 17:15:55.449621685 +0000 @@ -0,0 +1,12 @@ +{{with $s := .Data}} +{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} +<div class="page-title"> Rapide Respondi </div> + +{{if .Ancestor}} +{{template "status.tmpl" (WithContext .Ancestor $.Ctx)}} +{{end}} +{{template "status.tmpl" (WithContext .Status $.Ctx)}} +{{template "postform.tmpl" (WithContext $s.PostContext $.Ctx)}} + +{{template "footer.tmpl"}} +{{end}} diff -rN -u "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/requestlist.tmpl" "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/requestlist.tmpl" --- "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/requestlist.tmpl" 1970-01-01 00:00:00.000000000 +0000 +++ "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/requestlist.tmpl" 2024-11-22 17:15:55.449621685 +0000 @@ -0,0 +1,36 @@ +{{with .Data}} +<div> + {{range .}} + <div class="user-list-item"> + <div class="user-list-profile-img"> + <a class="img-link" href="/user/{{.ID}}"> + <img class="status-profile-img" src="{{.Avatar}}" title="@{{.Acct}}" alt="avatar" height="48" /> + </a> + </div> + <div class="user-list-name"> + <div> + <div class="status-dname"> {{EmojiFilter (HTML .DisplayName) .Emojis | Raw}} </div> + <a class="img-link" href="/user/{{.ID}}"> + <div class="status-uname"> @{{.Acct}} </div> + </a> + </div> + <form class="d-inline" action="/accept/{{.ID}}" method="post" target="_self"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <input type="submit" value="accept" class="btn-link"> + </form> + - + <form class="d-inline" action="/reject/{{.ID}}" method="post" target="_self"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <input type="submit" value="reject" class="btn-link"> + </form> + </div> + </div> + {{else}} + <div class="no-data-found">Neniu datumo trovita</div> + {{end}} +</div> +{{else}} +<div class="no-data-found">Neniu datumo trovita</div> +{{end}} diff -rN -u "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/retweetedby.tmpl" "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/retweetedby.tmpl" --- "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/retweetedby.tmpl" 1970-01-01 00:00:00.000000000 +0000 +++ "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/retweetedby.tmpl" 2024-11-22 17:15:55.449621685 +0000 @@ -0,0 +1,8 @@ +{{with .Data}} +{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} +<div class="page-title"> Ripetita de </div> + +{{template "userlist.tmpl" (WithContext .Users $.Ctx)}} + +{{template "footer.tmpl"}} +{{end}} diff -rN -u "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/root.tmpl" "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/root.tmpl" --- "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/root.tmpl" 1970-01-01 00:00:00.000000000 +0000 +++ "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/root.tmpl" 2024-11-22 17:15:55.449621685 +0000 @@ -0,0 +1,17 @@ +{{with .Data}} +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <link rel="icon" type="image/png" href="/static/favicon.png"> + <title>{{.Title}}</title> +</head> +<frameset cols="424px,*"> + <frameset rows="316px,*"> + <frame name="nav" src="/nav"> + <frame name="notification" src="/notifications"> + </frameset> + <frame name="main" src="/timeline/home"> +</frameset> +</html> +{{end}} diff -rN -u "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/search.tmpl" "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/search.tmpl" --- "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/search.tmpl" 1970-01-01 00:00:00.000000000 +0000 +++ "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/search.tmpl" 2024-11-22 17:15:55.449621685 +0000 @@ -0,0 +1,39 @@ +{{with .Data}} +{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} +<div class="page-title"> Serĉi </div> + +<form class="search-form" action="/search" method="GET"> + <span class="post-form-field"> + <label for="query"> Serĉomendo </label> + <input id="query" name="q" value="{{.Q}}"> + </span> + <span class="post-form-field"> + <label for="type"> Celo </label> + <select id="type" name="type"> + <option value="statuses" {{if eq .Type "statuses"}}selected{{end}}>Afiŝoj</option> + <option value="accounts" {{if eq .Type "accounts"}}selected{{end}}>Kontoj</option> + </select> + </span> + <button type="submit"> Serĉi </button> +</form> + +{{if eq .Type "statuses"}} +{{range .Statuses}} +{{template "status.tmpl" (WithContext . $.Ctx)}} +{{else}} +{{if .Q}}<div class="no-data-found">Neniu datumo trovita</div>{{end}} +{{end}} +{{end}} + +{{if eq .Type "accounts"}} +{{template "userlist.tmpl" (WithContext .Users $.Ctx)}} +{{end}} + +<div class="pagination"> + {{if .NextLink}} + <a href="{{.NextLink}}">[sekva]</a> + {{end}} +</div> + +{{template "footer.tmpl"}} +{{end}} diff -rN -u "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/settings.tmpl" "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/settings.tmpl" --- "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/settings.tmpl" 1970-01-01 00:00:00.000000000 +0000 +++ "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/settings.tmpl" 2024-11-22 17:15:55.449621685 +0000 @@ -0,0 +1,83 @@ +{{with .Data}} +{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} +<div class="page-title"> Agordoj </div> + +<form id="settings-form" action="/settings" method="POST"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + {{if .PostFormats}} + <div class="settings-form-field"> + <label for="post-format"> Default format </label> + {{$defFormat := .Settings.DefaultFormat}} + <select id="post-format" name="format"> + {{range .PostFormats}} + <option value="{{.Type}}" {{if eq $defFormat .Type}}selected{{end}}>{{.Name}}</option> + {{end}} + </select> + </div> + {{end}} + <div class="settings-form-field"> + <label for="visibility"> Default scope </label> + <select id="visibility" name="visibility"> + <option value="public" {{if eq .Settings.DefaultVisibility "public"}}selected{{end}}>Publika</option> + <option value="unlisted" {{if eq .Settings.DefaultVisibility "unlisted"}}selected{{end}}>Nepublika</option> + <option value="private" {{if eq .Settings.DefaultVisibility "private"}}selected{{end}}>Privata</option> + <option value="direct" {{if eq .Settings.DefaultVisibility "direct"}}selected{{end}}>Rekta</option> + </select> + </div> + <div class="settings-form-field"> + <label for="notification-interval"> Reenlegado de sciigoj </label> + <select id="notification-interval" name="notification_interval"> + <option value="0" {{if eq .Settings.NotificationInterval 0}}selected{{end}}>Malŝaltita</option> + <option value="30" {{if eq .Settings.NotificationInterval 30}}selected{{end}}>Post 30s</option> + <option value="60" {{if eq .Settings.NotificationInterval 60}}selected{{end}}>Post 1m</option> + <option value="120" {{if eq .Settings.NotificationInterval 120}}selected{{end}}>Post 2m</option> + <option value="300" {{if eq .Settings.NotificationInterval 300}}selected{{end}}>Post 5m</option> + <option value="600" {{if eq .Settings.NotificationInterval 600}}selected{{end}}>Post 10m</option> + </select> + </div> + <div class="settings-form-field"> + <input id="copy-scope" name="copy_scope" type="checkbox" value="true" {{if .Settings.CopyScope}}checked{{end}}> + <label for="copy-scope"> Kopii celon respondante </label> + </div> + <div class="settings-form-field"> + <input id="thread-tab" name="thread_in_new_tab" type="checkbox" value="true" {{if .Settings.ThreadInNewTab}}checked{{end}}> + <label for="thread-tab"> Malfermi interparolojn ĉe novaj langentoj </label> + </div> + <div class="settings-form-field"> + <input id="hide-attachments" name="hide_attachments" type="checkbox" value="true" {{if .Settings.HideAttachments}}checked{{end}}> + <label for="hide-attachments"> Kaŝi kunsendataj dosieroj </label> + </div> + <div class="settings-form-field"> + <input id="mask-nsfw" name="mask_nsfw" type="checkbox" value="true" {{if .Settings.MaskNSFW}}checked{{end}}> + <label for="mask-nsfw"> Kaŝi konsternajn dosierojn </label> + </div> + <div class="settings-form-field"> + <input id="fluoride-mode" name="fluoride_mode" type="checkbox" value="true" {{if .Settings.FluorideMode}}checked{{end}}> + <label for="fluoride-mode"> Ŝalti <abbr title="Ŝalti Ĵavoskriptaj kapabloj aldonaj, ekz., ŝati/ripeti sen reenlego de paĝo kaj antaŭmontro de respondoj ĉe afiŝĉena paĝo">F¯ reĝimon</abbr> </label> + </div> + <div class="settings-form-field"> + <input id="anti-dopamine-mode" name="anti_dopamine_mode" type="checkbox" + value="true" {{if .Settings.AntiDopamineMode}}checked{{end}}> + <label for="anti-dopamine-mode"> Ŝalti <abbr title="Ne nombri ŝatojn/ripetojn/sciigojn kaj ne ricevi ŝatajn/ripetajn/aboniĝajn sciigojn">C₈H₁₁NO₂-kontraŭan reĝimon</abbr> </label> + </div> + <div class="settings-form-field"> + <input id="hide-unsupported-notifs" name="hide_unsupported_notifs" type="checkbox" + value="true" {{if .Settings.HideUnsupportedNotifs}}checked{{end}}> + <label for="hide-unsupported-notifs"> Kaŝi nesubtenatajn sciigojn </label> + </div> + <div class="settings-form-field"> + <input id="dark-mode" name="dark_mode" type="checkbox" value="true" {{if .Settings.DarkMode}}checked{{end}}> + <label for="dark-mode"> Uzi malhelan haŭton </label> + </div> + <div class="settings-form-field"> + <label for="css"> Propra CSS: </label> + </div> + <div> + <textarea id="css" name="css" cols="80" rows="8">{{.Settings.CSS}}</textarea> + </div> + <button type="submit"> Konservi </button> +</form> + +{{template "footer.tmpl"}} +{{end}} diff -rN -u "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/signin.tmpl" "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/signin.tmpl" --- "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/signin.tmpl" 1970-01-01 00:00:00.000000000 +0000 +++ "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/signin.tmpl" 2024-11-22 17:15:55.449621685 +0000 @@ -0,0 +1,23 @@ +{{with .Data}} +{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} +<div class="page-title"> Bloat </div> +<div class="signin-desc"> + Retejkliento por <a href="https://pleroma.social" target="_blank">Federujo</a>. +</div> + +<form class="signin-form" action="/signin" method="post"> + Entajpu la retnomon de via federuja servilo por saluti + <br/> + <input type="text" name="instance" placeholder="ekzemplo.com" required> + <br/> + <button type="submit"> Saluti </button> +</form> + +<p> + Vizitu + <a href="https://git.freesoftwareextremist.com/bloat" target="_blank">git.freesoftwareextremist.com/bloat</a> + por pliaj detaloj. +</P> + +{{template "footer.tmpl"}} +{{end}} diff -rN -u "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/status.tmpl" "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/status.tmpl" --- "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/status.tmpl" 1970-01-01 00:00:00.000000000 +0000 +++ "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/status.tmpl" 2024-11-22 17:15:55.449621685 +0000 @@ -0,0 +1,247 @@ +{{with .Data}} +<div id="status-{{.ID}}" class="status-container-container"> + {{if .Reblog}} + <div class="retweet-info"> + <a class="img-link" href="/user/{{.Account.ID}}"> + <img class="status-profile-img" src="{{.Account.Avatar}}" title="@{{.Account.Acct}}" alt="avatar" height="24" /> + </a> + <bdi class="status-dname"> {{EmojiFilter (HTML .Account.DisplayName) .Account.Emojis | Raw}} </bdi> + <a href="/user/{{.Account.ID}}"> + <span class="status-uname"> @{{.Account.Acct}} </span> + </a> + ripetiĝis + </div> + {{template "status" (WithContext .Reblog $.Ctx)}} + {{else}} + {{block "status" (WithContext . $.Ctx)}} + {{with $s := .Data}} + <div class="status-container status-{{.ID}}" data-id="{{.ID}}"> + <div class="status-profile-img-container"> + <a class="img-link" href="/user/{{.Account.ID}}"> + <img class="status-profile-img" src="{{.Account.Avatar}}" title="@{{.Account.Acct}}" alt="avatar" height="48" /> + </a> + </div> + <div class="status"> + <div class="status-name"> + <bdi class="status-dname"> {{EmojiFilter (HTML .Account.DisplayName) .Account.Emojis | Raw}} </bdi> + <a href="/user/{{.Account.ID}}"> + <span class="status-uname"> @{{.Account.Acct}} </span> + </a> + <div class="more-container"> + <div class="remote-link"> + {{if .IDNumbers}}#{{index .IDNumbers .ID}}{{end}} {{.Visibility}} + </div> + <div class="more-content"> + <a class="more-link" href="{{.URL}}" target="_blank"> + fonto + </a> + <a class="more-link" href="/quickreply/{{.ID}}#status-{{.ID}}"> + rapide respondi + </a> + {{if .Muted}} + <form action="/unmuteconv/{{.ID}}" method="post" target="_self"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <input type="submit" value="malsilentigi" class="btn-link more-link"> + </form> + {{else}} + <form action="/muteconv/{{.ID}}" method="post" target="_self"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <input type="submit" value="silentigi" class="btn-link more-link"> + </form> + {{end}} + {{if .Bookmarked}} + <form action="/unbookmark/{{.ID}}" method="post" target="_self"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <input type="hidden" name="retweeted_by_id" value="{{.RetweetedByID}}"> + <input type="submit" value="senlegosigni" class="btn-link more-link"> + </form> + {{else}} + <form action="/bookmark/{{.ID}}" method="post" target="_self"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <input type="hidden" name="retweeted_by_id" value="{{.RetweetedByID}}"> + <input type="submit" value="legosigni" class="btn-link more-link"> + </form> + {{end}} + {{if eq $.Ctx.UserID .Account.ID}} + <form action="/delete/{{.ID}}" method="post" target="_self"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <input type="submit" value="forigi" class="btn-link more-link"> + </form> + {{end}} + </div> + </div> + </div> + <div class="status-reply-container"> + {{if .InReplyToID}} + <a class="status-reply-to-link" href="{{if not .ShowReplies}}/thread/{{.InReplyToID}}{{end}}#status-{{.InReplyToID}}"> + responde al {{if .IDNumbers}}#{{index .IDNumbers .InReplyToID}}{{end}} {{if .Pleroma.InReplyToAccountAcct}}@{{.Pleroma.InReplyToAccountAcct}}{{else if not .IDNumbers}}{{.InReplyToID}}{{end}} + </a> + {{if index .IDReplies .ID}} <span class="status-reply-info-divider"> - </span> {{end}} + {{end}} + {{if .ShowReplies}} + {{if index .IDReplies .ID}} <span class="status-reply-text"> respondoj: </span> {{end}} + {{range index .IDReplies .ID}} + <a class="status-reply-link" href="#status-{{.ID}}">#{{.Number}}</a> + {{end}} + {{end}} + </div> + {{if (or .Content .SpoilerText)}} + <div class="status-content"> + {{if .SpoilerText}}{{EmojiFilter (HTML .SpoilerText) .Emojis | Raw}}<br/>{{end}} + {{StatusContentFilter .Content .Emojis .Mentions | Raw}} + </div> + {{end}} + {{if .MediaAttachments}} + <div class="status-media-container"> + {{range .MediaAttachments}} + + {{if eq .Type "image"}} + {{if $.Ctx.HideAttachments}} + <a href="{{.URL}}" target="_blank"> + [image{{if $s.Sensitive}}/nsfw{{end}}{{if .Description}}: {{.Description}}{{end}}] + </a> + {{else}} + <a class="img-link" href="{{.URL}}" target="_blank" title="{{.Description}}"> + <img class="status-image" src="{{.PreviewURL}}" alt="status-image" height="240" /> + {{if (and $.Ctx.MaskNSFW $s.Sensitive)}} + <img src="https://jam.xwx.moe/static/bildoj/konsterna.jpg" class="status-nsfw-overlay"/> + {{end}} + </a> + {{end}} + + {{else if eq .Type "audio"}} + {{if $.Ctx.HideAttachments}} + <a href="{{.URL}}" target="_blank"> + [audio{{if $s.Sensitive}}/nsfw{{end}}{{if .Description}}: {{.Description}}{{end}}] + </a> + {{else}} + <audio class="status-audio" controls title="{{.Description}}"> + <source src="{{.URL}}"> + <a href="{{.URL}}" target="_blank"> [audio] </a> + </audio> + {{end}} + + {{else if eq .Type "video"}} + {{if $.Ctx.HideAttachments}} + <a href="{{.URL}}" target="_blank"> + [video{{if $s.Sensitive}}/nsfw{{end}}{{if .Description}}: {{.Description}}{{end}}] + </a> + {{else}} + <div class="status-video-container" title="{{.Description}}"> + <video class="status-video" controls height="240"> + <source src="{{.URL}}"> + <a href="{{.URL}}" target="_blank"> [video] </a> + </video> + {{if (and $.Ctx.MaskNSFW $s.Sensitive)}} + <img src="https://jam.xwx.moe/static/bildoj/konsterna.jpg" class="status-nsfw-overlay"/> + {{end}} + </div> + {{end}} + + {{else}} + <a href="{{.URL}}" target="_blank"> + [attachment{{if $s.Sensitive}}/nsfw{{end}}{{if .Description}}: {{.Description}}{{end}}] + </a> + {{end}} + {{end}} + </div> + {{end}} + {{if .Poll}} + <form class="poll-form" action="/vote/{{.Poll.ID}}" method="POST" target="_self"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <input type="hidden" name="status_id" value="{{$s.ID}}"> + {{range $i, $o := .Poll.Options}} + <div class="poll-option"> + {{if (or $s.Poll.Expired $s.Poll.Voted)}} + <div> {{EmojiFilter (HTML $o.Title) $s.Emojis | Raw}} - {{$o.VotesCount}} votes </div> + {{else}} + <input type="{{if $s.Poll.Multiple}}checkbox{{else}}radio{{end}}" name="choices" + id="poll-{{$s.ID}}-{{$i}}" value="{{$i}}"> + <label for="poll-{{$s.ID}}-{{$i}}"> + {{EmojiFilter (HTML $o.Title) $s.Emojis | Raw}} + </label> + {{end}} + </div> + {{end}} + {{if not (or .Poll.Expired .Poll.Voted)}} + <button type="submit"> Voĉdoni </button> + {{end}} + <div class="poll-info"> + <span>{{.Poll.VotesCount}} voĉdonoj</span> + {{if .Poll.Expired}} + <span> - enketo finiĝis </span> + {{else if .Poll.ExpiresAt}} + <span> + - enketo finiĝos je + <time datetime="{{FormatTimeRFC3339 .Poll.ExpiresAt}}" title="{{FormatTimeRFC822 .Poll.ExpiresAt}}"> + {{TimeUntil .Poll.ExpiresAt}} + </time> + </span> + {{end}} + </div> + </form> + {{end}} + <div class="status-action-container"> + <div class="status-action"> + <a href="/thread/{{.ID}}?reply=true#status-{{.ID}}"> + respondi + </a> + <a class="status-reply-count" href="/thread/{{.ID}}#status-{{.ID}}" {{if $.Ctx.ThreadInNewTab}}target="_blank"{{end}}> + {{if and (not $.Ctx.AntiDopamineMode) .RepliesCount}} + ({{DisplayInteractionCount .RepliesCount}}) + {{end}} + </a> + </div> + <div class="status-action"> + {{$rt := "ripeti"}} {{if .Reblogged}} {{$rt = "malripeti"}} {{end}} + {{$rtaction := "retweet"}} {{if .Reblogged}} {{$rtaction = "unretweet"}} {{end}} + <form class="status-retweet" data-action="{{$rtaction}}" action="/{{$rtaction}}/{{.ID}}" method="post" target="_self"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <input type="hidden" name="retweeted_by_id" value="{{.RetweetedByID}}"> + <input type="submit" value="{{$rt}}" class="btn-link" + {{if or (eq .Visibility "private") (eq .Visibility "direct")}}title="ĉi tiu afiŝo ne povas ripetiĝi" disabled{{end}}> + <a class="status-retweet-count" href="/retweetedby/{{.ID}}" title="klaki por montri la liston"> + {{if and (not $.Ctx.AntiDopamineMode) .ReblogsCount}} + ({{DisplayInteractionCount .ReblogsCount}}) + {{end}} + </a> + </form> + </div> + <div class="status-action"> + {{$like := "ŝati"}} {{if .Favourited}} {{$like = "senŝati"}} {{end}} + {{$likeaction := "like"}} {{if .Favourited}} {{$likeaction = "unlike"}} {{end}} + <form class="status-like" data-action="{{$likeaction}}" action="/{{$likeaction}}/{{.ID}}" method="post" target="_self"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <input type="hidden" name="retweeted_by_id" value="{{.RetweetedByID}}"> + <input type="submit" value="{{$like}}" class="btn-link"> + <a class="status-like-count" href="/likedby/{{.ID}}" title="klaki por montri la liston"> + {{if and (not $.Ctx.AntiDopamineMode) .FavouritesCount}} + ({{DisplayInteractionCount .FavouritesCount}}) + {{end}} + </a> + </form> + </div> + <div class="status-action status-action-last"> + <a class="status-time" href="{{if not .ShowReplies}}/thread/{{.ID}}{{end}}#status-{{.ID}}" + {{if $.Ctx.ThreadInNewTab}}target="_blank"{{end}}> + <time datetime="{{FormatTimeRFC3339 .CreatedAt.Time}}" title="{{FormatTimeRFC822 .CreatedAt.Time}}"> + {{TimeSince .CreatedAt.Time}} + </time> + </a> + </div> + </div> + </div> + </div> + {{end}} + {{end}} + {{end}} +</div> +{{end}} diff -rN -u "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/thread.tmpl" "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/thread.tmpl" --- "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/thread.tmpl" 1970-01-01 00:00:00.000000000 +0000 +++ "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/thread.tmpl" 2024-11-22 17:15:55.449621685 +0000 @@ -0,0 +1,18 @@ +{{with $s := .Data}} +{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} +<div class="page-title-container"> + <span class="page-title"> Interparolo </span> + <a class="page-refresh" href="{{$.Ctx.Referrer}}" accesskey="T" title="Reenlegi (T)">reenlegi</a> +</div> + +{{range .Statuses}} + +{{template "status.tmpl" (WithContext . $.Ctx)}} +{{if $s.PostContext.ReplyContext}}{{if eq .ID $s.PostContext.ReplyContext.InReplyToID}} +{{template "postform.tmpl" (WithContext $s.PostContext $.Ctx)}} +{{end}}{{end}} + +{{end}} + +{{template "footer.tmpl"}} +{{end}} diff -rN -u "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/timeline.tmpl" "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/timeline.tmpl" --- "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/timeline.tmpl" 1970-01-01 00:00:00.000000000 +0000 +++ "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/timeline.tmpl" 2024-11-22 17:15:55.449621685 +0000 @@ -0,0 +1,32 @@ +{{with .Data}} +{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} +<div class="page-title-container"> + <span class="page-title"> {{.Title}} </span> + <a class="page-refresh" href="{{$.Ctx.Referrer}}" accesskey="T" title="Reenlegi (T)">reenlegi</a> +</div> + +{{if eq .Type "remote"}} +<form class="search-form" action="/timeline/remote" method="GET"> + <span class="post-form-field"> + <label for="instance"> Noda retnomo </label> + <input id="instance" name="instance" value="{{.Instance}}"> + </span> + <button type="submit"> Serĉi </button> +</form> +{{end}} + +{{range .Statuses}} +{{template "status.tmpl" (WithContext . $.Ctx)}} +{{end}} + +<div class="pagination"> + {{if .PrevLink}} + <a href="{{.PrevLink}}">[antaŭa]</a> + {{end}} + {{if .NextLink}} + <a href="{{.NextLink}}">[sekva]</a> + {{end}} +</div> + +{{template "footer.tmpl"}} +{{end}} diff -rN -u "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/userlistitem.tmpl" "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/userlistitem.tmpl" --- "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/userlistitem.tmpl" 1970-01-01 00:00:00.000000000 +0000 +++ "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/userlistitem.tmpl" 2024-11-22 17:15:55.449621685 +0000 @@ -0,0 +1,15 @@ +{{with .Data}} +<div class="user-list-item"> + <div class="user-list-profile-img"> + <a class="img-link" href="/user/{{.ID}}"> + <img class="status-profile-img" src="{{.Avatar}}" title="@{{.Acct}}" alt="avatar" height="48" /> + </a> + </div> + <div class="user-list-name"> + <div class="status-dname"> {{EmojiFilter (HTML .DisplayName) .Emojis | Raw}} </div> + <a class="img-link" href="/user/{{.ID}}"> + <div class="status-uname"> @{{.Acct}} </div> + </a> + </div> +</div> +{{end}} diff -rN -u "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/userlist.tmpl" "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/userlist.tmpl" --- "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/userlist.tmpl" 1970-01-01 00:00:00.000000000 +0000 +++ "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/userlist.tmpl" 2024-11-22 17:15:55.449621685 +0000 @@ -0,0 +1,11 @@ +{{with .Data}} +<div> + {{range .}} + {{template "userlistitem.tmpl" (WithContext . $.Ctx)}} + {{else}} + <div class="no-data-found">No data found</div> + {{end}} +</div> +{{else}} +<div class="no-data-found">No data found</div> +{{end}} diff -rN -u "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/usersearch.tmpl" "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/usersearch.tmpl" --- "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/usersearch.tmpl" 1970-01-01 00:00:00.000000000 +0000 +++ "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/usersearch.tmpl" 2024-11-22 17:15:55.449621685 +0000 @@ -0,0 +1,26 @@ +{{with .Data}} +{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} +<div class="page-title"> Search {{EmojiFilter (HTML .User.DisplayName) .User.Emojis | Raw}}'s statuses </div> + +<form class="search-form" action="/usersearch/{{.User.ID}}" method="GET"> + <span class="post-form-field"> + <label for="query"> Query </label> + <input id="query" name="q" value="{{.Q}}"> + </span> + <button type="submit"> Search </button> +</form> + +{{range .Statuses}} +{{template "status.tmpl" (WithContext . $.Ctx)}} +{{else}} +{{if .Q}}<div class="no-data-found">No data found</div>{{end}} +{{end}} + +<div class="pagination"> + {{if .NextLink}} + <a href="{{.NextLink}}">[next]</a> + {{end}} +</div> + +{{template "footer.tmpl"}} +{{end}} diff -rN -u "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/user.tmpl" "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/user.tmpl" --- "old-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/user.tmpl" 1970-01-01 00:00:00.000000000 +0000 +++ "new-jam-xwx-moe/bloat-fe/instance/\305\235ablonoj/user.tmpl" 2024-11-22 17:15:55.449621685 +0000 @@ -0,0 +1,195 @@ +{{with .Data}} +{{template "header.tmpl" (WithContext .CommonData $.Ctx)}} +<div class="page-title"> Uzanto </div> + +<div class="user-info-container"> +<div> + <div class="user-profile-img-container"> + <a class="img-link" href="{{.User.Avatar}}" target="_blank"> + <img class="user-profile-img" src="{{.User.Avatar}}" alt="profile-avatar" height="96" /> + </a> + </div> + <div class="user-profile-details-container"> + <div> + <bdi class="status-dname"> {{EmojiFilter (HTML .User.DisplayName) .User.Emojis | Raw}} </bdi> + <span class="status-uname"> @{{.User.Acct}} </span> + <a class="remote-link" href="{{.User.URL}}" target="_blank" title="remote profile"> + source + </a> + </div> + {{if not .IsCurrent}} + <div> + <span> {{if .User.Pleroma.Relationship.FollowedBy}} follows you - {{end}} </span> + {{if .User.Pleroma.Relationship.BlockedBy}} blocks you - {{end}} + {{if .User.Pleroma.Relationship.Following}} + <form class="d-inline" action="/unfollow/{{.User.ID}}" method="post"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <input type="submit" value="malaboni" class="btn-link"> + </form> + {{else}} + <form class="d-inline" action="/follow/{{.User.ID}}" method="post"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <input type="submit" value="{{if .User.Pleroma.Relationship.Requested}}resend request{{else}}aboni{{end}}" class="btn-link"> + </form> + {{end}} + {{if .User.Pleroma.Relationship.Requested}} + - + <form class="d-inline" action="/unfollow/{{.User.ID}}" method="post"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <input type="submit" value="nuligi peton" class="btn-link"> + </form> + {{end}} + - + {{if .User.Pleroma.Relationship.Subscribing}} + <form class="d-inline" action="/unsubscribe/{{.User.ID}}" method="post"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <input type="submit" value="nuligi duonabonon" class="btn-link"> + </form> + {{else}} + <form class="d-inline" action="/subscribe/{{.User.ID}}" method="post"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <input type="submit" value="duonaboni" class="btn-link"> + </form> + {{end}} + </div> + <div> + {{if .User.Pleroma.Relationship.Blocking}} + <form class="d-inline" action="/unblock/{{.User.ID}}" method="post"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <input type="submit" value="malbloki" class="btn-link"> + </form> + {{else}} + <form class="d-inline" action="/block/{{.User.ID}}" method="post"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <input type="submit" value="bloki" class="btn-link"> + </form> + {{end}} + - + {{if .User.Pleroma.Relationship.Muting}} + <form class="d-inline" action="/unmute/{{.User.ID}}" method="post"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <input type="submit" value="malsilentigi" class="btn-link"> + </form> + {{else}} + <a href="/mute/{{.User.ID}}"> silentigi </a> + {{end}} + {{if .User.Pleroma.Relationship.Following}} + - + {{if .User.Pleroma.Relationship.ShowingReblogs}} + <form class="d-inline" action="/follow/{{.User.ID}}?reblogs=false" method="post"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <input type="submit" value="kaŝi ripetojn" class="btn-link"> + </form> + {{else}} + <form class="d-inline" action="/follow/{{.User.ID}}" method="post"> + <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}"> + <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}"> + <input type="submit" value="montri ripetojn" class="btn-link"> + </form> + {{end}} + {{end}} + </div> + {{end}} + <div> + <a href="/user/{{.User.ID}}"> statuses ({{.User.StatusesCount}}) </a> - + <a href="/user/{{.User.ID}}/following"> abonatoj ({{.User.FollowingCount}}) </a> - + <a href="/user/{{.User.ID}}/followers"> abonantoj ({{.User.FollowersCount}}) </a> - + <a href="/user/{{.User.ID}}/media"> dosieroj </a> + </div> + {{if .IsCurrent}} + <div> + <a href="/user/{{.User.ID}}/bookmarks"> legosignoj </a> + - <a href="/user/{{.User.ID}}/likes"> ŝatataj </a> + - <a href="/user/{{.User.ID}}/mutes"> silentigitaj </a> + - <a href="/user/{{.User.ID}}/blocks"> blokitaj </a> + {{if .User.Locked}}- <a href="/user/{{.User.ID}}/requests"> petoj </a>{{end}} + </div> + {{end}} + <div> + <a href="/usersearch/{{.User.ID}}"> serĉi afiŝojn </a> + {{if .IsCurrent}} - <a href="/filters"> filtriloj </a> {{end}} + </div> + </div> + <div class="user-profile-decription"> + {{EmojiFilter .User.Note .User.Emojis | Raw}} + </div> + {{if .User.Fields}} + <div class="user-fields"> + {{range .User.Fields}} + <div>{{EmojiFilter .Name $.Data.User.Emojis | Raw}} - {{EmojiFilter .Value $.Data.User.Emojis | Raw}}</div> + {{end}} + </div> + {{end}} +</div> +</div> + +{{if eq .Type ""}} +<div class="page-title"> Afiŝoj </div> +{{range .Statuses}} +{{template "status.tmpl" (WithContext . $.Ctx)}} +{{else}} +<div class="no-data-found">Neniu datumo trovita</div> +{{end}} + +{{else if eq .Type "following"}} +<div class="page-title"> Abonataj </div> +{{template "userlist.tmpl" (WithContext .Users $.Ctx)}} + +{{else if eq .Type "followers"}} +<div class="page-title"> Abonantoj </div> +{{template "userlist.tmpl" (WithContext .Users $.Ctx)}} + +{{else if eq .Type "media"}} +<div class="page-title"> Afiŝoj kun dosieroj </div> +{{range .Statuses}} +{{template "status.tmpl" (WithContext . $.Ctx)}} +{{else}} +<div class="no-data-found">Neniu datumo trovita</div> +{{end}} + +{{else if eq .Type "bookmarks"}} +<div class="page-title"> Legosignoj </div> +{{range .Statuses}} +{{template "status.tmpl" (WithContext . $.Ctx)}} +{{else}} +<div class="no-data-found">Neniu datumo trovita</div> +{{end}} + +{{else if eq .Type "likes"}} +<div class="page-title"> Ŝatataj </div> +{{range .Statuses}} +{{template "status.tmpl" (WithContext . $.Ctx)}} +{{else}} +<div class="no-data-found">Neniu datumo trovita</div> +{{end}} + +{{else if eq .Type "mutes"}} +<div class="page-title"> Silentigitaj </div> +{{template "userlist.tmpl" (WithContext .Users $.Ctx)}} + +{{else if eq .Type "blocks"}} +<div class="page-title"> Blocks </div> +{{template "userlist.tmpl" (WithContext .Users $.Ctx)}} + +{{else if eq .Type "requests"}} +<div class="page-title"> Abonpetoj </div> +{{template "requestlist.tmpl" (WithContext .Users $.Ctx)}} +{{end}} + +<div class="pagination"> + {{if .NextLink}} + <a href="{{.NextLink}}">[sekva]</a> + {{end}} +</div> + +{{template "footer.tmpl"}} +{{end}}