From e1fd9a77f67e1b9f50c7940036608c25ab1a6a32 Mon Sep 17 00:00:00 2001 From: slaveeks <81693471+slaveeks@users.noreply.github.com> Date: Mon, 12 Sep 2022 20:11:44 +0300 Subject: [PATCH 1/4] Added default index page, default startPage, removed iframe (#250) * Removed iframe, added default index page, made startPage optional parameter * Renamed class for landing content * Added paddings for message in index page, removed iframe link from index * Renamed landing to greeting * rm extra margins, upd svg Co-authored-by: Peter Savchenko --- .codexdocsrc.sample | 1 - src/backend/routes/home.ts | 17 ++++++++++- src/backend/views/pages/index.twig | 13 +++++---- src/frontend/styles/components/greeting.pcss | 25 ++++++++++++++++ src/frontend/styles/components/landing.pcss | 30 -------------------- src/frontend/styles/main.pcss | 2 +- src/frontend/svg/frog.svg | 1 + 7 files changed, 50 insertions(+), 39 deletions(-) create mode 100644 src/frontend/styles/components/greeting.pcss delete mode 100644 src/frontend/styles/components/landing.pcss create mode 100644 src/frontend/svg/frog.svg diff --git a/.codexdocsrc.sample b/.codexdocsrc.sample index c6d9ca7..43b9f94 100644 --- a/.codexdocsrc.sample +++ b/.codexdocsrc.sample @@ -5,7 +5,6 @@ "Guides", {"title": "CodeX", "uri": "https://codex.so"} ], - "landingFrameSrc": "https://codex.so/editor?frame=1", "startPage": "", "misprintsChatId": "12344564", "yandexMetrikaId": "", diff --git a/src/backend/routes/home.ts b/src/backend/routes/home.ts index 3f82940..74ce2b8 100644 --- a/src/backend/routes/home.ts +++ b/src/backend/routes/home.ts @@ -1,5 +1,8 @@ import express, { Request, Response } from 'express'; import verifyToken from './middlewares/token.js'; +import PagesOrder from '../controllers/pagesOrder.js'; +import Pages from '../controllers/pages.js'; + const router = express.Router(); @@ -7,10 +10,22 @@ const router = express.Router(); router.get('/', verifyToken, async (req: Request, res: Response) => { const config = req.app.locals.config; + // Check if config consists startPage if (config.startPage) { return res.redirect(config.startPage); + } else { + const pageOrder = await PagesOrder.getRootPageOrder(); + + // Check if page order consists + if (pageOrder.order.length > 0) { + // Get the first parent page + const page = await Pages.get(pageOrder.order[0]); + + res.redirect(page.uri!); + } else { + res.render('pages/index', { isAuthorized: res.locals.isAuthorized }); + } } - res.render('pages/index', { isAuthorized: res.locals.isAuthorized }); }); export default router; diff --git a/src/backend/views/pages/index.twig b/src/backend/views/pages/index.twig index 33d0a17..ca975db 100644 --- a/src/backend/views/pages/index.twig +++ b/src/backend/views/pages/index.twig @@ -3,7 +3,6 @@ {{ config.title }} - @@ -12,13 +11,15 @@ - + {% include "components/header.twig" %} -
- {{ svg('loader') }} +
+ {{ svg('frog') }} +

+ It’s time to create the first page! +

+ {% include 'components/button.twig' with {label: 'Add page', icon: 'plus', size: 'small', url: '/page/new'} %}
- - {% if config.yandexMetrikaId is not empty %}