summaryrefslogtreecommitdiff
path: root/src/web/app/mobile/api/post.ts
blob: 9b78ce10c224f0508d3dda080380d3a79a148a0c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import PostForm from '../views/components/post-form.vue';
//import RepostForm from '../views/components/repost-form.vue';
import getPostSummary from '../../../../common/get-post-summary';

export default (os) => (opts) => {
	const o = opts || {};

	if (o.repost) {
		/*const vm = new RepostForm({
			propsData: {
				repost: o.repost
			}
		}).$mount();
		vm.$once('cancel', recover);
		vm.$once('post', recover);
		document.body.appendChild(vm.$el);*/

		const text = window.prompt(`「${getPostSummary(o.repost)}」をRepost`);
		if (text == null) return;
		os.api('posts/create', {
			repost_id: o.repost.id,
			text: text == '' ? undefined : text
		});
	} else {
		const app = document.getElementById('app');
		app.style.display = 'none';

		function recover() {
			app.style.display = 'block';
		}

		const vm = new PostForm({
			parent: os.app,
			propsData: {
				reply: o.reply
			}
		}).$mount();
		vm.$once('cancel', recover);
		vm.$once('post', recover);
		document.body.appendChild(vm.$el);
		(vm as any).focus();
	}
};