sharkey/src/client/app/desktop/views/pages/note.vue

67 lines
1.1 KiB
Vue
Raw Normal View History

2018-02-16 05:32:21 +09:00
<template>
<mk-ui>
<main v-if="!fetching">
2018-04-08 02:30:37 +09:00
<mk-note-detail :note="note"/>
2018-05-08 07:08:02 +09:00
<footer>
<router-link v-if="note.next" :to="note.next"><fa icon="angle-left"/> {{ $t('next') }}</router-link>
<router-link v-if="note.prev" :to="note.prev">{{ $t('prev') }} <fa icon="angle-right"/></router-link>
2018-05-08 07:08:02 +09:00
</footer>
2018-02-16 05:32:21 +09:00
</main>
</mk-ui>
</template>
<script lang="ts">
import Vue from 'vue';
import i18n from '../../../i18n';
2018-02-16 05:32:21 +09:00
import Progress from '../../../common/scripts/loading';
export default Vue.extend({
i18n: i18n('desktop/views/pages/note.vue'),
2018-02-16 05:32:21 +09:00
data() {
return {
fetching: true,
2018-04-08 02:30:37 +09:00
note: null
2018-02-16 05:32:21 +09:00
};
},
2018-02-22 21:23:10 +09:00
watch: {
$route: 'fetch'
},
created() {
this.fetch();
},
methods: {
fetch() {
Progress.start();
this.fetching = true;
2018-02-22 02:41:29 +09:00
2018-11-09 08:13:34 +09:00
this.$root.api('notes/show', {
2018-04-08 02:30:37 +09:00
noteId: this.$route.params.note
}).then(note => {
this.note = note;
2018-02-22 21:23:10 +09:00
this.fetching = false;
2018-02-16 05:32:21 +09:00
2018-02-22 21:23:10 +09:00
Progress.done();
});
}
2018-02-16 05:32:21 +09:00
}
});
</script>
<style lang="stylus" scoped>
main
padding 16px
text-align center
2018-05-08 07:08:02 +09:00
> footer
margin-top 16px
2018-02-16 05:32:21 +09:00
2018-05-08 07:08:02 +09:00
> a
display inline-block
margin 0 16px
2018-02-16 05:32:21 +09:00
2018-04-08 02:30:37 +09:00
> .mk-note-detail
2018-02-16 05:32:21 +09:00
margin 0 auto
width 640px
</style>