diff --git a/src/web/app/mobile/tags/post-detail.tag b/src/web/app/mobile/tags/post-detail.tag
index 9622dc264e8951e402819c7dde337870801fd607..0fd63e8328d525edaa7bd2c2ef46ac3bbe8a91f9 100644
--- a/src/web/app/mobile/tags/post-detail.tag
+++ b/src/web/app/mobile/tags/post-detail.tag
@@ -408,14 +408,17 @@
 		});
 
 		this.reply = () => {
-			riot.mount(document.body.appendChild(document.createElement('mk-post-form-window')), {
+			this.openPostForm({
 				reply: this.p
 			});
 		};
 
 		this.repost = () => {
-			riot.mount(document.body.appendChild(document.createElement('mk-repost-form-window')), {
-				post: this.p
+			const text = window.prompt(`「${this.summary}」をRepost`);
+			if (text == null) return;
+			this.api('posts/create', {
+				repost_id: this.p.id,
+				text: text == '' ? undefined : text
 			});
 		};