Compare commits

..

23 Commits

Author SHA1 Message Date
0e7c0fd528 2.22.3 2018-05-29 13:22:29 +09:00
fb28b238cf Add workaround for Safari bug 2018-05-29 13:21:38 +09:00
b375bbc75c 2.22.2 2018-05-29 11:53:59 +09:00
74ebd6e4a0 Merge branch 'master' of https://github.com/syuilo/misskey 2018-05-29 11:53:35 +09:00
72f2b92d4f ✌️ 2018-05-29 11:53:28 +09:00
178eeec041 Merge pull request #1660 from syuilo/l10n_master
New Crowdin translations
2018-05-29 11:53:03 +09:00
7ff950b5e3 New translations ja.yml (English) 2018-05-29 11:50:50 +09:00
11409b723e 🎨 2018-05-29 11:45:01 +09:00
a59c8b4f57 New translations ja.yml (Portuguese) 2018-05-29 11:41:13 +09:00
690e273257 New translations ja.yml (Korean) 2018-05-29 11:41:11 +09:00
0133a1ba97 New translations ja.yml (Polish) 2018-05-29 11:41:09 +09:00
809b0e67a6 New translations ja.yml (Chinese Simplified) 2018-05-29 11:41:08 +09:00
a702271efd New translations ja.yml (Italian) 2018-05-29 11:41:06 +09:00
ec4f8ddd3e New translations ja.yml (Russian) 2018-05-29 11:41:04 +09:00
839f66c82f New translations ja.yml (English) 2018-05-29 11:41:02 +09:00
9ae2775452 New translations ja.yml (Spanish) 2018-05-29 11:41:00 +09:00
c9818358ee New translations ja.yml (German) 2018-05-29 11:40:58 +09:00
6e3a88ffcb New translations ja.yml (French) 2018-05-29 11:40:56 +09:00
4c54d68fad Darken 2018-05-29 11:38:24 +09:00
c351ba7820 Fix 2018-05-29 11:36:45 +09:00
3c2d72f611 Fix bug 2018-05-29 11:32:55 +09:00
f557407589 Fix bug 2018-05-29 11:29:02 +09:00
a0a4ce4dd9 Fix bug 2018-05-29 11:25:28 +09:00
17 changed files with 79 additions and 58 deletions

View File

@ -696,7 +696,7 @@ mobile/views/components/post-form.vue:
submit: "投稿"
reply: "返信"
renote: "Renote"
renote-placeholder: "この投稿を引用... (オプション)"
quote-placeholder: "この投稿を引用... (オプション)"
reply-placeholder: "この投稿への返信..."
cw-placeholder: "内容への注釈 (オプション)"
location-alert: "お使いの端末は位置情報に対応していません"

View File

@ -696,7 +696,7 @@ mobile/views/components/post-form.vue:
submit: "Post"
reply: "Reply"
renote: "Renote"
renote-placeholder: "Quote this post. (optional)"
quote-placeholder: "Quote this post... (optional)"
reply-placeholder: "Reply to this note..."
cw-placeholder: "内容への注釈 (オプション)"
location-alert: "お使いの端末は位置情報に対応していません"

View File

@ -696,7 +696,7 @@ mobile/views/components/post-form.vue:
submit: "投稿"
reply: "返信"
renote: "Renote"
renote-placeholder: "この投稿を引用... (オプション)"
quote-placeholder: "この投稿を引用... (オプション)"
reply-placeholder: "この投稿への返信..."
cw-placeholder: "内容への注釈 (オプション)"
location-alert: "お使いの端末は位置情報に対応していません"

View File

@ -696,7 +696,7 @@ mobile/views/components/post-form.vue:
submit: "Poster"
reply: "返信"
renote: "Renote"
renote-placeholder: "この投稿を引用... (オプション)"
quote-placeholder: "この投稿を引用... (オプション)"
reply-placeholder: "Répondre à cette note"
cw-placeholder: "内容への注釈 (オプション)"
location-alert: "お使いの端末は位置情報に対応していません"

View File

@ -696,7 +696,7 @@ mobile/views/components/post-form.vue:
submit: "投稿"
reply: "返信"
renote: "Renote"
renote-placeholder: "この投稿を引用... (オプション)"
quote-placeholder: "この投稿を引用... (オプション)"
reply-placeholder: "この投稿への返信..."
cw-placeholder: "内容への注釈 (オプション)"
location-alert: "お使いの端末は位置情報に対応していません"

View File

@ -823,7 +823,7 @@ mobile/views/components/post-form.vue:
submit: "投稿"
reply: "返信"
renote: "Renote"
renote-placeholder: "この投稿を引用... (オプション)"
quote-placeholder: "この投稿を引用... (オプション)"
reply-placeholder: "この投稿への返信..."
cw-placeholder: "内容への注釈 (オプション)"
location-alert: "お使いの端末は位置情報に対応していません"

View File

@ -696,7 +696,7 @@ mobile/views/components/post-form.vue:
submit: "投稿"
reply: "返信"
renote: "Renote"
renote-placeholder: "この投稿を引用... (オプション)"
quote-placeholder: "この投稿を引用... (オプション)"
reply-placeholder: "この投稿への返信..."
cw-placeholder: "内容への注釈 (オプション)"
location-alert: "お使いの端末は位置情報に対応していません"

View File

@ -696,7 +696,7 @@ mobile/views/components/post-form.vue:
submit: "Wyślij"
reply: "Odpowiedz"
renote: "Udostępnij"
renote-placeholder: "Zacytuj wpis… (nieobowiązkowe)"
quote-placeholder: "この投稿を引用... (オプション)"
reply-placeholder: "Odpowiedź na ten wpis…"
cw-placeholder: "Treść ostrzeżenia (opcjonalnie)"
location-alert: "Twoje urządzenie nie pozwala na przekazywanie informacji o lokalizacji"

View File

@ -696,7 +696,7 @@ mobile/views/components/post-form.vue:
submit: "投稿"
reply: "返信"
renote: "Renote"
renote-placeholder: "この投稿を引用... (オプション)"
quote-placeholder: "この投稿を引用... (オプション)"
reply-placeholder: "この投稿への返信..."
cw-placeholder: "内容への注釈 (オプション)"
location-alert: "お使いの端末は位置情報に対応していません"

View File

@ -696,7 +696,7 @@ mobile/views/components/post-form.vue:
submit: "投稿"
reply: "返信"
renote: "Renote"
renote-placeholder: "この投稿を引用... (オプション)"
quote-placeholder: "この投稿を引用... (オプション)"
reply-placeholder: "この投稿への返信..."
cw-placeholder: "内容への注釈 (オプション)"
location-alert: "お使いの端末は位置情報に対応していません"

View File

@ -696,7 +696,7 @@ mobile/views/components/post-form.vue:
submit: "投稿"
reply: "返信"
renote: "Renote"
renote-placeholder: "この投稿を引用... (オプション)"
quote-placeholder: "この投稿を引用... (オプション)"
reply-placeholder: "この投稿への返信..."
cw-placeholder: "内容への注釈 (オプション)"
location-alert: "お使いの端末は位置情報に対応していません"

View File

@ -1,8 +1,8 @@
{
"name": "misskey",
"author": "syuilo <i@syuilo.com>",
"version": "2.22.1",
"clientVersion": "1.0.5942",
"version": "2.22.3",
"clientVersion": "1.0.5965",
"codename": "nighthike",
"main": "./built/index.js",
"private": true,

View File

@ -1,9 +1,11 @@
<template>
<div class="mk-media-list" :data-count="mediaList.length">
<template v-for="media in mediaList">
<mk-media-video :video="media" :key="media.id" v-if="media.type.startsWith('video')" :inline-playable="mediaList.length === 1"/>
<mk-media-image :image="media" :key="media.id" v-else :raw="raw"/>
</template>
<div class="mk-media-list">
<div :data-count="mediaList.length" ref="grid">
<template v-for="media in mediaList">
<mk-media-video :video="media" :key="media.id" v-if="media.type.startsWith('video')" :inline-playable="mediaList.length === 1"/>
<mk-media-image :image="media" :key="media.id" v-else :raw="raw"/>
</template>
</div>
</div>
</template>
@ -18,47 +20,60 @@ export default Vue.extend({
raw: {
default: false
}
},
mounted() {
// for Safari bug
this.$refs.grid.style.height = `${this.$refs.grid.clientHeight}px`;
}
});
</script>
<style lang="stylus" scoped>
.mk-media-list
display grid
grid-gap 4px
height 256px
width 100%
@media (max-width 500px)
height 192px
&:before
content ''
display block
padding-top 56.25% // 16:9
> div
position absolute
top 0
right 0
bottom 0
left 0
display grid
grid-gap 4px
&[data-count="1"]
grid-template-rows 1fr
&[data-count="2"]
grid-template-columns 1fr 1fr
grid-template-rows 1fr
&[data-count="3"]
grid-template-columns 1fr 0.5fr
grid-template-rows 1fr 1fr
:nth-child(1)
grid-row 1 / 3
:nth-child(3)
grid-column 2 / 3
grid-row 2 / 3
&[data-count="4"]
grid-template-columns 1fr 1fr
grid-template-rows 1fr 1fr
&[data-count="1"]
grid-template-rows 1fr
&[data-count="2"]
grid-template-columns 1fr 1fr
grid-template-rows 1fr
&[data-count="3"]
grid-template-columns 1fr 0.5fr
grid-template-rows 1fr 1fr
:nth-child(1)
grid-row 1 / 3
:nth-child(3)
grid-column 1 / 2
grid-row 1 / 2
:nth-child(2)
grid-column 2 / 3
grid-row 2/3
&[data-count="4"]
grid-template-columns 1fr 1fr
grid-template-rows 1fr 1fr
:nth-child(1)
grid-column 1 / 2
grid-row 1 / 2
:nth-child(2)
grid-column 2 / 3
grid-row 1 / 2
:nth-child(3)
grid-column 1 / 2
grid-row 2 / 3
:nth-child(4)
grid-column 2 / 3
grid-row 2 / 3
grid-row 1 / 2
:nth-child(3)
grid-column 1 / 2
grid-row 2 / 3
:nth-child(4)
grid-column 2 / 3
grid-row 2 / 3
</style>

View File

@ -36,7 +36,7 @@ export default Vue.extend({
</script>
<style lang="stylus" scoped>
.mk-ui-notification
root(isDark)
display block
position fixed
z-index 10000
@ -46,10 +46,10 @@ export default Vue.extend({
margin 0 auto
padding 128px 0 0 0
width 500px
color rgba(#000, 0.6)
background rgba(#fff, 0.9)
color rgba(isDark ? #fff : #000, 0.6)
background rgba(isDark ? #282C37 : #fff, 0.9)
border-radius 0 0 8px 8px
box-shadow 0 2px 4px rgba(#000, 0.2)
box-shadow 0 2px 4px rgba(#000, isDark ? 0.4 : 0.2)
transform translateY(-64px)
opacity 0
@ -58,4 +58,10 @@ export default Vue.extend({
line-height 64px
text-align center
.mk-ui-notification[data-darkmode]
root(true)
.mk-ui-notification:not([data-darkmode])
root(false)
</style>

View File

@ -172,7 +172,7 @@ export default Vue.extend({
},
methods: {
fetchContext() {
fetchConversation() {
this.conversationFetching = true;
// Fetch conversation

View File

@ -17,8 +17,8 @@
<ul>
<li><router-link to="/" :data-active="$route.name == 'index'">%fa:home%%i18n:@home%%fa:angle-right%</router-link></li>
<li><router-link to="/i/notifications" :data-active="$route.name == 'notifications'">%fa:R bell%%i18n:@notifications%<template v-if="hasUnreadNotification">%fa:circle%</template>%fa:angle-right%</router-link></li>
<li><router-link to="/i/messaging" :data-active="$route.name == 'messaging'">%fa:R comments%%i18n:@messaging%<template v-if="hasUnreadMessagingMessages">%fa:circle%</template>%fa:angle-right%</router-link></li>
<li><router-link to="/othello" :data-active="$route.name == 'othello'">%fa:gamepad%ゲーム<template v-if="hasGameInvitations">%fa:circle%</template>%fa:angle-right%</router-link></li>
<li><router-link to="/i/messaging" :data-active="$route.name == 'messaging'">%fa:R comments%%i18n:@messaging%<template v-if="hasUnreadMessagingMessage">%fa:circle%</template>%fa:angle-right%</router-link></li>
<li><router-link to="/othello" :data-active="$route.name == 'othello'">%fa:gamepad%ゲーム<template v-if="hasGameInvitation">%fa:circle%</template>%fa:angle-right%</router-link></li>
</ul>
<ul>
<li><router-link to="/i/widgets" :data-active="$route.name == 'widgets'">%fa:quidditch%%i18n:@widgets%%fa:angle-right%</router-link></li>

View File

@ -26,7 +26,7 @@ module.exports = (params, user) => new Promise(async (res, rej) => {
return rej('note not found');
}
const ids = note._replyIds.slice(offset, offset + limit);
const ids = (note._replyIds || []).slice(offset, offset + limit);
// Serialize
res(await Promise.all(ids.map(id => pack(id, user))));