Vulcan/packages/base-components/lib/common/Header.jsx

55 lines
1.6 KiB
React
Raw Normal View History

2016-02-23 13:17:56 +09:00
import NoSSR from 'react-no-ssr';
2016-03-23 11:46:56 +09:00
import Router from '../router.js'
import Core from "meteor/nova:core";
import { Button } from 'react-bootstrap';
const Messages = Core.Messages;
2016-02-25 21:05:53 +09:00
const Header = ({currentUser}) => {
2016-02-16 15:08:30 +09:00
({Logo, ListContainer, CategoriesList, FlashContainer, FlashMessages, ModalTrigger, NewDocContainer, CanCreatePost, CurrentUserContainer, NewsletterForm, SearchForm} = Telescope.components);
2016-02-16 15:08:30 +09:00
const logoUrl = Telescope.settings.get("logoUrl");
const siteTitle = Telescope.settings.get("title", "Telescope");
const tagline = Telescope.settings.get("tagline");
return (
<header className="header">
<div className="logo">
<Logo logoUrl={logoUrl} siteTitle={siteTitle} />
{tagline ? <h2 className="tagline">{tagline}</h2> : "" }
</div>
<div className="nav">
<ListContainer collection={Categories} limit={0}><CategoriesList/></ListContainer>
2016-02-16 15:08:30 +09:00
</div>
<LogInButtons />
2016-02-23 13:17:56 +09:00
2016-03-23 11:46:56 +09:00
{currentUser ? <p><a href={Router.path("account")}>My Account</a></p> : ""}
2016-02-25 21:05:53 +09:00
<CanCreatePost user={currentUser}>
<ModalTrigger component={<Button bsStyle="primary">New Post</Button>}>
<NewDocContainer
collection={Posts}
label="New Post"
methodName="posts.new"
successCallback={(post)=>{
Messages.flash("Post created.", "success");
2016-03-23 11:46:56 +09:00
Router.go('posts.single', post);
}}
/>
</ModalTrigger>
2016-02-27 17:46:11 +09:00
</CanCreatePost>
2016-02-25 21:05:53 +09:00
2016-03-18 11:53:46 +09:00
<CurrentUserContainer component={NewsletterForm} />
2016-03-22 11:04:59 +09:00
<SearchForm/>
<FlashContainer component={FlashMessages}/>
2016-02-25 21:05:53 +09:00
2016-02-16 15:08:30 +09:00
</header>
)
}
module.exports = Header;