diff --git a/components/featured-content/guides.js b/components/featured-content/guides.js index 8f3db097d..60d0bb236 100644 --- a/components/featured-content/guides.js +++ b/components/featured-content/guides.js @@ -1,7 +1,7 @@ import Link from 'next/link'; import { FeaturedContentWrap } from './style'; -import guides from 'data/guides'; import FeaturedGuide from 'components/featured-guide'; +import { getFeaturedGuides } from 'lib/guide'; const FeaturedGuides = () => ( @@ -13,8 +13,7 @@ const FeaturedGuides = () => (

- { guides - .filter(({ featured }) => featured) + { getFeaturedGuides() .map(guide => ( )) } diff --git a/data/guides.json b/data/guides.json index 43e42227f..16cfd1719 100644 --- a/data/guides.json +++ b/data/guides.json @@ -6,8 +6,8 @@ "fileName": "design-patterns-for-humans", "featured": true, "author": "kamranahmedse", - "createdAt": "2018-11-29T17:00:00.860Z", - "updatedAt": "2018-11-29T17:00:00.860Z" + "updatedAt": "2019-10-09T12:00:00.860Z", + "createdAt": "2019-01-23T17:00:00.860Z" }, { "title": "Journey to HTTP/2", @@ -17,7 +17,8 @@ "featured": true, "author": "kamranahmedse", "createdAt": "2018-12-04T12:00:00.860Z", - "updatedAt": "2018-12-04T12:00:00.860Z" + "updatedAt": "2018-12-04T12:00:00.860Z", + "draft": true }, { "title": "DNS in One Picture", @@ -26,8 +27,8 @@ "fileName": "dns-in-one-picture", "featured": true, "author": "kamranahmedse", - "updatedAt": "2019-10-09T12:00:00.860Z", - "createdAt": "2019-01-23T17:00:00.860Z" + "updatedAt": "2018-12-04T12:00:00.860Z", + "createdAt": "2018-12-04T17:00:00.860Z" }, { "title": "HTTP Caching", @@ -36,7 +37,7 @@ "fileName": "http-caching", "featured": true, "author": "kamranahmedse", - "updatedAt": "2019-10-09T12:00:00.860Z", - "createdAt": "2019-01-23T17:00:00.860Z" + "createdAt": "2018-11-29T17:00:00.860Z", + "updatedAt": "2018-11-29T17:00:00.860Z" } ] diff --git a/lib/guide.js b/lib/guide.js index 1eaa3f830..148d1d712 100644 --- a/lib/guide.js +++ b/lib/guide.js @@ -3,7 +3,12 @@ import authors from "data/authors"; import siteConfig from "data/site"; export const getAllGuides = () => { - return guides; + return guides.filter(guide => !guide.draft) + .sort((a, b) => new Date(b.updatedAt) - new Date(a.updatedAt)); +}; + +export const getFeaturedGuides = () => { + return getAllGuides().filter(guide => guide.featured); }; export const getRequestedGuide = req => {