pinafore/routes/_components/Layout.html
Maxime Le Conte des Floris eef54e992b focus container on page load (#116)
* focus container on page load

* only focus container on first page load

* add test for container focus on page load

* fix typo
2018-04-17 09:42:10 -07:00

35 lines
859 B
HTML

<Nav :page />
<div class="container" tabindex="0" ref:container>
<main>
<slot></slot>
</main>
{{#if !$isUserLoggedIn && page === 'home'}}
<InformationalFooter />
{{/if}}
</div>
<script>
import Nav from './Nav.html';
import { store } from '../_store/store'
import InformationalFooter from './InformationalFooter.html'
// Only focus the `.container` div on first load so it does not intefere
// with other desired behaviours (e.g. you click a toot, you navigate from
// a timeline view to a thread view, you press the back button, and now
// you're still focused on the toot).
let firstTime = true
export default {
components: {
Nav,
InformationalFooter
},
oncreate () {
if (firstTime) {
firstTime = false
this.refs.container.focus()
}
},
store: () => store
}
</script>