This commit is contained in:
syuilo 2018-02-16 15:38:12 +09:00
parent aa433c2ac9
commit 9b8e31a035
6 changed files with 67 additions and 57 deletions

View file

@ -6,8 +6,10 @@ import forkit from './forkit.vue';
import nav from './nav.vue';
import postHtml from './post-html';
import reactionIcon from './reaction-icon.vue';
import reactionsViewer from './reactions-viewer.vue';
import time from './time.vue';
import images from './images.vue';
import uploader from './uploader.vue';
Vue.component('mk-signin', signin);
Vue.component('mk-signup', signup);
@ -15,5 +17,7 @@ Vue.component('mk-forkit', forkit);
Vue.component('mk-nav', nav);
Vue.component('mk-post-html', postHtml);
Vue.component('mk-reaction-icon', reactionIcon);
Vue.component('mk-reactions-viewer', reactionsViewer);
Vue.component('mk-time', time);
Vue.component('mk-images', images);
Vue.component('mk-uploader', uploader);

View file

@ -1,5 +1,5 @@
<template>
<div>
<div class="mk-reactions-viewer">
<template v-if="reactions">
<span v-if="reactions.like"><mk-reaction-icon reaction='like'/><span>{{ reactions.like }}</span></span>
<span v-if="reactions.love"><mk-reaction-icon reaction='love'/><span>{{ reactions.love }}</span></span>
@ -14,36 +14,36 @@
</div>
</template>
<script lang="typescript">
export default {
props: ['post'],
computed: {
reactions() {
return this.post.reaction_counts;
}
<script lang="ts">
import Vue from 'vue';
export default Vue.extend({
props: ['post'],
computed: {
reactions(): number {
return this.post.reaction_counts;
}
};
}
});
</script>
<style lang="stylus" scoped>
:scope
display block
border-top dashed 1px #eee
border-bottom dashed 1px #eee
margin 4px 0
.mk-reactions-viewer
border-top dashed 1px #eee
border-bottom dashed 1px #eee
margin 4px 0
&:empty
display none
&:empty
display none
> span
margin-right 8px
> mk-reaction-icon
font-size 1.4em
> span
margin-right 8px
> mk-reaction-icon
font-size 1.4em
> span
margin-left 4px
font-size 1.2em
color #444
margin-left 4px
font-size 1.2em
color #444
</style>

View file

@ -19,6 +19,8 @@
<script lang="ts">
import Vue from 'vue';
import { apiUrl } from '../../../config';
export default Vue.extend({
data() {
return {
@ -34,14 +36,15 @@ export default Vue.extend({
const ctx = {
id: id,
name: file.name || 'untitled',
progress: undefined
progress: undefined,
img: undefined
};
this.uploads.push(ctx);
this.$emit('change', this.uploads);
const reader = new FileReader();
reader.onload = e => {
reader.onload = (e: any) => {
ctx.img = e.target.result;
};
reader.readAsDataURL(file);
@ -53,8 +56,8 @@ export default Vue.extend({
if (folder) data.append('folder_id', folder);
const xhr = new XMLHttpRequest();
xhr.open('POST', _API_URL_ + '/drive/files/create', true);
xhr.onload = e => {
xhr.open('POST', apiUrl + '/drive/files/create', true);
xhr.onload = (e: any) => {
const driveFile = JSON.parse(e.target.response);
this.$emit('uploaded', driveFile);