diff --git a/app/controllers/home.js b/app/controllers/home.js index 1426454..41cf99f 100644 --- a/app/controllers/home.js +++ b/app/controllers/home.js @@ -18,7 +18,7 @@ class HomeController extends SiteController { async start ( ) { const { dtp } = this; - const { limiter: limiterService } = dtp.services; + const { limiter: limiterService, sidebar: sidebarService } = dtp.services; const router = express.Router(); dtp.app.use('/', router); @@ -37,6 +37,7 @@ class HomeController extends SiteController { router.get('/', limiterService.create(limiterService.config.home.getHome), + sidebarService.middleware(), this.getHome.bind(this), ); } @@ -70,14 +71,11 @@ class HomeController extends SiteController { } async getHome (req, res, next) { - const { link: linkService, user: userService } = this.dtp.services; + const { link: linkService } = this.dtp.services; try { res.locals.pagination = this.getPaginationParameters(req, 20); if (req.user) { res.locals.links = await linkService.getForUser(req.user, res.locals.pagination); - res.locals.recentLinks = await linkService.getRecent(3); - res.locals.popularLinks = await linkService.getPopular(3); - res.locals.recentUsers = await userService.getRecent(3); res.render('index-logged-in'); } else { res.render('index'); diff --git a/app/services/sidebar.js b/app/services/sidebar.js new file mode 100644 index 0000000..374607c --- /dev/null +++ b/app/services/sidebar.js @@ -0,0 +1,35 @@ +// sidebar.js +// Copyright (C) 2021 Digital Telepresence, LLC +// License: Apache-2.0 + +'use strict'; + +const { SiteService } = require('../../lib/site-lib'); + +class SidebarService extends SiteService { + + constructor (dtp) { + super(dtp, module.exports); + } + + middleware ( ) { + return async (req, res, next) => { + const { link: linkService, user: userService } = this.dtp.services; + try { + res.locals.popularLinks = await linkService.getPopular(3); + res.locals.recentLinks = await linkService.getRecent(3); + res.locals.recentUsers = await userService.getRecent(3); + return next(); + } catch (error) { + this.log.error('failed to populate sidebar', { error }); + return next(error); + } + }; + } +} + +module.exports = { + slug: 'sidebar', + name: 'sidebar', + create: (dtp) => { return new SidebarService(dtp); }, +}; \ No newline at end of file diff --git a/app/views/index.pug b/app/views/index.pug index 9f5b64b..f61bdfa 100644 --- a/app/views/index.pug +++ b/app/views/index.pug @@ -1,18 +1,15 @@ -extends layouts/main +extends layouts/main-sidebar block content - section.uk-section.uk-section-default - .uk-container - .uk-margin.uk-text-center - h1.uk-margin-remove= site.name - .uk-text-lead= site.description + .sr-only + h1.uk-margin-remove= site.name + .uk-text-lead= site.description - p #{site.name} provides a landing page people can use to display a collection of links. These can be used for people to help others find them on social media, ways to donate and support them, and more. - - p We do not allow the promotion of pornography or linking to it. This is otherwise a free-speech online service and will not ban people for their social or political views. + .uk-margin + img(src=`/img/social-cards/${site.domainKey}.png`).responsive.uk-border-rounded - div(uk-grid) - .uk-width-1-2 - a(href="/welcome/signup").uk-button.dtp-button-primary.uk-display-block Sign Up - .uk-width-1-2 - a(href="/welcome/login").uk-button.dtp-button-default.uk-display-block Login \ No newline at end of file + .uk-margin + div #{site.name} provides a landing page you configure with your links on it. Use it as a springboard into all your social media profiles, streaming channels, websites, podcasts, stores, blogs, and whatever else you can link to using a valid URL. + + .uk-margin + a(href="/welcome").uk-button.dtp-button-primary.uk-display-block Get Started \ No newline at end of file diff --git a/client/img/altmedia.png b/client/img/altmedia.png deleted file mode 100644 index b00f2f5..0000000 Binary files a/client/img/altmedia.png and /dev/null differ diff --git a/client/img/default-poster.jpg b/client/img/default-poster.jpg deleted file mode 100644 index 919d8ab..0000000 Binary files a/client/img/default-poster.jpg and /dev/null differ diff --git a/client/img/header-sample.png b/client/img/header-sample.png deleted file mode 100644 index abec896..0000000 Binary files a/client/img/header-sample.png and /dev/null differ diff --git a/client/img/logo.png b/client/img/logo.png deleted file mode 100644 index aee9756..0000000 Binary files a/client/img/logo.png and /dev/null differ diff --git a/client/img/lra-logo.png b/client/img/lra-logo.png deleted file mode 100644 index b87a4dd..0000000 Binary files a/client/img/lra-logo.png and /dev/null differ diff --git a/client/img/social-cards/altmedia.tv.png b/client/img/social-cards/altmedia.tv.png deleted file mode 100644 index a08e64d..0000000 Binary files a/client/img/social-cards/altmedia.tv.png and /dev/null differ diff --git a/client/img/social-cards/shing.tv.png b/client/img/social-cards/shing.tv.png deleted file mode 100644 index 0f8c6f0..0000000 Binary files a/client/img/social-cards/shing.tv.png and /dev/null differ