summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2020-02-06 23:12:27 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2020-02-06 23:12:27 +0900
commit15a41e31b0514623f1db6cc99cc61c49dbde2de9 (patch)
tree8f4406d66e0dcf3b38947710b4e7e7894b372a33 /src
parent12.2.0 (diff)
downloadsharkey-15a41e31b0514623f1db6cc99cc61c49dbde2de9.tar.gz
sharkey-15a41e31b0514623f1db6cc99cc61c49dbde2de9.tar.bz2
sharkey-15a41e31b0514623f1db6cc99cc61c49dbde2de9.zip
Fix #5856
Diffstat (limited to 'src')
-rw-r--r--src/client/pages/share.vue76
-rw-r--r--src/client/router.ts1
2 files changed, 77 insertions, 0 deletions
diff --git a/src/client/pages/share.vue b/src/client/pages/share.vue
new file mode 100644
index 0000000000..07bb70737f
--- /dev/null
+++ b/src/client/pages/share.vue
@@ -0,0 +1,76 @@
+<template>
+<div class="">
+ <portal to="icon"><fa :icon="faShareAlt"/></portal>
+ <portal to="title">{{ $t('share') }}</portal>
+
+ <section class="_card">
+ <div class="_title" v-if="title">{{ title }}</div>
+ <div class="_content">
+ <div>{{ text }}</div>
+ <mk-button @click="post()">{{ $t('post') }}</mk-button>
+ </div>
+ <div class="_footer" v-if="url">{{ url }}</div>
+ </section>
+</div>
+</template>
+
+<script lang="ts">
+import Vue from 'vue';
+import { faShareAlt } from '@fortawesome/free-solid-svg-icons';
+import i18n from '../i18n';
+import PostFormDialog from '../components/post-form-dialog.vue';
+import MkButton from '../components/ui/button.vue';
+
+export default Vue.extend({
+ i18n,
+
+ metaInfo() {
+ return {
+ title: this.$t('share') as string
+ };
+ },
+
+ components: {
+ MkButton
+ },
+
+ data() {
+ return {
+ title: null,
+ text: null,
+ url: null,
+ faShareAlt
+ }
+ },
+
+ created() {
+ const urlParams = new URLSearchParams(window.location.search);
+ this.title = urlParams.get('title');
+ this.text = urlParams.get('text');
+ this.url = urlParams.get('url');
+ },
+
+ mounted() {
+ this.post();
+ },
+
+ methods: {
+ post() {
+ let text = '';
+ if (this.title) text += `【${this.title}】\n`;
+ if (this.text) text += `${this.text}\n`;
+ if (this.url) text += `${this.url}`;
+ this.$root.new(PostFormDialog, {
+ instant: true,
+ initialText: text.trim()
+ }).$once('posted', () => {
+ alert('a');
+ window.close();
+ });
+ }
+ }
+});
+</script>
+
+<style lang="scss" scoped>
+</style>
diff --git a/src/client/router.ts b/src/client/router.ts
index 16ab96dea4..70bc48c49e 100644
--- a/src/client/router.ts
+++ b/src/client/router.ts
@@ -52,6 +52,7 @@ export const router = new VueRouter({
{ path: '/tags/:tag', component: page('tag') },
{ path: '/auth/:token', component: page('auth') },
{ path: '/authorize-follow', component: page('follow') },
+ { path: '/share', component: page('share') },
/*{ path: '*', component: MkNotFound }*/
],
// なんかHacky