Readlebee/app/views/global.js

52 lines
1.5 KiB
JavaScript
Raw Normal View History

import html from 'choo/html';
import headerImage from '../../dev/images/header.png';
export const globalView = (state, emit, i18n, view) => {
// Create a wrapper for view content that includes global header/footer
return html`<body>
<header>
<nav>
<div class="brand">
<a href="/">
<span><img src=${headerImage} alt="Readlebee"></span>
</a>
</div>
<!-- responsive-->
<input id="navMenu" type="checkbox" class="show">
2019-09-12 07:44:31 +02:00
<label for="navMenu" class="burger pseudo button">${'\u2261'}</label>
<div class="menu">
<label style="display: inline-block;">
2019-09-16 20:09:44 +02:00
<input type="text" name="search"
placeholder=${i18n.__('global.searchbar_placeholder')}
onchange=${e => {
emit('pushState', '/search?for=' + encodeURIComponent(e.target.value.trim()));
}}
>
</label>
2019-09-16 20:09:44 +02:00
<a href="/login" class="pseudo button">${i18n.__('global.menu_login')}</a>
<a href="/logout" class="pseudo button">${i18n.__('global.menu_logout')}</a>
</div>
</nav>
</header>
<main class="container">
${view(state, emit, i18n)}
</main>
2019-09-08 22:04:26 +02:00
<footer>
<nav>
<div class="links">
2019-09-16 20:09:44 +02:00
<a href="https://gitlab.com/Alamantus/Readlebee" class="pseudo button">
${i18n.__('global.footer_repo')}
</a>
<a href="https://gitter.im/Readlebee/community" class="pseudo button">
${i18n.__('global.footer_chat')}
</a>
2019-09-08 22:04:26 +02:00
</div>
</nav>
</footer>
</body>`;
}