1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- const html = require('choo/html');
- const Component = require('choo/component');
- const Account = require('./account');
- const assets = require('../../common/assets');
- const { platform } = require('../utils');
- class Header extends Component {
- constructor(name, state, emit) {
- super(name);
- this.state = state;
- this.emit = emit;
- this.account = state.cache(Account, 'account');
- }
- update() {
- this.account.render();
- return false;
- }
- createElement() {
- let assetMap = {};
- if (this.state.ui !== undefined) assetMap = this.state.ui.assets;
- else
- assetMap = {
- icon:
- this.state.WEB_UI.CUSTOM_ASSETS.icon !== ''
- ? this.state.WEB_UI.CUSTOM_ASSETS.icon
- : assets.get('icon.svg'),
- wordmark:
- this.state.WEB_UI.CUSTOM_ASSETS.wordmark !== ''
- ? this.state.WEB_UI.CUSTOM_ASSETS.wordmark
- : assets.get('wordmark.svg') + '#logo'
- };
- const title =
- platform() === 'android'
- ? html`
- <a class="flex flex-row items-center">
- <img src="${assetMap.icon}" />
- <svg class="w-48">
- <use xlink:href="${assetMap.wordmark}" />
- </svg>
- </a>
- `
- : html`
- <a class="flex flex-row items-center" href="/">
- <img
- alt="${this.state.translate('title')}"
- src="${assetMap.icon}"
- />
- <svg viewBox="66 0 340 64" class="w-48 md:w-64">
- <use xlink:href="${assetMap.wordmark}" />
- </svg>
- </a>
- `;
- return html`
- <header
- class="main-header relative flex-none flex flex-row items-center justify-between w-full px-6 md:px-8 h-16 md:h-24 z-20 bg-transparent"
- >
- ${title} ${this.account.render()}
- </header>
- `;
- }
- }
- module.exports = Header;
|