Merge branch 'develop'

This commit is contained in:
syuilo 2020-03-25 23:21:48 +09:00
commit bf3503b381
20 changed files with 108 additions and 38 deletions

View file

@ -1,6 +1,16 @@
ChangeLog ChangeLog
========= =========
12.25.0 (2020/03/24)
-------------------
### ✨Improvements
* テーマインポート機能を実装
### 🐛Fixes
* 誰もフォローしていないときにタイムラインの読み込みが遅い問題を修正
12.24.2 (2020/03/22) 12.24.2 (2020/03/22)
------------------- -------------------

BIN
assets/apple-touch-icon.png (Stored with Git LFS)

Binary file not shown.

BIN
assets/favicon.png (Stored with Git LFS)

Binary file not shown.

BIN
assets/icon.afdesign (Stored with Git LFS)

Binary file not shown.

BIN
assets/icon.svg (Stored with Git LFS)

Binary file not shown.

BIN
assets/icons/192.png (Stored with Git LFS)

Binary file not shown.

BIN
assets/icons/512.png (Stored with Git LFS)

Binary file not shown.

View file

@ -18,7 +18,7 @@ instance: "Instance"
settings: "Settings" settings: "Settings"
profile: "Profile" profile: "Profile"
timeline: "Timeline" timeline: "Timeline"
noAccountDescription: "This user has not created their bio yet." noAccountDescription: "This user has not written their bio yet."
login: "Sign In" login: "Sign In"
loggingIn: "Signing In" loggingIn: "Signing In"
logout: "Sign Out" logout: "Sign Out"
@ -257,7 +257,7 @@ rename: "Rename"
avatar: "Avatar" avatar: "Avatar"
banner: "Banner" banner: "Banner"
nsfw: "NSFW" nsfw: "NSFW"
disconnectedFromServer: "Connection to the server was inturrupted" disconnectedFromServer: "Connection to the server was interrupted."
reload: "Refresh" reload: "Refresh"
doNothing: "Ignore" doNothing: "Ignore"
reloadConfirm: "Would you like to retry?" reloadConfirm: "Would you like to retry?"
@ -331,7 +331,7 @@ userList: "Lists"
about: "About" about: "About"
aboutMisskey: "About Misskey" aboutMisskey: "About Misskey"
aboutMisskeyText: "Misskey is an open-source software developed by syuilo since 2014." aboutMisskeyText: "Misskey is an open-source software developed by syuilo since 2014."
misskeyMembers: "It is currently developed an maintained by the members listed below:" misskeyMembers: "It is currently developed and maintained by the members listed below:"
misskeySource: "Source code is available here:" misskeySource: "Source code is available here:"
misskeyTranslation: "Help us with your contribution to translate Misskey:" misskeyTranslation: "Help us with your contribution to translate Misskey:"
misskeyDonate: "Help us to keep improving the software by donating here:" misskeyDonate: "Help us to keep improving the software by donating here:"
@ -352,10 +352,10 @@ resetPassword: "Reset password"
newPasswordIs: "The new password is \"{password}\"" newPasswordIs: "The new password is \"{password}\""
post: "Post" post: "Post"
posted: "Posted!" posted: "Posted!"
autoReloadWhenDisconnected: "Auto reload when disconnected with server" autoReloadWhenDisconnected: "Auto reload when disconnected from server"
autoNoteWatch: "Watch note automatically" autoNoteWatch: "Watch note automatically"
autoNoteWatchDescription: "Get notified about the notes which you reactioned or replied." autoNoteWatchDescription: "Get notified about the notes which you reactioned or replied."
reduceUiAnimation: "Reduce animations of User Interface" reduceUiAnimation: "Reduce UI animation"
share: "Share" share: "Share"
notFound: "Not found" notFound: "Not found"
notFoundDescription: "There was no page corresponding to the specified URL." notFoundDescription: "There was no page corresponding to the specified URL."
@ -411,11 +411,11 @@ or: "Or"
uiLanguage: "UI display language" uiLanguage: "UI display language"
groupInvited: "Invited to group" groupInvited: "Invited to group"
aboutX: "About {x}" aboutX: "About {x}"
useOsNativeEmojis: "Use the OS native Emojis" useOsNativeEmojis: "Use OS native Emojis"
youHaveNoGroups: "You have no groups" youHaveNoGroups: "You have no groups"
joinOrCreateGroup: "Get invited to join the groups or you can create your own group." joinOrCreateGroup: "Get invited to join the groups or you can create your own group."
noHistory: "No history items" noHistory: "No history items"
disableAnimatedMfm: "Disable MFM which has animations" disableAnimatedMfm: "Disable MFM with animation"
doing: "On my way" doing: "On my way"
category: "Category" category: "Category"
tags: "Tags" tags: "Tags"
@ -466,6 +466,16 @@ details: "Details"
chooseEmoji: "Choose an emoji" chooseEmoji: "Choose an emoji"
unableToProcess: "The operation could not be completed." unableToProcess: "The operation could not be completed."
recentUsed: "Recently used" recentUsed: "Recently used"
install: "Install"
uninstall: "Uninstall"
_theme:
explore: "Explore Themes"
install: "Install theme"
manage: "Themes manager"
code: "Theme code"
installed: "{name} has been installed"
alreadyInstalled: "The theme is already installed"
invalid: "Theme format is invalid"
_sfx: _sfx:
note: "New note" note: "New note"
noteMy: "My note" noteMy: "My note"

View file

@ -466,6 +466,16 @@ details: "Detalles"
chooseEmoji: "Elije un emoji" chooseEmoji: "Elije un emoji"
unableToProcess: "La operación no se puede llevar a cabo" unableToProcess: "La operación no se puede llevar a cabo"
recentUsed: "Usado recientemente" recentUsed: "Usado recientemente"
install: "Instalación"
uninstall: "Desinstalar"
_theme:
explore: "Explorar temas"
install: "Instalar tema"
manage: "Gestor de temas"
code: "Código del tema"
installed: "{name} ha sido instalado"
alreadyInstalled: "Este tema ya está instalado"
invalid: "El formato del tema no es válido"
_sfx: _sfx:
note: "Notas" note: "Notas"
noteMy: "Nota (a mí mismo)" noteMy: "Nota (a mí mismo)"

View file

@ -466,6 +466,16 @@ details: "Détails"
chooseEmoji: "Choisissez des emojis" chooseEmoji: "Choisissez des emojis"
unableToProcess: "L'opération n'a pas pu être complétée" unableToProcess: "L'opération n'a pas pu être complétée"
recentUsed: "Récemment utilisé" recentUsed: "Récemment utilisé"
install: "Installation"
uninstall: "Désinstaller"
_theme:
explore: "Explorer les thèmes"
install: "Installer un thème"
manage: "Gestion des thèmes"
code: "Code du thème"
installed: "{name} a été installé"
alreadyInstalled: "Ce thème est déjà installé"
invalid: "Le format du thème n'est pas valide"
_sfx: _sfx:
note: "Nouvelle note" note: "Nouvelle note"
noteMy: "Ma note" noteMy: "Ma note"

View file

@ -466,6 +466,16 @@ details: "자세히"
chooseEmoji: "이모지 선택" chooseEmoji: "이모지 선택"
unableToProcess: "작업을 완료할 수 없습니다" unableToProcess: "작업을 완료할 수 없습니다"
recentUsed: "최근 사용" recentUsed: "최근 사용"
install: "설치"
uninstall: "삭제"
_theme:
explore: "테마 찾아보기"
install: "테마 설치"
manage: "테마 관리"
code: "테마 코드"
installed: "{name} 테마가 설치되었습니다"
alreadyInstalled: "이미 설치된 테마입니다"
invalid: "테마 형식이 올바르지 않습니다"
_sfx: _sfx:
note: "새 노트" note: "새 노트"
noteMy: "내 노트" noteMy: "내 노트"

View file

@ -466,6 +466,16 @@ details: "详情"
chooseEmoji: "选择表情符号" chooseEmoji: "选择表情符号"
unableToProcess: "操作无法完成" unableToProcess: "操作无法完成"
recentUsed: "最近使用" recentUsed: "最近使用"
install: "安装"
uninstall: "卸载"
_theme:
explore: "寻找主题"
install: "安装主题"
manage: "主题管理"
code: "主题代码"
installed: "{name} 已安装"
alreadyInstalled: "此主题已经安装"
invalid: "主题格式错误"
_sfx: _sfx:
note: "帖子" note: "帖子"
noteMy: "我的笔记" noteMy: "我的笔记"

View file

@ -1,7 +1,7 @@
{ {
"name": "misskey", "name": "misskey",
"author": "syuilo <syuilotan@yahoo.co.jp>", "author": "syuilo <syuilotan@yahoo.co.jp>",
"version": "12.25.0", "version": "12.26.0",
"codename": "indigo", "codename": "indigo",
"repository": { "repository": {
"type": "git", "type": "git",

View file

@ -895,24 +895,25 @@ export default Vue.extend({
color: var(--navActive); color: var(--navActive);
} }
&:first-child { &:first-child, &:last-child {
position: sticky; position: sticky;
z-index: 1; z-index: 1;
top: 0;
padding-top: 8px; padding-top: 8px;
padding-bottom: 8px; padding-bottom: 8px;
background: var(--wboyroyc);
-webkit-backdrop-filter: blur(8px);
backdrop-filter: blur(8px);
}
&:first-child {
top: 0;
margin-bottom: 16px; margin-bottom: 16px;
background: var(--navBg);
border-bottom: solid 1px var(--divider); border-bottom: solid 1px var(--divider);
} }
&:last-child { &:last-child {
position: sticky;
bottom: 0; bottom: 0;
padding-top: 8px;
padding-bottom: 8px;
margin-top: 16px; margin-top: 16px;
background: var(--navBg);
border-top: solid 1px var(--divider); border-top: solid 1px var(--divider);
} }

View file

@ -38,7 +38,7 @@
</mk-input> </mk-input>
<mk-switch v-model="ToSAgreement" v-if="meta.tosUrl"> <mk-switch v-model="ToSAgreement" v-if="meta.tosUrl">
<i18n path="agreeTo"> <i18n path="agreeTo">
<a :href="meta.tosUrl" target="_blank">{{ $t('tos') }}</a> <a :href="meta.tosUrl" class="_link" target="_blank">{{ $t('tos') }}</a>
</i18n> </i18n>
</mk-switch> </mk-switch>
<div v-if="meta.enableRecaptcha" class="g-recaptcha" :data-sitekey="meta.recaptchaSiteKey" style="margin: 16px 0;"></div> <div v-if="meta.enableRecaptcha" class="g-recaptcha" :data-sitekey="meta.recaptchaSiteKey" style="margin: 16px 0;"></div>

View file

@ -145,6 +145,12 @@ os.init(async () => {
} }
}, false) }, false)
os.store.watch(state => state.device.darkMode, darkMode => {
// TODO: このファイルでbuiltinThemesを参照するとcode splittingが効かず、初回読み込み時に全てのテーマコードを読み込むことになってしまい無駄なので何とかする
const themes = builtinThemes.concat(os.store.state.device.themes);
applyTheme(themes.find(x => x.id === (darkMode ? os.store.state.device.darkTheme : os.store.state.device.lightTheme)));
});
//#region Sync dark mode //#region Sync dark mode
if (os.store.state.device.syncDeviceDarkMode) { if (os.store.state.device.syncDeviceDarkMode) {
os.store.commit('device/set', { key: 'darkMode', value: isDeviceDarkmode() }); os.store.commit('device/set', { key: 'darkMode', value: isDeviceDarkmode() });
@ -176,13 +182,6 @@ os.init(async () => {
isMobile: isMobile isMobile: isMobile
}; };
}, },
watch: {
'$store.state.device.darkMode'() {
// TODO: このファイルでbuiltinThemesを参照するとcode splittingが効かず、初回読み込み時に全てのテーマコードを読み込むことになってしまい無駄なので何とかする
const themes = builtinThemes.concat(this.$store.state.device.themes);
applyTheme(themes.find(x => x.id === (this.$store.state.device.darkMode ? this.$store.state.device.darkTheme : this.$store.state.device.lightTheme)));
}
},
methods: { methods: {
api: os.api, api: os.api,
signout: os.signout, signout: os.signout,

View file

@ -1,9 +1,14 @@
<template> <template>
<div class="znqjceqz"> <div class="znqjceqz">
<portal to="title">🍀 {{ $t('aboutMisskey') }}</portal> <portal to="title">{{ $t('aboutMisskey') }}</portal>
<section class="_card"> <section class="_card">
<div class="_title">🍀 {{ $t('aboutMisskey') }}</div> <div class="_title">{{ $t('aboutMisskey') }}</div>
<div class="_content" style="text-align: center;">
<img src="/assets/icons/512.png" alt="" style="display: block; width: 100px; margin: 0 auto; border-radius: 16px;"/>
<div style="margin-top: 0.75em;">Misskey</div>
<div style="opacity: 0.5;">v{{ version }}</div>
</div>
<div class="_content"> <div class="_content">
<div style="margin-bottom: 1em;">{{ $t('aboutMisskeyText') }}</div> <div style="margin-bottom: 1em;">{{ $t('aboutMisskeyText') }}</div>
<div>🛠 {{ $t('misskeyMembers') }}</div> <div>🛠 {{ $t('misskeyMembers') }}</div>
@ -44,6 +49,9 @@
<li>wara</li> <li>wara</li>
<li>Takashi Shibuya</li> <li>Takashi Shibuya</li>
<li>Noizeman</li> <li>Noizeman</li>
<li>mydarkstar</li>
<li>nenohi</li>
<li>Eduardo Quiros</li>
</ul> </ul>
<span>{{ $t('morePatrons') }}</span> <span>{{ $t('morePatrons') }}</span>
</div> </div>

View file

@ -64,6 +64,9 @@ export default Vue.extend({
pagination: { pagination: {
endpoint: 'admin/show-users', endpoint: 'admin/show-users',
limit: 10, limit: 10,
params: () => ({
sort: '+createdAt'
}),
offsetMode: true offsetMode: true
}, },
target: '', target: '',

View file

@ -65,5 +65,6 @@
aupeazdm: 'rgba(0, 0, 0, 0.3)', aupeazdm: 'rgba(0, 0, 0, 0.3)',
jvhmlskx: 'rgba(255, 255, 255, 0.1)', jvhmlskx: 'rgba(255, 255, 255, 0.1)',
yakfpmhl: 'rgba(255, 255, 255, 0.15)', yakfpmhl: 'rgba(255, 255, 255, 0.15)',
wboyroyc: ':alpha<0.5<@navBg',
}, },
} }

View file

@ -65,5 +65,6 @@
aupeazdm: 'rgba(0, 0, 0, 0.1)', aupeazdm: 'rgba(0, 0, 0, 0.1)',
jvhmlskx: 'rgba(0, 0, 0, 0.1)', jvhmlskx: 'rgba(0, 0, 0, 0.1)',
yakfpmhl: 'rgba(0, 0, 0, 0.15)', yakfpmhl: 'rgba(0, 0, 0, 0.15)',
wboyroyc: ':alpha<0.5<@navBg',
}, },
} }