1
0
mirror of https://github.com/hotomoe/hotomoe synced 2024-12-11 13:18:11 +09:00
This commit is contained in:
syuilo 2018-02-22 02:15:46 +09:00
parent abf1c30ce6
commit 73029df58a
6 changed files with 53 additions and 17 deletions

View File

@ -42,7 +42,10 @@ export type API = {
default?: string; default?: string;
}) => Promise<string>; }) => Promise<string>;
post: () => void; post: (opts?: {
reply?: any;
repost?: any;
}) => void;
notify: (message: string) => void; notify: (message: string) => void;
}; };

View File

@ -1,6 +1,21 @@
import PostFormWindow from '../views/components/post-form-window.vue'; import PostFormWindow from '../views/components/post-form-window.vue';
import RepostFormWindow from '../views/components/repost-form-window.vue';
export default function() { export default function(opts) {
const vm = new PostFormWindow().$mount(); const o = opts || {};
document.body.appendChild(vm.$el); if (o.repost) {
const vm = new RepostFormWindow({
propsData: {
repost: o.repost
}
}).$mount();
document.body.appendChild(vm.$el);
} else {
const vm = new PostFormWindow({
propsData: {
reply: o.reply
}
}).$mount();
document.body.appendChild(vm.$el);
}
} }

View File

@ -0,0 +1,3 @@
export default function(message) {
alert(message);
}

View File

@ -1,5 +1,9 @@
import PostForm from '../views/components/post-form.vue';
import RepostForm from '../views/components/repost-form.vue';
export default function(opts) {
const o = opts || {};
export default opts => {
const app = document.getElementById('app'); const app = document.getElementById('app');
app.style.display = 'none'; app.style.display = 'none';
@ -7,8 +11,23 @@ export default opts => {
app.style.display = 'block'; app.style.display = 'block';
} }
const form = riot.mount(document.body.appendChild(document.createElement('mk-post-form')), opts)[0]; if (o.repost) {
form const vm = new RepostForm({
.on('cancel', recover) propsData: {
.on('post', recover); repost: o.repost
}; }
}).$mount();
vm.$once('cancel', recover);
vm.$once('post', recover);
document.body.appendChild(vm.$el);
} else {
const vm = new PostForm({
propsData: {
reply: o.reply
}
}).$mount();
vm.$once('cancel', recover);
vm.$once('post', recover);
document.body.appendChild(vm.$el);
}
}

View File

@ -13,8 +13,6 @@ import dialog from './api/dialog';
import input from './api/input'; import input from './api/input';
import post from './api/post'; import post from './api/post';
import notify from './api/notify'; import notify from './api/notify';
import updateAvatar from './api/update-avatar';
import updateBanner from './api/update-banner';
import MkIndex from './views/pages/index.vue'; import MkIndex from './views/pages/index.vue';
import MkUser from './views/pages/user/user.vue'; import MkUser from './views/pages/user/user.vue';
@ -35,15 +33,13 @@ init((launch) => {
document.body.setAttribute('ontouchstart', ''); document.body.setAttribute('ontouchstart', '');
// Launch the app // Launch the app
const [app, os] = launch(os => ({ const [app] = launch(os => ({
chooseDriveFolder, chooseDriveFolder,
chooseDriveFile, chooseDriveFile,
dialog, dialog,
input, input,
post, post,
notify, notify
updateAvatar: updateAvatar(os),
updateBanner: updateBanner(os)
})); }));
// Routing // Routing

View File

@ -25,7 +25,7 @@
<button class="poll" @click="addPoll">%fa:chart-pie%</button> <button class="poll" @click="addPoll">%fa:chart-pie%</button>
<input ref="file" type="file" accept="image/*" multiple="multiple" onchange={ changeFile }/> <input ref="file" type="file" accept="image/*" multiple="multiple" onchange={ changeFile }/>
</div> </div>
</div </div>
</template> </template>
<script lang="ts"> <script lang="ts">