お知らせをブロードキャストできるように
This commit is contained in:
		@@ -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>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user