Merge branch 'develop'
10
CHANGELOG.md
|
@ -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)
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
|
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 7.2 KiB |
BIN
assets/icon.svg
Before Width: | Height: | Size: 3 KiB After Width: | Height: | Size: 5.7 KiB |
Before Width: | Height: | Size: 9.8 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 30 KiB |
|
@ -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"
|
||||||
|
|
|
@ -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)"
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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: "내 노트"
|
||||||
|
|
|
@ -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: "我的笔记"
|
||||||
|
|
|
@ -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",
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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: '',
|
||||||
|
|
|
@ -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',
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -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',
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|