2018-05-02 02:05:36 +02:00
|
|
|
<Nav {page} />
|
2018-01-07 00:51:25 +01:00
|
|
|
|
2018-04-17 18:42:10 +02:00
|
|
|
<div class="container" tabindex="0" ref:container>
|
2018-02-13 07:06:05 +01:00
|
|
|
<main>
|
|
|
|
<slot></slot>
|
|
|
|
</main>
|
2018-05-02 02:05:36 +02:00
|
|
|
{#if !$isUserLoggedIn && page === 'home'}
|
2018-03-13 06:16:52 +01:00
|
|
|
<InformationalFooter />
|
2018-05-02 02:05:36 +02:00
|
|
|
{/if}
|
2018-02-13 07:06:05 +01:00
|
|
|
</div>
|
2018-01-07 00:51:25 +01:00
|
|
|
<script>
|
2018-04-20 06:38:01 +02:00
|
|
|
import Nav from './Nav.html'
|
2018-01-28 22:09:39 +01:00
|
|
|
import { store } from '../_store/store'
|
2018-03-13 06:16:52 +01:00
|
|
|
import InformationalFooter from './InformationalFooter.html'
|
2018-01-07 00:51:25 +01:00
|
|
|
|
2018-04-20 06:38:01 +02:00
|
|
|
// Only focus the `.container` div on first load so it does not intefere
|
2018-04-17 18:42:10 +02:00
|
|
|
// 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
|
|
|
|
|
2018-04-20 06:38:01 +02:00
|
|
|
export default {
|
|
|
|
components: {
|
|
|
|
Nav,
|
2018-03-13 06:16:52 +01:00
|
|
|
InformationalFooter
|
2018-04-17 18:42:10 +02:00
|
|
|
},
|
|
|
|
oncreate () {
|
|
|
|
if (firstTime) {
|
|
|
|
firstTime = false
|
|
|
|
this.refs.container.focus()
|
|
|
|
}
|
2018-05-03 06:32:43 +02:00
|
|
|
let { page } = this.get()
|
|
|
|
this.store.set({currentPage: page})
|
2018-04-17 18:42:10 +02:00
|
|
|
},
|
2018-01-27 19:46:52 +01:00
|
|
|
store: () => store
|
2018-04-20 06:38:01 +02:00
|
|
|
}
|
2018-01-07 00:51:25 +01:00
|
|
|
</script>
|