rudeshark.net/src/client/app/mobile/views/pages/note.vue

85 lines
1.3 KiB
Vue
Raw Normal View History

2018-02-15 21:50:30 +01:00
<template>
<mk-ui>
2018-04-14 18:04:40 +02:00
<span slot="header">%fa:R sticky-note%%i18n:@title%</span>
2018-02-15 21:50:30 +01:00
<main v-if="!fetching">
2018-04-14 18:04:40 +02:00
<a v-if="note.next" :href="note.next">%fa:angle-up%%i18n:@next%</a>
2018-02-15 21:50:30 +01:00
<div>
2018-04-07 19:30:37 +02:00
<mk-note-detail :note="note"/>
2018-02-15 21:50:30 +01:00
</div>
2018-04-14 18:04:40 +02:00
<a v-if="note.prev" :href="note.prev">%fa:angle-down%%i18n:@prev%</a>
2018-02-15 21:50:30 +01:00
</main>
</mk-ui>
</template>
<script lang="ts">
import Vue from 'vue';
import Progress from '../../../common/scripts/loading';
export default Vue.extend({
data() {
return {
fetching: true,
2018-04-07 19:30:37 +02:00
note: null
2018-02-15 21:50:30 +01:00
};
},
2018-02-22 13:23:10 +01:00
watch: {
$route: 'fetch'
},
created() {
this.fetch();
},
2018-02-15 21:50:30 +01:00
mounted() {
document.title = 'Misskey';
2018-02-22 13:23:10 +01:00
},
methods: {
fetch() {
Progress.start();
this.fetching = true;
2018-02-15 21:50:30 +01:00
2018-04-07 19:30:37 +02:00
(this as any).api('notes/show', {
noteId: this.$route.params.note
}).then(note => {
this.note = note;
2018-02-22 13:23:10 +01:00
this.fetching = false;
2018-02-15 21:50:30 +01:00
2018-02-22 13:23:10 +01:00
Progress.done();
});
}
2018-02-15 21:50:30 +01:00
}
});
</script>
<style lang="stylus" scoped>
main
text-align center
> div
margin 8px auto
padding 0
max-width 500px
width calc(100% - 16px)
@media (min-width 500px)
margin 16px auto
width calc(100% - 32px)
> a
display inline-block
&:first-child
margin-top 8px
@media (min-width 500px)
margin-top 16px
&:last-child
margin-bottom 8px
@media (min-width 500px)
margin-bottom 16px
> [data-fa]
margin-right 4px
</style>