This commit is contained in:
syuilo
2017-10-31 23:11:22 +09:00
parent 5efb52b9f5
commit f87ec61e96
7 changed files with 97 additions and 11 deletions

View File

@ -7,15 +7,16 @@ const route = require('page');
let page = null;
export default me => {
route('/', index);
route('/i>mentions', mentions);
route('/channel', channels);
route('/post::post', post);
route('/search::query', search);
route('/:user', user.bind(null, 'home'));
route('/:user/graphs', user.bind(null, 'graphs'));
route('/:user/:post', post);
route('*', notFound);
route('/', index);
route('/i>mentions', mentions);
route('/channel', channels);
route('/channel/:channel', channel);
route('/post::post', post);
route('/search::query', search);
route('/:user', user.bind(null, 'home'));
route('/:user/graphs', user.bind(null, 'graphs'));
route('/:user/:post', post);
route('*', notFound);
function index() {
me ? home() : entrance();
@ -55,6 +56,12 @@ export default me => {
mount(el);
}
function channel(ctx) {
const el = document.createElement('mk-channel-page');
el.setAttribute('id', ctx.params.channel);
mount(el);
}
function channels() {
mount(document.createElement('mk-channels-page'));
}
@ -72,6 +79,7 @@ export default me => {
};
function mount(content) {
document.documentElement.style.background = '#313a42';
document.documentElement.removeAttribute('data-page');
if (page) page.unmount();
const body = document.getElementById('app');

View File

@ -61,6 +61,7 @@ require('./pages/user.tag');
require('./pages/post.tag');
require('./pages/search.tag');
require('./pages/not-found.tag');
require('./pages/channel.tag');
require('./pages/channels.tag');
require('./autocomplete-suggestion.tag');
require('./progress-dialog.tag');

View File

@ -0,0 +1,43 @@
<mk-channel-page>
<mk-ui ref="ui">
<main if={ !parent.fetching }>
<h1>{ parent.channel.title }</h1>
</main>
</mk-ui>
<style>
:scope
display block
main
> h1
color #f00
</style>
<script>
import Progress from '../../../common/scripts/loading';
this.mixin('api');
this.id = this.opts.id;
this.fetching = true;
this.channel = null;
this.on('mount', () => {
document.documentElement.style.background = '#efefef';
Progress.start();
this.api('channels/show', {
channel_id: this.id
}).then(channel => {
Progress.done();
this.update({
fetching: false,
channel: channel
});
document.title = channel.title + ' | Misskey'
});
});
</script>
</mk-channel-page>

View File

@ -18,7 +18,7 @@
this.new = () => {
const title = window.prompt('%i18n:desktop.tags.mk-channels-page.channel-title%');
this.api('bbs/channels/create', {
this.api('channels/create', {
title: title
}).then(channel => {
location.href = '/channel/' + channel.id;

View File

@ -16,7 +16,7 @@
this.refs.ui.refs.user.on('user-fetched', user => {
Progress.set(0.5);
document.title = user.name + ' | Misskey'
document.title = user.name + ' | Misskey';
});
this.refs.ui.refs.user.on('loaded', () => {