お知らせをブロードキャストできるように
This commit is contained in:
parent
20a6f0a0a7
commit
0cd69cabc9
5 changed files with 84 additions and 6 deletions
|
@ -396,6 +396,12 @@ desktop:
|
||||||
mk-messaging-home-widget:
|
mk-messaging-home-widget:
|
||||||
title: "Messaging"
|
title: "Messaging"
|
||||||
|
|
||||||
|
mk-broadcast-home-widget:
|
||||||
|
fetching: "Fetching"
|
||||||
|
no-broadcasts: "No broadcasts"
|
||||||
|
have-a-nice-day: "Have a nice day!"
|
||||||
|
next: "Next"
|
||||||
|
|
||||||
mk-repost-form:
|
mk-repost-form:
|
||||||
quote: "Quote..."
|
quote: "Quote..."
|
||||||
cancel: "Cancel"
|
cancel: "Cancel"
|
||||||
|
|
|
@ -396,6 +396,12 @@ desktop:
|
||||||
mk-messaging-home-widget:
|
mk-messaging-home-widget:
|
||||||
title: "メッセージ"
|
title: "メッセージ"
|
||||||
|
|
||||||
|
mk-broadcast-home-widget:
|
||||||
|
fetching: "確認中"
|
||||||
|
no-broadcasts: "お知らせはありません"
|
||||||
|
have-a-nice-day: "良い一日を!"
|
||||||
|
next: "次"
|
||||||
|
|
||||||
mk-repost-form:
|
mk-repost-form:
|
||||||
quote: "引用する..."
|
quote: "引用する..."
|
||||||
cancel: "キャンセル"
|
cancel: "キャンセル"
|
||||||
|
|
|
@ -53,6 +53,7 @@ module.exports = (params) => new Promise(async (res, rej) => {
|
||||||
model: os.cpus()[0].model,
|
model: os.cpus()[0].model,
|
||||||
cores: os.cpus().length
|
cores: os.cpus().length
|
||||||
},
|
},
|
||||||
top_image: meta.top_image
|
top_image: meta.top_image,
|
||||||
|
broadcasts: meta.broadcasts
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -5,5 +5,9 @@
|
||||||
</style>
|
</style>
|
||||||
<script>
|
<script>
|
||||||
this.root.innerHTML = this.opts.content;
|
this.root.innerHTML = this.opts.content;
|
||||||
|
|
||||||
|
this.on('updated', () => {
|
||||||
|
this.root.innerHTML = this.opts.content;
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
</mk-raw>
|
</mk-raw>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<mk-broadcast-home-widget>
|
<mk-broadcast-home-widget data-found={ broadcasts.length != 0 } data-melt={ data.design == 1 }>
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<svg height="32" version="1.1" viewBox="0 0 32 32" width="32">
|
<svg height="32" version="1.1" viewBox="0 0 32 32" width="32">
|
||||||
<path class="tower" d="M16.04,11.24c1.79,0,3.239-1.45,3.239-3.24S17.83,4.76,16.04,4.76c-1.79,0-3.24,1.45-3.24,3.24 C12.78,9.78,14.24,11.24,16.04,11.24z M16.04,13.84c-0.82,0-1.66-0.2-2.4-0.6L7.34,29.98h2.98l1.72-2h8l1.681,2H24.7L18.42,13.24 C17.66,13.64,16.859,13.84,16.04,13.84z M16.02,14.8l2.02,7.2h-4L16.02,14.8z M12.04,25.98l2-2h4l2,2H12.04z"></path>
|
<path class="tower" d="M16.04,11.24c1.79,0,3.239-1.45,3.239-3.24S17.83,4.76,16.04,4.76c-1.79,0-3.24,1.45-3.24,3.24 C12.78,9.78,14.24,11.24,16.04,11.24z M16.04,13.84c-0.82,0-1.66-0.2-2.4-0.6L7.34,29.98h2.98l1.72-2h8l1.681,2H24.7L18.42,13.24 C17.66,13.64,16.859,13.84,16.04,13.84z M16.02,14.8l2.02,7.2h-4L16.02,14.8z M12.04,25.98l2-2h4l2,2H12.04z"></path>
|
||||||
|
@ -8,22 +8,35 @@
|
||||||
<path class="wave d" d="M29.18,1.06c-0.479-0.502-1.273-0.522-1.775-0.044c-0.016,0.015-0.029,0.029-0.045,0.044c-0.5,0.52-0.5,1.36,0,1.88 c1.361,1.4,2.041,3.24,2.041,5.08s-0.68,3.66-2.041,5.08c-0.5,0.52-0.5,1.36,0,1.88c0.509,0.508,1.332,0.508,1.841,0 c1.86-1.92,2.8-4.44,2.8-6.96C31.99,5.424,30.98,2.931,29.18,1.06z"></path>
|
<path class="wave d" d="M29.18,1.06c-0.479-0.502-1.273-0.522-1.775-0.044c-0.016,0.015-0.029,0.029-0.045,0.044c-0.5,0.52-0.5,1.36,0,1.88 c1.361,1.4,2.041,3.24,2.041,5.08s-0.68,3.66-2.041,5.08c-0.5,0.52-0.5,1.36,0,1.88c0.509,0.508,1.332,0.508,1.841,0 c1.86-1.92,2.8-4.44,2.8-6.96C31.99,5.424,30.98,2.931,29.18,1.06z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</div>
|
</div>
|
||||||
<h1>開発者募集中!</h1>
|
<p class="fetching" if={ fetching }>%i18n:desktop.tags.mk-broadcast-home-widget.fetching%<mk-ellipsis/></p>
|
||||||
<p><a href="https://github.com/syuilo/misskey" target="_blank">Misskeyはオープンソースで開発されています。リポジトリはこちら。</a></p>
|
<h1 if={ !fetching }>{
|
||||||
|
broadcasts.length == 0 ? '%i18n:desktop.tags.mk-broadcast-home-widget.no-broadcasts%' : broadcasts[i].title
|
||||||
|
}</h1>
|
||||||
|
<p if={ !fetching }><mk-raw if={ broadcasts.length != 0 } content={ broadcasts[i].text }/><virtual if={ broadcasts.length == 0 }>%i18n:desktop.tags.mk-broadcast-home-widget.have-a-nice-day%</virtual></p>
|
||||||
|
<a if={ broadcasts.length > 1 } onclick={ next }>%i18n:desktop.tags.mk-broadcast-home-widget.next% >></a>
|
||||||
<style>
|
<style>
|
||||||
:scope
|
:scope
|
||||||
display block
|
display block
|
||||||
padding 10px 10px 10px 50px
|
padding 10px
|
||||||
border solid 1px #4078c0
|
border solid 1px #4078c0
|
||||||
border-radius 6px
|
border-radius 6px
|
||||||
|
|
||||||
|
&[data-melt]
|
||||||
|
border none
|
||||||
|
|
||||||
|
&[data-found]
|
||||||
|
padding-left 50px
|
||||||
|
|
||||||
|
> .icon
|
||||||
|
display block
|
||||||
|
|
||||||
&:after
|
&:after
|
||||||
content ""
|
content ""
|
||||||
display block
|
display block
|
||||||
clear both
|
clear both
|
||||||
|
|
||||||
> .icon
|
> .icon
|
||||||
display block
|
display none
|
||||||
float left
|
float left
|
||||||
margin-left -40px
|
margin-left -40px
|
||||||
|
|
||||||
|
@ -72,11 +85,59 @@
|
||||||
font-size 0.7em
|
font-size 0.7em
|
||||||
color #555
|
color #555
|
||||||
|
|
||||||
|
&.fetching
|
||||||
|
text-align center
|
||||||
|
|
||||||
a
|
a
|
||||||
color #555
|
color #555
|
||||||
|
text-decoration underline
|
||||||
|
|
||||||
|
> a
|
||||||
|
display block
|
||||||
|
font-size 0.7em
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
<script>
|
<script>
|
||||||
|
this.data = {
|
||||||
|
design: 0
|
||||||
|
};
|
||||||
|
|
||||||
this.mixin('widget');
|
this.mixin('widget');
|
||||||
|
this.mixin('os');
|
||||||
|
|
||||||
|
this.i = 0;
|
||||||
|
this.fetching = true;
|
||||||
|
this.broadcasts = [];
|
||||||
|
|
||||||
|
this.on('mount', () => {
|
||||||
|
this.mios.getMeta().then(meta => {
|
||||||
|
let broadcasts = [];
|
||||||
|
if (meta.broadcasts) {
|
||||||
|
meta.broadcasts.forEach(broadcast => {
|
||||||
|
if (broadcast[LANG]) {
|
||||||
|
broadcasts.push(broadcast[LANG]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
this.update({
|
||||||
|
fetching: false,
|
||||||
|
broadcasts: broadcasts
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
this.next = () => {
|
||||||
|
if (this.i == this.broadcasts.length - 1) {
|
||||||
|
this.i = 0;
|
||||||
|
} else {
|
||||||
|
this.i++;
|
||||||
|
}
|
||||||
|
this.update();
|
||||||
|
};
|
||||||
|
|
||||||
|
this.func = () => {
|
||||||
|
if (++this.data.design == 2) this.data.design = 0;
|
||||||
|
this.save();
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
</mk-broadcast-home-widget>
|
</mk-broadcast-home-widget>
|
||||||
|
|
Loading…
Reference in a new issue