Compare commits
23 Commits
Author | SHA1 | Date | |
---|---|---|---|
0e7c0fd528 | |||
fb28b238cf | |||
b375bbc75c | |||
74ebd6e4a0 | |||
72f2b92d4f | |||
178eeec041 | |||
7ff950b5e3 | |||
11409b723e | |||
a59c8b4f57 | |||
690e273257 | |||
0133a1ba97 | |||
809b0e67a6 | |||
a702271efd | |||
ec4f8ddd3e | |||
839f66c82f | |||
9ae2775452 | |||
c9818358ee | |||
6e3a88ffcb | |||
4c54d68fad | |||
c351ba7820 | |||
3c2d72f611 | |||
f557407589 | |||
a0a4ce4dd9 |
@ -696,7 +696,7 @@ mobile/views/components/post-form.vue:
|
||||
submit: "投稿"
|
||||
reply: "返信"
|
||||
renote: "Renote"
|
||||
renote-placeholder: "この投稿を引用... (オプション)"
|
||||
quote-placeholder: "この投稿を引用... (オプション)"
|
||||
reply-placeholder: "この投稿への返信..."
|
||||
cw-placeholder: "内容への注釈 (オプション)"
|
||||
location-alert: "お使いの端末は位置情報に対応していません"
|
||||
|
@ -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: "お使いの端末は位置情報に対応していません"
|
||||
|
@ -696,7 +696,7 @@ mobile/views/components/post-form.vue:
|
||||
submit: "投稿"
|
||||
reply: "返信"
|
||||
renote: "Renote"
|
||||
renote-placeholder: "この投稿を引用... (オプション)"
|
||||
quote-placeholder: "この投稿を引用... (オプション)"
|
||||
reply-placeholder: "この投稿への返信..."
|
||||
cw-placeholder: "内容への注釈 (オプション)"
|
||||
location-alert: "お使いの端末は位置情報に対応していません"
|
||||
|
@ -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: "お使いの端末は位置情報に対応していません"
|
||||
|
@ -696,7 +696,7 @@ mobile/views/components/post-form.vue:
|
||||
submit: "投稿"
|
||||
reply: "返信"
|
||||
renote: "Renote"
|
||||
renote-placeholder: "この投稿を引用... (オプション)"
|
||||
quote-placeholder: "この投稿を引用... (オプション)"
|
||||
reply-placeholder: "この投稿への返信..."
|
||||
cw-placeholder: "内容への注釈 (オプション)"
|
||||
location-alert: "お使いの端末は位置情報に対応していません"
|
||||
|
@ -823,7 +823,7 @@ mobile/views/components/post-form.vue:
|
||||
submit: "投稿"
|
||||
reply: "返信"
|
||||
renote: "Renote"
|
||||
renote-placeholder: "この投稿を引用... (オプション)"
|
||||
quote-placeholder: "この投稿を引用... (オプション)"
|
||||
reply-placeholder: "この投稿への返信..."
|
||||
cw-placeholder: "内容への注釈 (オプション)"
|
||||
location-alert: "お使いの端末は位置情報に対応していません"
|
||||
|
@ -696,7 +696,7 @@ mobile/views/components/post-form.vue:
|
||||
submit: "投稿"
|
||||
reply: "返信"
|
||||
renote: "Renote"
|
||||
renote-placeholder: "この投稿を引用... (オプション)"
|
||||
quote-placeholder: "この投稿を引用... (オプション)"
|
||||
reply-placeholder: "この投稿への返信..."
|
||||
cw-placeholder: "内容への注釈 (オプション)"
|
||||
location-alert: "お使いの端末は位置情報に対応していません"
|
||||
|
@ -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"
|
||||
|
@ -696,7 +696,7 @@ mobile/views/components/post-form.vue:
|
||||
submit: "投稿"
|
||||
reply: "返信"
|
||||
renote: "Renote"
|
||||
renote-placeholder: "この投稿を引用... (オプション)"
|
||||
quote-placeholder: "この投稿を引用... (オプション)"
|
||||
reply-placeholder: "この投稿への返信..."
|
||||
cw-placeholder: "内容への注釈 (オプション)"
|
||||
location-alert: "お使いの端末は位置情報に対応していません"
|
||||
|
@ -696,7 +696,7 @@ mobile/views/components/post-form.vue:
|
||||
submit: "投稿"
|
||||
reply: "返信"
|
||||
renote: "Renote"
|
||||
renote-placeholder: "この投稿を引用... (オプション)"
|
||||
quote-placeholder: "この投稿を引用... (オプション)"
|
||||
reply-placeholder: "この投稿への返信..."
|
||||
cw-placeholder: "内容への注釈 (オプション)"
|
||||
location-alert: "お使いの端末は位置情報に対応していません"
|
||||
|
@ -696,7 +696,7 @@ mobile/views/components/post-form.vue:
|
||||
submit: "投稿"
|
||||
reply: "返信"
|
||||
renote: "Renote"
|
||||
renote-placeholder: "この投稿を引用... (オプション)"
|
||||
quote-placeholder: "この投稿を引用... (オプション)"
|
||||
reply-placeholder: "この投稿への返信..."
|
||||
cw-placeholder: "内容への注釈 (オプション)"
|
||||
location-alert: "お使いの端末は位置情報に対応していません"
|
||||
|
@ -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,
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -172,7 +172,7 @@ export default Vue.extend({
|
||||
},
|
||||
|
||||
methods: {
|
||||
fetchContext() {
|
||||
fetchConversation() {
|
||||
this.conversationFetching = true;
|
||||
|
||||
// Fetch conversation
|
||||
|
@ -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>
|
||||
|
@ -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))));
|
||||
|
Reference in New Issue
Block a user