summaryrefslogtreecommitdiff
path: root/src/server/web/app/mobile/api/post.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/web/app/mobile/api/post.ts')
-rw-r--r--src/server/web/app/mobile/api/post.ts43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/server/web/app/mobile/api/post.ts b/src/server/web/app/mobile/api/post.ts
new file mode 100644
index 0000000000..9b78ce10c2
--- /dev/null
+++ b/src/server/web/app/mobile/api/post.ts
@@ -0,0 +1,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();
+ }
+};