1
0
mirror of https://github.com/Pomax/BezierInfo-2.git synced 2025-08-02 14:57:40 +02:00
Files
BezierInfo-2/components/Navigation.jsx
Mike Kamermans 25a18d8891 Use Preact, rather than React (#91)
* moving to Preact to shave off 100+kb

* preact'ed
2017-04-02 14:32:06 -07:00

38 lines
1.0 KiB
JavaScript

var React = require('react');
var sections = require("./sections");
var sectionPages = Object.keys(sections);
var SectionHeader = require("./SectionHeader.jsx");
var Navigation = React.createClass({
generateNavItem: function(name, entry) {
var Type = sections[name];
var title = Type.defaultProps.title;
var locale = SectionHeader.locale;
if (typeof window !== "undefined" && window.location.toString().indexOf(locale) === -1) {
locale = '';
}
var fragmentid = `${locale ? './' + locale + '/': '.'}#${name}`;
var link = <a href={fragmentid}>{ title }</a>;
var last = sectionPages.length - 1;
if (entry===last) entry = null;
return <li key={name} data-number={entry}>{link}</li>;
},
generateNav: function() {
return (
<div ref="navigation">
<navigation>
<ul className="navigation">
{ sectionPages.map(this.generateNavItem) }
</ul>
</navigation>
</div>
);
},
render: function() {
return this.generateNav();
}
});
module.exports = Navigation;