diff --git a/src/app/controllers/home.ts b/src/app/controllers/home.ts index 7c2fb21..9390af4 100644 --- a/src/app/controllers/home.ts +++ b/src/app/controllers/home.ts @@ -31,7 +31,8 @@ export class HomeController extends WebController { async getHome (req: Request, res: Response, next: NextFunction) : Promise { const feedService = this.getService("feed"); try { - res.locals.feedLibrary = await feedService.getUnifiedFeed({ p: 1, skip: 0, cpp: 20 }); + res.locals.pagination = this.getPaginationParameters(req, 20); + res.locals.feedLibrary = await feedService.getUnifiedFeed(res.locals.pagination); if (req.user) { return res.render('home-auth'); } diff --git a/src/app/views/components/page-sidebar.pug b/src/app/views/components/page-sidebar.pug index 42a2cac..936eb70 100644 --- a/src/app/views/components/page-sidebar.pug +++ b/src/app/views/components/page-sidebar.pug @@ -31,18 +31,3 @@ mixin renderPageSidebar ( ) aria-label="Search", ).uk-search-input.uk-border-rounded - .uk-margin-medium - +renderSectionTitle('Running Tests', { label: "See All", title: "View all tests", url: "/load-test" }) - .sidebar-widget - if Array.isArray(tests.running) && (tests.running.length > 0) - pre= JSON.stringify(tests.running, null, 2) - else - div There are no live tests - - .uk-margin-medium - +renderSectionTitle('Finished Tests', { label: "See All", title: "View all finished tests", url: "/load-test/finished" }) - .sidebar-widget - if Array.isArray(tests.finished) && (tests.finished.length > 0) - pre= JSON.stringify(tests.finished, null, 2) - else - div There are no live tests \ No newline at end of file diff --git a/src/app/views/feed-item/components/headline-list.pug b/src/app/views/feed-item/components/headline-list.pug new file mode 100644 index 0000000..8b1c63b --- /dev/null +++ b/src/app/views/feed-item/components/headline-list.pug @@ -0,0 +1,11 @@ +mixin renderFeedItemHeadlineList (feedLibrary) + if Array.isArray(feedLibrary.items) && (feedLibrary.items.length > 0) + ul.uk-list.uk-list-small.uk-list-divider + each feedItem in feedLibrary.items + li + a(href= feedItem.link, target="_blank").uk-link-reset.uk-display-block + p.uk-text-lead.uk-margin-remove= feedItem.title + div!= feedItem.summary + .uk-text-small.uk-text-muted Published #{dayjs(feedItem.created).format("MMMM DD, YYYY")}, at #{dayjs(feedItem.created).format("hh:mm a")} + else + div There are no feed items to display \ No newline at end of file diff --git a/src/app/views/feed-item/components/headline-section.pug b/src/app/views/feed-item/components/headline-section.pug new file mode 100644 index 0000000..57b4e82 --- /dev/null +++ b/src/app/views/feed-item/components/headline-section.pug @@ -0,0 +1,4 @@ +include headline-list +section.uk-section.uk-section-secondary.uk-section-small + .uk-container + +renderFeedItemHeadlineList(feedLibrary) diff --git a/src/app/views/home-auth.pug b/src/app/views/home-auth.pug index 01e68ac..f55ca0a 100644 --- a/src/app/views/home-auth.pug +++ b/src/app/views/home-auth.pug @@ -1,5 +1,10 @@ extends layouts/main-sidebar-wide block content - h1 Test Dashboard - p This view will soon have recent top-level test reports and other analytics. \ No newline at end of file + include feed-item/components/headline-list + include components/pagination-bar + + h1 News Dashboard + +renderFeedItemHeadlineList(feedLibrary) + + +renderPaginationBar("/", feedLibrary.totalItemCount) \ No newline at end of file diff --git a/src/app/views/home.pug b/src/app/views/home.pug index 40742a8..abd578d 100644 --- a/src/app/views/home.pug +++ b/src/app/views/home.pug @@ -9,15 +9,4 @@ block content .app-title= site.name .app-description= site.description - section.uk-section.uk-section-secondary.uk-section-small - .uk-container - if Array.isArray(feedLibrary.items) && (feedLibrary.items.length > 0) - ul.uk-list.uk-list-small.uk-list-divider - each feedItem in feedLibrary.items - li - a(href= feedItem.link, target="_blank").uk-link-reset.uk-display-block - p.uk-text-lead.uk-margin-remove= feedItem.title - div!= feedItem.summary - .uk-text-small.uk-text-muted Published #{dayjs(feedItem.created).format("MMMM DD, YYYY")}, at #{dayjs(feedItem.created).format("hh:mm a")} - else - div There are no feed items to display \ No newline at end of file + include feed-item/components/headline-section \ No newline at end of file diff --git a/src/app/views/user/settings.pug b/src/app/views/user/settings.pug index 2347a78..7300ada 100644 --- a/src/app/views/user/settings.pug +++ b/src/app/views/user/settings.pug @@ -71,8 +71,8 @@ block content .uk-margin label(for="theme").uk-form-label UI Theme select(id="theme", name="theme").uk-select - option(value="dtp-light", selected= user ? userProfile.theme === 'dtp-light' : true) Light Mode - option(value="dtp-dark", selected= user ? userProfile.theme === 'dtp-dark' : false) Dark Mode + option(value="newsroom-light", selected= user ? userProfile.theme === 'newsroom-light' : true) Light Mode + option(value="newsroom-dark", selected= user ? userProfile.theme === 'newsroom-dark' : false) Dark Mode div .uk-margin diff --git a/src/lib/web/server.ts b/src/lib/web/server.ts index 9b07d5b..0821cb8 100644 --- a/src/lib/web/server.ts +++ b/src/lib/web/server.ts @@ -128,7 +128,7 @@ export class WebServer extends DtpBase { return next(); } - this.app.use(["/dist","/"], serviceWorkerAllowed, express.static(path.join(env.root, "dist", "client"))); + this.app.use(["/dist", "/"], serviceWorkerAllowed, express.static(path.join(env.root, "dist", "client"))); this.app.use("/socket.io", cacheOneDay, express.static(path.join(env.root, "node_modules", "socket.io", "client-dist"))); this.app.use("/uikit", cacheOneDay, express.static(path.join(env.root, "node_modules", "uikit", "dist")));