This commit is contained in:
x 2025-03-16 03:04:21 +01:00
parent a905b8817e
commit 76f1a3ddbb
7 changed files with 29 additions and 23 deletions

View File

@ -19,7 +19,7 @@ let items;
if(_itemid > 0) if(_itemid > 0)
items = await sql('items').where('id', _itemid); items = await sql('items').where('id', _itemid);
else else
items = await sql('items').orderBy('id', 'asc').where('src', 'like', '%soundcloud%').where('mime', 'like', 'audio/%'); items = await sql`select id, dest, mime, src from "items"`;
let count = 1; let count = 1;
let total = items.length; let total = items.length;

View File

@ -100,3 +100,7 @@ html[theme="f0ck"] .image-brand {
html[theme="orange"] .image-brand { html[theme="orange"] .image-brand {
filter: hue-rotate(-160deg); filter: hue-rotate(-160deg);
} }
.v0ck_overlay {
background-color: none !important;
}

View File

@ -221,14 +221,14 @@ export default new class {
return next(); return next();
}; };
async loggedin(req, res, next) { // async loggedin(req, res, next) {
if(!req.session) { // if(!req.session) {
return res.reply({ // return res.reply({
code: 401, // code: 401,
body: "401 - Unauthorized" // body: "401 - Unauthorized"
}); // });
} // }
return next(); // return next();
}; // };
}; };

View File

@ -1,14 +1,17 @@
import cfg from "../../inc/config.mjs"; import cfg from "../../inc/config.mjs";
import lib from "../lib.mjs";
import f0cklib from "../routeinc/f0cklib.mjs"; import f0cklib from "../routeinc/f0cklib.mjs";
export default (router, tpl) => { export default (router, tpl) => {
router.get(/^\/random$/, async (req, res) => { router.get(/^\/random$/, lib.loggedin, async (req, res) => {
let referer = req.headers.referer ?? ''; let referer = req.headers.referer ?? '';
let opts = {}; let opts = {};
if(referer.match(new RegExp(cfg.main.url.regex))) { // parse referer if(referer.match(new RegExp(cfg.main.url.regex))) { // parse referer
referer = referer.split(cfg.main.url.domain)[1]; referer = referer.split(cfg.main.url.domain)[1];
console.log("referer: ", referer);
const tmp = referer.match(/^\/?(?:\/tag\/(?<tag>.+?))?(?:\/user\/(?<user>.+?)\/(?<mode>f0cks|favs))?(?:\/(?<mime>image|audio|video))?(?:\/p\/(?<page>\d+))?(?:\/(?<itemid>\d+))?$/); const tmp = referer.match(/^\/?(?:\/tag\/(?<tag>.+?))?(?:\/user\/(?<user>.+?)\/(?<mode>f0cks|favs))?(?:\/(?<mime>image|audio|video))?(?:\/p\/(?<page>\d+))?(?:\/(?<itemid>\d+))?$/);
console.log("tmp: ", tmp);
if(tmp) if(tmp)
opts = tmp.groups; opts = tmp.groups;
} }
@ -23,6 +26,8 @@ export default (router, tpl) => {
session: !!req.session session: !!req.session
}); });
console.log("data", data);
if(!data.success) { if(!data.success) {
return res.reply({ return res.reply({
code: 404, code: 404,

View File

@ -4,11 +4,8 @@
<div id="main"> <div id="main">
<div class="container"> <div class="container">
<div class="_204863"> <div class="_204863">
<div class="imageDoor"> <div class="imageDoor"></div>
<div class="gapLeft"></div>
</div>
<div class="gapLeft">
</div>
@if(session) @if(session)
<div class="gapRight"> <div class="gapRight">
<svg class="iconset" id="a_favo"><use href="/s/img/iconset.svg#heart_{{ Object.values(item.favorites).filter(u => u.user == session.user)[0] ? 'solid' : 'regular' }}"></use></svg> <svg class="iconset" id="a_favo"><use href="/s/img/iconset.svg#heart_{{ Object.values(item.favorites).filter(u => u.user == session.user)[0] ? 'solid' : 'regular' }}"></use></svg>
@ -98,6 +95,9 @@
<a href="#" id="a_addtag">add tag</a>&nbsp;-&nbsp;<a href="#" id="a_toggle">toggle</a> <a href="#" id="a_addtag">add tag</a>&nbsp;-&nbsp;<a href="#" id="a_toggle">toggle</a>
<datalist id="testlist"></datalist> <datalist id="testlist"></datalist>
@endif @endif
@if(session)
{{phrase}}
@endif
</span> </span>
<span class="badge" id="favs"@if(!item.favorites.length || !session) hidden@endif> <span class="badge" id="favs"@if(!item.favorites.length || !session) hidden@endif>
@if(item.favorites.length && session) @if(item.favorites.length && session)

View File

@ -2,13 +2,7 @@
<div id="main"> <div id="main">
<div class="f0ckgle"> <div class="f0ckgle">
<div class="search-title"> <div class="search-title">
<span style="color:#4285F4;">f</span> <span>search</span>
<span style="color:#EA4335;">0</span>
<span style="color:#FBBC05;">c</span>
<span style="color:#4285F4;">k</span>
<span style="color:#34A853;">g</span>
<span style="color:#EA4335;">l</span>
<span style="color:#4285F4;">e</span>
</div> </div>
<form action="/search" class="admin-search"> <form action="/search" class="admin-search">
<input type="text" name="tag" value="{!! searchstring || '' !!}" /><button type="submit">🔍</button> <input type="text" name="tag" value="{!! searchstring || '' !!}" /><button type="submit">🔍</button>

View File

@ -93,6 +93,9 @@
<span class="nav-link-identifier">Random</span> <span class="nav-link-identifier">Random</span>
</a> </a>
</li> </li>
<li class="nav-item">
<a class="nav-link" href="/search">search</a>
</li>
</ul> </ul>
</div> </div>
<div class="collapse navbar-collapse show" id="navbarSupportedContent"> <div class="collapse navbar-collapse show" id="navbarSupportedContent">