You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.8 KiB
42 lines
1.8 KiB
import React, { Component } from "react";
|
|
import Menu, { MenuHeader, MenuLink, MenuGap } from "../../common/Menu";
|
|
import pluralize from "pluralize"
|
|
|
|
export default class StoryMenu extends Component {
|
|
render() {
|
|
return (
|
|
<Menu>
|
|
<MenuHeader>Story</MenuHeader>
|
|
<MenuLink to="/story/" icon="A">All</MenuLink>
|
|
<MenuGap />
|
|
<MenuHeader>By Category</MenuHeader>
|
|
<CategoryLinks categories={this.props.categories} />
|
|
<MenuGap />
|
|
<MenuHeader>By Tag</MenuHeader>
|
|
<MenuLink to="/story/tag/Location/Miner's%20Respite" icon="L" tagType="location">Miner's Respite</MenuLink>
|
|
<MenuLink to="/story/tag/Chracter/Ilyna%20T'Rea" icon="C" tagType="character">Ilyna T'Rea</MenuLink>
|
|
<MenuLink to="/story/tag/Organization/Redrock%20Agency" icon="O" tagType="organization">Redrock Agency</MenuLink>
|
|
<MenuLink to="/story/tag/Series/Yellow%20Haze" icon="S" tagType="series">Yellow Haze</MenuLink>
|
|
<MenuLink to="/story/tag/Event/Surveying%20The%20Ice%20World" icon="E" tagType="event">Surveying the Ice World</MenuLink>
|
|
<MenuLink to="/story/tag/" icon="T">All Tags</MenuLink>
|
|
<MenuGap />
|
|
<MenuHeader>Your Content</MenuHeader>
|
|
<MenuLink to="/story/authored/" icon="A">Listed</MenuLink>
|
|
<MenuLink to="/story/open/" icon="O">Open</MenuLink>
|
|
<MenuLink to="/story/unlisted/" icon="U">Unlisted</MenuLink>
|
|
<MenuGap />
|
|
<MenuHeader>Options</MenuHeader>
|
|
<MenuLink icon="+">Create Story</MenuLink>
|
|
</Menu>
|
|
)
|
|
}
|
|
}
|
|
|
|
function CategoryLinks({categories}) {
|
|
return categories.map(category => {
|
|
const icon = category.charAt(0).toUpperCase()
|
|
const label = pluralize(category)
|
|
|
|
return <MenuLink to={`/story/category/${category}`} icon={icon}>{label}</MenuLink>
|
|
})
|
|
}
|