mode reminder for lazy peeps
This commit is contained in:
@@ -327,7 +327,10 @@
|
||||
"scroll_for_more": "Scrollen für mehr..."
|
||||
},
|
||||
"error": {
|
||||
"label": "Fehler"
|
||||
"label": "Fehler",
|
||||
"post_not_visible": "Dieser Beitrag ist derzeit leider nicht sichtbar.",
|
||||
"filter_hint": "Dein aktueller Filter ist auf {mode} gesetzt.",
|
||||
"filter_hint_link": "Um diesen Inhalt zu sehen, ändere deinen Filter entsprechend."
|
||||
},
|
||||
"drop": {
|
||||
"drop_anywhere": "Überall ablegen zum Hochladen"
|
||||
|
||||
@@ -327,7 +327,10 @@
|
||||
"scroll_for_more": "Scroll for more..."
|
||||
},
|
||||
"error": {
|
||||
"label": "Error"
|
||||
"label": "Error",
|
||||
"post_not_visible": "Sorry, this post is currently not visible.",
|
||||
"filter_hint": "Your current filter is set to {mode}.",
|
||||
"filter_hint_link": "To view this content, change your filter accordingly."
|
||||
},
|
||||
"drop": {
|
||||
"drop_anywhere": "Drop anywhere to upload"
|
||||
|
||||
@@ -327,7 +327,10 @@
|
||||
"scroll_for_more": "Scroll voor meer..."
|
||||
},
|
||||
"error": {
|
||||
"label": "Fout"
|
||||
"label": "Fout",
|
||||
"post_not_visible": "Sorry, deze post is momenteel niet zichtbaar.",
|
||||
"filter_hint": "Je huidige filter is ingesteld op {mode}.",
|
||||
"filter_hint_link": "Om deze inhoud te bekijken, pas je filter aan."
|
||||
},
|
||||
"drop": {
|
||||
"drop_anywhere": "Overal slepen om te uploaden"
|
||||
|
||||
@@ -325,7 +325,10 @@
|
||||
"scroll_for_more": "Scrollen für mehr..."
|
||||
},
|
||||
"error": {
|
||||
"label": "Fehler"
|
||||
"label": "Fehler",
|
||||
"post_not_visible": "Bedauerlicher Weise ist dieser Pfosten derzeit nicht sichtbar.",
|
||||
"filter_hint": "Ihr aktueller Filter ist auf {mode} eingestellt.",
|
||||
"filter_hint_link": "Um diesen Inhalt zu betrachten, stellen Sie Ihren Filter entsprechend um."
|
||||
},
|
||||
"drop": {
|
||||
"drop_anywhere": "Überall ablegen zum Aufladieren"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import f0cklib from "../routeinc/f0cklib.mjs";
|
||||
import url from "url";
|
||||
import cfg from "../config.mjs";
|
||||
import { createI18n } from "../i18n.mjs";
|
||||
|
||||
export default (router, tpl) => {
|
||||
router.get(/\/ajax\/item\/(?<itemid>\d+)/, async (req, res) => {
|
||||
@@ -57,9 +58,17 @@ export default (router, tpl) => {
|
||||
const tAjaxFetch = Date.now();
|
||||
|
||||
if (!data.success) {
|
||||
const reqMode = (query.mode !== undefined ? +query.mode : req.mode) ?? 0;
|
||||
const modeLabels = { 0: 'SFW', 1: 'NSFW', 2: 'Untagged', 4: 'NSFL' };
|
||||
const errorModeLabel = (req.session && reqMode !== 3) ? (modeLabels[reqMode] || null) : null;
|
||||
const { t: tErr } = createI18n(req.session?.language || req.lang || 'en');
|
||||
const errorHtml = tpl.render('error-partial', {
|
||||
message: data.message || '404 - Not f0cked',
|
||||
tmp: null
|
||||
message: tErr('error.post_not_visible'),
|
||||
tmp: null,
|
||||
session: req.session ? { ...req.session } : false,
|
||||
error_mode_label: errorModeLabel,
|
||||
error_filter_hint: errorModeLabel ? tErr('error.filter_hint', { mode: `<strong>${errorModeLabel}</strong>` }) : null,
|
||||
error_filter_hint_link: tErr('error.filter_hint_link')
|
||||
}, req);
|
||||
return res.reply({
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
|
||||
@@ -2,6 +2,7 @@ import cfg from "../config.mjs";
|
||||
import db from "../sql.mjs";
|
||||
import lib from "../lib.mjs";
|
||||
import f0cklib from "../routeinc/f0cklib.mjs";
|
||||
import { createI18n } from "../i18n.mjs";
|
||||
|
||||
const auth = async (req, res, next) => {
|
||||
if (!req.session)
|
||||
@@ -270,13 +271,21 @@ export default (router, tpl) => {
|
||||
// Return 200 for filtered NSFW items (has item data) so Discord parses og:image
|
||||
// Return 404 only for truly missing items
|
||||
const statusCode = data.item ? 200 : 404;
|
||||
const reqMode = req.mode ?? 0;
|
||||
const modeLabels = { 0: 'SFW', 1: 'NSFW', 2: 'Untagged', 4: 'NSFL' };
|
||||
const errorModeLabel = (req.session && reqMode !== 3) ? (modeLabels[reqMode] || null) : null;
|
||||
const { t: tErr } = createI18n(req.session?.language || req.lang || 'en');
|
||||
return res.reply({
|
||||
code: statusCode,
|
||||
body: tpl.render('error', {
|
||||
message: data.message,
|
||||
message: tErr('error.post_not_visible'),
|
||||
item: data.item, // For OG meta tags on filtered NSFW items
|
||||
domain: cfg.main.url.domain,
|
||||
tmp: null
|
||||
tmp: null,
|
||||
session: req.session ? { ...req.session } : false,
|
||||
error_mode_label: errorModeLabel,
|
||||
error_filter_hint: errorModeLabel ? tErr('error.filter_hint', { mode: `<strong>${errorModeLabel}</strong>` }) : null,
|
||||
error_filter_hint_link: tErr('error.filter_hint_link')
|
||||
}, req)
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user