From 8330a840563fc4d4565044a9ba74bf6bf7343456 Mon Sep 17 00:00:00 2001 From: 08draven Date: Wed, 30 Oct 2024 20:37:20 -0400 Subject: [PATCH] add opengraph stuff --- client/comment.js | 1 - client/e404.js | 3 +-- client/login.js | 3 +-- client/main.js | 2 +- client/player.js | 3 ++- client/settings.js | 3 +-- client/tou.js | 3 +-- client/upload.js | 3 +-- client/user.js | 3 ++- form/auth.js | 9 ++++++++- static/img/logo.png | Bin 0 -> 20216 bytes static/img/logo.svg | 5 ++++- views/header.ejs | 8 ++++++-- views/player.ejs | 1 + 14 files changed, 29 insertions(+), 18 deletions(-) create mode 100644 static/img/logo.png diff --git a/client/comment.js b/client/comment.js index ba53870..db44cc9 100644 --- a/client/comment.js +++ b/client/comment.js @@ -7,7 +7,6 @@ let db = await initDb(); let main = new Route([auth], async function (req, res, input) { let {route} = req.params; let {id} = req.query; - let { username } = input; let comments = await db.all('SELECT * FROM comment WHERE targetType = ? AND targetId = ? ORDER BY date DESC', [ route, diff --git a/client/e404.js b/client/e404.js index 9f76fa6..f650a01 100644 --- a/client/e404.js +++ b/client/e404.js @@ -2,9 +2,8 @@ import Route from "../route.js"; import auth from "../form/auth.js"; let main = new Route([auth], async function (req, res, input) { - let { username } = input; return res.render('404', { - username + ...input }); }); diff --git a/client/login.js b/client/login.js index 4a4a099..b9cc184 100644 --- a/client/login.js +++ b/client/login.js @@ -3,7 +3,6 @@ import auth from "../form/auth.js"; // TODO: rewrite let main = new Route([auth], async function (req, res, input) { - let { username } = input; return res.render('form', { data: [ { label: "Username", type: "text", name: "user" }, @@ -11,7 +10,7 @@ let main = new Route([auth], async function (req, res, input) { ], 'route': '/api/form/login?redirect=' + req.query.redirect, 'title': 'Login', - username + ...input }); }); diff --git a/client/main.js b/client/main.js index c15c5f4..772bb79 100644 --- a/client/main.js +++ b/client/main.js @@ -12,7 +12,7 @@ let main = new Route([auth], async function (req, res, input) { username ]); return res.render('main', { - username, + ...input, videos, videosFollow }); diff --git a/client/player.js b/client/player.js index db86e0f..ab198cf 100644 --- a/client/player.js +++ b/client/player.js @@ -12,7 +12,8 @@ let main = new Route([comment], async function (req, res, input) { videoData = videoData[0]; return res.render('player', { ...input, - videoData + videoData, + ogType: 'video' }); }); diff --git a/client/settings.js b/client/settings.js index 5a99989..bc27265 100644 --- a/client/settings.js +++ b/client/settings.js @@ -3,7 +3,6 @@ import auth from "../form/auth.js"; // TODO: rewrite let main = new Route([auth], async function (req, res, input) { - let { username } = input; return res.render('form', { data: [ { label: "Description", type: "textarea", name: "desc" }, @@ -11,7 +10,7 @@ let main = new Route([auth], async function (req, res, input) { ], 'route': '/api/upload/settings', 'title': 'User Settings', - username + ...input }); /* todo: form in not a file */ }); diff --git a/client/tou.js b/client/tou.js index 9c3453e..06e6a37 100644 --- a/client/tou.js +++ b/client/tou.js @@ -2,9 +2,8 @@ import Route from "../route.js"; import auth from "../form/auth.js"; let main = new Route([auth], async function (req, res, input) { - let { username } = input; return res.render('guidelines', { - username + ...input }); }); diff --git a/client/upload.js b/client/upload.js index f21f555..000276f 100644 --- a/client/upload.js +++ b/client/upload.js @@ -3,7 +3,6 @@ import auth from "../form/auth.js"; // TODO: rewrite let main = new Route([auth], async function (req, res, input) { - let { username } = input; return res.render('form', { data: [ { label: "Video file", type: "file", name: "file" }, @@ -12,7 +11,7 @@ let main = new Route([auth], async function (req, res, input) { ], 'route': '/api/upload/upload', 'title': 'Upload Content', - username + ...input }); }); diff --git a/client/user.js b/client/user.js index cceca23..12584e7 100644 --- a/client/user.js +++ b/client/user.js @@ -28,7 +28,8 @@ let main = new Route([comment], async function (req, res, input) { videos, followers, following, - user + user, + icon: `${process.env.URL}/pfp/${id}.png` }); }); diff --git a/form/auth.js b/form/auth.js index 62410a1..ffe8752 100644 --- a/form/auth.js +++ b/form/auth.js @@ -4,6 +4,9 @@ import initDb from "../db.js"; let db = await initDb(); let main = new Route([], async function (req, res, input) { + let {route} = req.params; + let {id} = req.query; + let body = { ...req.cookies, ...req.body }; let { token } = body; @@ -20,7 +23,11 @@ let main = new Route([], async function (req, res, input) { return { username, - valid: valid[0] ? valid[0].valid : 'noexist' + valid: valid[0] ? valid[0].valid : 'noexist', + url: `${process.env.URL}/client/${route}?id=${id || ''}`, + icon: `${process.env.URL}/static/img/logo.png`, + rootUrl: process.env.URL, + ogType: 'website' }; }); diff --git a/static/img/logo.png b/static/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8fe969ce343cd4c709bc70396c1b53b3fdce4cc0 GIT binary patch literal 20216 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 arZWAE*WeUO3rK=hn8s->)i)>2{`^19l6j*5 literal 0 HcmV?d00001 diff --git a/static/img/logo.svg b/static/img/logo.svg index b10aea4..8edf55b 100644 --- a/static/img/logo.svg +++ b/static/img/logo.svg @@ -9,6 +9,9 @@ id="svg1" inkscape:version="1.4 (e7c3feb100, 2024-10-09)" sodipodi:docname="logo.svg" + inkscape:export-filename="logo.png" + inkscape:export-xdpi="452.63" + inkscape:export-ydpi="452.63" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" @@ -24,7 +27,7 @@ inkscape:deskcolor="#d1d1d1" inkscape:document-units="mm" inkscape:zoom="1" - inkscape:cx="112.5" + inkscape:cx="112" inkscape:cy="86.5" inkscape:window-width="1918" inkscape:window-height="1056" diff --git a/views/header.ejs b/views/header.ejs index 9ca8160..ecbcbed 100644 --- a/views/header.ejs +++ b/views/header.ejs @@ -2,12 +2,16 @@ - BiglyChat - + + + + + + diff --git a/views/player.ejs b/views/player.ejs index 30f6d37..e760254 100644 --- a/views/player.ejs +++ b/views/player.ejs @@ -1,4 +1,5 @@ <%- include('header.ejs') -%> +