From 062185020b6c2cfd03d7a9de7ed718bcd2f461d4 Mon Sep 17 00:00:00 2001 From: Nick Pegg Date: Sat, 7 Oct 2017 19:57:06 -0700 Subject: [PATCH] Add links to pages in the sidebar nav --- src/Nav.js | 37 +++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/src/Nav.js b/src/Nav.js index cdd4eee..b3938b9 100644 --- a/src/Nav.js +++ b/src/Nav.js @@ -1,5 +1,6 @@ import React, { Component } from 'react'; import { Link } from 'react-router-dom'; +import slugify from 'slugify'; import Icon from 'react-fontawesome'; @@ -33,15 +34,43 @@ class RouterListLink extends Component { } class NavList extends Component { + constructor(props) { + super(props); + this.state = { + pageLinks: null, + } + } + + componentDidMount() { + fetch('/site.json') + .then(resp => resp.json()) + .then(blob => { + let links = []; + for (let page of blob.pages) { + let slug = page.slug; + if (!slug) { + slug = slugify(page.title).toLowerCase(); + } + + if (page.parent == null) { + let href = "/" + slug; + links.push(); + } + } + + this.setState({pageLinks: links}); + }); + } render() { - // TODO: populate these dynamically based on root page names - // but keep Home first and RSS at the end return (
    - - + { this.state.pageLinks }