Compare commits
95 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
b24e32e14e | ||
![]() |
943805bdcd | ||
![]() |
a73c65da07 | ||
![]() |
a3cf63823f | ||
![]() |
33469ff87a | ||
![]() |
23b0723168 | ||
![]() |
fda1ab3e05 | ||
![]() |
490c05a869 | ||
![]() |
f0137daebe | ||
![]() |
b9fc0e6d71 | ||
![]() |
979efee412 | ||
![]() |
9e41fddea3 | ||
![]() |
8384efc8c7 | ||
![]() |
7797c86581 | ||
![]() |
4da8cc478f | ||
![]() |
285deeec52 | ||
![]() |
2916e49422 | ||
![]() |
41e5b9134b | ||
![]() |
d0d853dcb2 | ||
![]() |
be46c7e4c5 | ||
![]() |
8e0f41d608 | ||
![]() |
a7b438072c | ||
![]() |
99958e2fce | ||
![]() |
b82843d359 | ||
![]() |
4dfc2dfa89 | ||
![]() |
50c945607f | ||
![]() |
01f28b21dd | ||
![]() |
2cb39a8882 | ||
![]() |
6ddb6bc160 | ||
![]() |
92befbb4cc | ||
![]() |
ab701bb93e | ||
![]() |
7f9a88fd1c | ||
![]() |
c5073b33ef | ||
![]() |
765b922a8b | ||
![]() |
9b7d6274fa | ||
![]() |
26b384aef1 | ||
![]() |
0b1e5e3e08 | ||
![]() |
5b7506756e | ||
![]() |
1f28a0dfeb | ||
![]() |
f56ec82f6b | ||
![]() |
499491003b | ||
![]() |
64aa733b16 | ||
![]() |
190a03103e | ||
![]() |
0d75ae9d9a | ||
![]() |
3129f8f073 | ||
![]() |
7f751d3f20 | ||
![]() |
0b5b834f8b | ||
![]() |
0f649f7d37 | ||
![]() |
a1b100d412 | ||
![]() |
dd4ee1627e | ||
![]() |
1da0fdcf78 | ||
![]() |
800eec73b8 | ||
![]() |
166cb5e179 | ||
![]() |
19c872a1f3 | ||
![]() |
9252c59d90 | ||
![]() |
0b154ac7ba | ||
![]() |
d4eb0c8df9 | ||
![]() |
5ba6f20701 | ||
![]() |
695a082582 | ||
![]() |
1b9f293959 | ||
![]() |
7289d5b401 | ||
![]() |
5bdbf98f8c | ||
![]() |
4e915e96a5 | ||
![]() |
e148f6ce5e | ||
![]() |
652d7d2c05 | ||
![]() |
0b0111fe23 | ||
![]() |
5d097fb29d | ||
![]() |
f29fe986af | ||
![]() |
0c774979c0 | ||
![]() |
f0bc2ed1d7 | ||
![]() |
b174e5e57a | ||
![]() |
ae50b71c07 | ||
![]() |
b2eb50f260 | ||
![]() |
790c7f2249 | ||
![]() |
6a0f34c283 | ||
![]() |
d151445db7 | ||
![]() |
18a3007273 | ||
![]() |
bea8c3c65c | ||
![]() |
391ee01fe3 | ||
![]() |
be7cf9f731 | ||
![]() |
b92c2aa40e | ||
![]() |
45ebcbf785 | ||
![]() |
5f32484be0 | ||
![]() |
e245122f12 | ||
![]() |
21570e2111 | ||
![]() |
63e1165a01 | ||
![]() |
89b5a69127 | ||
![]() |
1152a9d03a | ||
![]() |
10092d4570 | ||
![]() |
429b4bec64 | ||
![]() |
99f96583b6 | ||
![]() |
5adb765f85 | ||
![]() |
0eb787e0d0 | ||
![]() |
4493c856a9 | ||
![]() |
59d3d4a749 |
4
.vsls.json
Normal file
4
.vsls.json
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"$schema": "http://json.schemastore.org/vsls",
|
||||
"gitignore": "exclude"
|
||||
}
|
@@ -169,6 +169,9 @@ common/views/components/games/reversi/reversi.vue:
|
||||
common/views/components/games/reversi/reversi.game.vue:
|
||||
surrender: "投了"
|
||||
surrendered: "投了により"
|
||||
is-llotheo: "石の少ない方が勝ち(ロセオ)"
|
||||
looped-map: "ループマップ"
|
||||
can-put-everywhere: "どこでも置けるモード"
|
||||
common/views/components/games/reversi/reversi.index.vue:
|
||||
title: "Misskey Reversi"
|
||||
sub-title: "他のMisskeyユーザーとリバーシで対戦しよう"
|
||||
|
@@ -169,6 +169,9 @@ common/views/components/games/reversi/reversi.vue:
|
||||
common/views/components/games/reversi/reversi.game.vue:
|
||||
surrender: "投了"
|
||||
surrendered: "投了により"
|
||||
is-llotheo: "石の少ない方が勝ち(ロセオ)"
|
||||
looped-map: "ループマップ"
|
||||
can-put-everywhere: "どこでも置けるモード"
|
||||
common/views/components/games/reversi/reversi.index.vue:
|
||||
title: "Misskey Reversi"
|
||||
sub-title: "他のMisskeyユーザーとリバーシで対戦しよう"
|
||||
|
@@ -11,7 +11,7 @@ common:
|
||||
warning: "<strong>Misskey is not running ads</strong>, but some features may be unavailable or malfunctioning if ad blocking features are enabled."
|
||||
application-authorization: "Application authorizations."
|
||||
close: "Close"
|
||||
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
|
||||
do-not-copy-paste: "Please do not enter or paste the code here. Account may be compromised."
|
||||
got-it: "Got it!"
|
||||
customization-tips:
|
||||
title: "Customization tips"
|
||||
@@ -169,6 +169,9 @@ common/views/components/games/reversi/reversi.vue:
|
||||
common/views/components/games/reversi/reversi.game.vue:
|
||||
surrender: "Surrender"
|
||||
surrendered: "By surrender"
|
||||
is-llotheo: "The lesser one wins"
|
||||
looped-map: "Looped map"
|
||||
can-put-everywhere: "Can put everywhere"
|
||||
common/views/components/games/reversi/reversi.index.vue:
|
||||
title: "Misskey Reversi"
|
||||
sub-title: "Play reversi with your friends!"
|
||||
@@ -236,13 +239,13 @@ common/views/components/messaging-room.vue:
|
||||
no-history: "There is no further history"
|
||||
resize-form: "Drag to resize"
|
||||
new-message: "New message"
|
||||
only-one-file-attached: "メッセージに添付できるのはひとつのファイルのみです"
|
||||
only-one-file-attached: "Only one file can be attached to a message."
|
||||
common/views/components/messaging-room.form.vue:
|
||||
input-message-here: "Enter message here"
|
||||
send: "Send"
|
||||
attach-from-local: "Attach files from your device"
|
||||
attach-from-drive: "Attach files from your Drive"
|
||||
only-one-file-attached: "メッセージに添付できるのはひとつのファイルのみです"
|
||||
only-one-file-attached: "Only one file can be attached to a message."
|
||||
common/views/components/messaging-room.message.vue:
|
||||
is-read: "Read"
|
||||
deleted: "This message has been deleted"
|
||||
@@ -737,7 +740,7 @@ desktop/views/components/timeline.vue:
|
||||
list: "Lists"
|
||||
desktop/views/components/ui.header.vue:
|
||||
welcome-back: "Welcome back,"
|
||||
adjective: "さん"
|
||||
adjective: "Ms."
|
||||
desktop/views/components/ui.header.account.vue:
|
||||
profile: "Your profile"
|
||||
drive: "Media storage"
|
||||
@@ -978,7 +981,7 @@ mobile/views/components/timeline.vue:
|
||||
load-more: "More"
|
||||
mobile/views/components/ui.header.vue:
|
||||
welcome-back: "Welcome back, "
|
||||
adjective: "さん"
|
||||
adjective: "Ms."
|
||||
mobile/views/components/ui.nav.vue:
|
||||
timeline: "Timeline"
|
||||
notifications: "Notifications"
|
||||
@@ -1067,7 +1070,7 @@ mobile/views/pages/settings/settings.profile.vue:
|
||||
mobile/views/pages/search.vue:
|
||||
search: "Search"
|
||||
empty: "No posts were found for '{}'"
|
||||
not-found: "「{}」に関する投稿は見つかりませんでした。"
|
||||
not-found: "No posts were found for \"{}\"."
|
||||
mobile/views/pages/selectdrive.vue:
|
||||
select-file: "Choose files"
|
||||
mobile/views/pages/settings.vue:
|
||||
|
@@ -169,6 +169,9 @@ common/views/components/games/reversi/reversi.vue:
|
||||
common/views/components/games/reversi/reversi.game.vue:
|
||||
surrender: "Rendirse"
|
||||
surrendered: "Por rendirse"
|
||||
is-llotheo: "石の少ない方が勝ち(ロセオ)"
|
||||
looped-map: "ループマップ"
|
||||
can-put-everywhere: "どこでも置けるモード"
|
||||
common/views/components/games/reversi/reversi.index.vue:
|
||||
title: "Misskey Reversi"
|
||||
sub-title: "¡Juega Reversi con tus amigos!"
|
||||
|
@@ -11,7 +11,7 @@ common:
|
||||
warning: "<strong>Misskey n'utilise pas de publicités</strong>, mais quelques options peuvent être non disponibles ou fonctionneraient mal si un bloqueur de publicités est activé."
|
||||
application-authorization: "Permissions de l'application"
|
||||
close: "Fermer"
|
||||
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
|
||||
do-not-copy-paste: "Veuillez ne pas entrer ou coller le code ici. Le compte peut être compromis."
|
||||
got-it: "J'ai compris !"
|
||||
customization-tips:
|
||||
title: "Conseils de personnalisation"
|
||||
@@ -169,6 +169,9 @@ common/views/components/games/reversi/reversi.vue:
|
||||
common/views/components/games/reversi/reversi.game.vue:
|
||||
surrender: "Se rendre"
|
||||
surrendered: "Par abandon"
|
||||
is-llotheo: "石の少ない方が勝ち(ロセオ)"
|
||||
looped-map: "Carte en boucle"
|
||||
can-put-everywhere: "どこでも置けるモード"
|
||||
common/views/components/games/reversi/reversi.index.vue:
|
||||
title: "Misskey Reversi"
|
||||
sub-title: "Jouer à Reversi avec vos amis·es !"
|
||||
@@ -818,7 +821,7 @@ desktop/views/pages/search.vue:
|
||||
desktop/views/pages/share.vue:
|
||||
share-with: "Partager avec {}"
|
||||
desktop/views/pages/tag.vue:
|
||||
no-posts-found: "ハッシュタグ「{}」が付けられた投稿は見つかりませんでした。"
|
||||
no-posts-found: "Pas de message avec un hashtag {} trouvé."
|
||||
desktop/views/pages/user-list.users.vue:
|
||||
users: "Utilisateurs"
|
||||
add-user: "Ajouter un utilisateur"
|
||||
@@ -843,7 +846,7 @@ desktop/views/pages/user/user.photos.vue:
|
||||
no-photos: "Pas de photos"
|
||||
desktop/views/pages/user/user.profile.vue:
|
||||
follows-you: "Vous suis"
|
||||
stalk: "ストークする"
|
||||
stalk: "Traquer"
|
||||
stalking: "ストーキングしています"
|
||||
unstalk: "ストーク解除"
|
||||
mute: "Mettre en sourdine"
|
||||
@@ -893,11 +896,11 @@ mobile/views/components/drive.vue:
|
||||
load-more: "Charger plus"
|
||||
nothing-in-drive: "Rien"
|
||||
folder-is-empty: "Ce dossier est vide"
|
||||
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
||||
prompt: "Que veux-tu faire ? (Entrez un nombre): <1 → Télécharger le fichier | 2 → Télécharger le fichier avec l'URL | 3 → Créer le dossier | 4 → Modifier le nom du dossier | 5 → Déplacer ce dossier | 6 → Supprimer ce dossier >"
|
||||
deletion-alert: "Désolé ! La suppression d’un dossier n’est pas encore implémentée."
|
||||
folder-name: "Nom du dossier"
|
||||
root-rename-alert: "現在いる場所はルートで、フォルダではないため名前の変更はできません。名前を変更したいフォルダに移動してからやってください。"
|
||||
root-move-alert: "現在いる場所はルートで、フォルダではないため移動はできません。移動したいフォルダに移動してからやってください。"
|
||||
root-rename-alert: "L'emplacement actuel est la racine, pas le dossier, vous ne pouvez donc pas le renommer. Veuillez vous déplacer dans le dossier dont vous souhaitez modifier le nom."
|
||||
root-move-alert: "L'emplacement actuel est la racine, ce n'est pas un dossier et il ne peut pas être déplacé. Veuillez vous déplacer dans le dossier que vous souhaitez déplacer."
|
||||
url-prompt: "URL du fichier que vous souhaitez téléverser"
|
||||
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
||||
mobile/views/components/drive-file-detail.vue:
|
||||
@@ -977,7 +980,7 @@ mobile/views/components/timeline.vue:
|
||||
empty: "Pas de notes"
|
||||
load-more: "Afficher plus"
|
||||
mobile/views/components/ui.header.vue:
|
||||
welcome-back: "Bon retour parmi nous !"
|
||||
welcome-back: "Content de vous revoir ! "
|
||||
adjective: "さん"
|
||||
mobile/views/components/ui.nav.vue:
|
||||
timeline: "Fil d'actualité"
|
||||
@@ -1021,7 +1024,7 @@ mobile/views/pages/home.vue:
|
||||
hybrid: "Social"
|
||||
global: "Global"
|
||||
mobile/views/pages/tag.vue:
|
||||
no-posts-found: "ハッシュタグ「{}」が付けられた投稿は見つかりませんでした。"
|
||||
no-posts-found: "Pas de message avec un hashtag {} trouvé."
|
||||
mobile/views/pages/welcome.vue:
|
||||
signup: "S'enregistrer"
|
||||
mobile/views/pages/widgets.vue:
|
||||
@@ -1067,7 +1070,7 @@ mobile/views/pages/settings/settings.profile.vue:
|
||||
mobile/views/pages/search.vue:
|
||||
search: "Chercher"
|
||||
empty: "Aucun message trouvé pour '{}' "
|
||||
not-found: "「{}」に関する投稿は見つかりませんでした。"
|
||||
not-found: "Aucun post pour {} n'a été trouvé."
|
||||
mobile/views/pages/selectdrive.vue:
|
||||
select-file: "Choisissez un fichier"
|
||||
mobile/views/pages/settings.vue:
|
||||
|
@@ -169,6 +169,9 @@ common/views/components/games/reversi/reversi.vue:
|
||||
common/views/components/games/reversi/reversi.game.vue:
|
||||
surrender: "投了"
|
||||
surrendered: "投了により"
|
||||
is-llotheo: "石の少ない方が勝ち(ロセオ)"
|
||||
looped-map: "ループマップ"
|
||||
can-put-everywhere: "どこでも置けるモード"
|
||||
common/views/components/games/reversi/reversi.index.vue:
|
||||
title: "Misskey Reversi"
|
||||
sub-title: "他のMisskeyユーザーとリバーシで対戦しよう"
|
||||
|
@@ -182,6 +182,9 @@ common/views/components/games/reversi/reversi.vue:
|
||||
common/views/components/games/reversi/reversi.game.vue:
|
||||
surrender: "投了"
|
||||
surrendered: "投了により"
|
||||
is-llotheo: "石の少ない方が勝ち(ロセオ)"
|
||||
looped-map: "ループマップ"
|
||||
can-put-everywhere: "どこでも置けるモード"
|
||||
|
||||
common/views/components/games/reversi/reversi.index.vue:
|
||||
title: "Misskey Reversi"
|
||||
|
@@ -169,6 +169,9 @@ common/views/components/games/reversi/reversi.vue:
|
||||
common/views/components/games/reversi/reversi.game.vue:
|
||||
surrender: "投了"
|
||||
surrendered: "投了により"
|
||||
is-llotheo: "石の少ない方が勝ち(ロセオ)"
|
||||
looped-map: "ループマップ"
|
||||
can-put-everywhere: "どこでも置けるモード"
|
||||
common/views/components/games/reversi/reversi.index.vue:
|
||||
title: "Misskey Reversi"
|
||||
sub-title: "他のMisskeyユーザーとリバーシで対戦しよう"
|
||||
|
@@ -39,7 +39,7 @@ common:
|
||||
weeks_ago: "{} tyg. temu"
|
||||
months_ago: "{} mies. temu"
|
||||
years_ago: "{} lat temu"
|
||||
month-and-day: "{month}月 {day}日"
|
||||
month-and-day: "{month}-{day}"
|
||||
trash: "Kosz"
|
||||
weekday-short:
|
||||
sunday: "N"
|
||||
@@ -169,6 +169,9 @@ common/views/components/games/reversi/reversi.vue:
|
||||
common/views/components/games/reversi/reversi.game.vue:
|
||||
surrender: "投了"
|
||||
surrendered: "投了により"
|
||||
is-llotheo: "石の少ない方が勝ち(ロセオ)"
|
||||
looped-map: "ループマップ"
|
||||
can-put-everywhere: "どこでも置けるモード"
|
||||
common/views/components/games/reversi/reversi.index.vue:
|
||||
title: "Misskey Reversi"
|
||||
sub-title: "Zagraj w Reversi ze znajomymi!"
|
||||
@@ -395,15 +398,15 @@ common/views/pages/follow.vue:
|
||||
follow-request: "Poproś o śledzenie"
|
||||
desktop:
|
||||
banner-crop-title: "バナーとして表示する部分を選択"
|
||||
banner: "バナー"
|
||||
uploading-banner: "新しいバナーをアップロードしています"
|
||||
banner-updated: "バナーを更新しました"
|
||||
choose-banner: "バナーにする画像を選択"
|
||||
avatar-crop-title: "アバターとして表示する部分を選択"
|
||||
avatar: "アバター"
|
||||
uploading-avatar: "新しいアバターをアップロードしています"
|
||||
avatar-updated: "アバターを更新しました"
|
||||
choose-avatar: "アバターにする画像を選択"
|
||||
banner: "Baner"
|
||||
uploading-banner: "Wysyłanie baneru"
|
||||
banner-updated: "Zmieniono baner"
|
||||
choose-banner: "Wybierz baner"
|
||||
avatar-crop-title: "Wybierz część obrazu, która zostanie użyta jako awatar"
|
||||
avatar: "Awatar"
|
||||
uploading-avatar: "Wysyłanie awatara"
|
||||
avatar-updated: "Wysłano awatar"
|
||||
choose-avatar: "Wybierz awatar"
|
||||
desktop/views/components/activity.chart.vue:
|
||||
total: "Czarny … Łącznie"
|
||||
notes: "Niebieski … Wpisy"
|
||||
@@ -1163,4 +1166,4 @@ docs:
|
||||
type: "Rodzaj"
|
||||
description: "Opis"
|
||||
dev/views/index.vue:
|
||||
manage-apps: "アプリの管理"
|
||||
manage-apps: "Zarządzaj aplikacjami"
|
||||
|
@@ -169,6 +169,9 @@ common/views/components/games/reversi/reversi.vue:
|
||||
common/views/components/games/reversi/reversi.game.vue:
|
||||
surrender: "投了"
|
||||
surrendered: "投了により"
|
||||
is-llotheo: "石の少ない方が勝ち(ロセオ)"
|
||||
looped-map: "ループマップ"
|
||||
can-put-everywhere: "どこでも置けるモード"
|
||||
common/views/components/games/reversi/reversi.index.vue:
|
||||
title: "Misskey Reversi"
|
||||
sub-title: "他のMisskeyユーザーとリバーシで対戦しよう"
|
||||
|
@@ -169,6 +169,9 @@ common/views/components/games/reversi/reversi.vue:
|
||||
common/views/components/games/reversi/reversi.game.vue:
|
||||
surrender: "投了"
|
||||
surrendered: "投了により"
|
||||
is-llotheo: "石の少ない方が勝ち(ロセオ)"
|
||||
looped-map: "ループマップ"
|
||||
can-put-everywhere: "どこでも置けるモード"
|
||||
common/views/components/games/reversi/reversi.index.vue:
|
||||
title: "Misskey Reversi"
|
||||
sub-title: "他のMisskeyユーザーとリバーシで対戦しよう"
|
||||
|
@@ -169,6 +169,9 @@ common/views/components/games/reversi/reversi.vue:
|
||||
common/views/components/games/reversi/reversi.game.vue:
|
||||
surrender: "投了"
|
||||
surrendered: "投了により"
|
||||
is-llotheo: "石の少ない方が勝ち(ロセオ)"
|
||||
looped-map: "ループマップ"
|
||||
can-put-everywhere: "どこでも置けるモード"
|
||||
common/views/components/games/reversi/reversi.index.vue:
|
||||
title: "Misskey Reversi"
|
||||
sub-title: "他のMisskeyユーザーとリバーシで対戦しよう"
|
||||
|
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"name": "misskey",
|
||||
"author": "syuilo <i@syuilo.com>",
|
||||
"version": "5.22.1",
|
||||
"clientVersion": "1.0.8127",
|
||||
"version": "5.23.0",
|
||||
"clientVersion": "1.0.8226",
|
||||
"codename": "nighthike",
|
||||
"main": "./built/index.js",
|
||||
"private": true,
|
||||
@@ -145,6 +145,7 @@
|
||||
"koa-slow": "2.1.0",
|
||||
"koa-views": "6.1.4",
|
||||
"loader-utils": "1.1.0",
|
||||
"lodash.assign": "4.2.0",
|
||||
"mecab-async": "0.1.2",
|
||||
"minio": "6.0.0",
|
||||
"mkdirp": "0.5.1",
|
||||
@@ -193,7 +194,7 @@
|
||||
"textarea-caret": "3.1.0",
|
||||
"tmp": "0.0.33",
|
||||
"ts-loader": "4.4.1",
|
||||
"ts-node": "7.0.0",
|
||||
"ts-node": "7.0.1",
|
||||
"tslint": "5.10.0",
|
||||
"typescript": "2.9.2",
|
||||
"typescript-eslint-parser": "18.0.0",
|
||||
@@ -203,7 +204,7 @@
|
||||
"v-animate-css": "0.0.2",
|
||||
"vue": "2.5.17",
|
||||
"vue-cropperjs": "2.2.1",
|
||||
"vue-js-modal": "1.3.16",
|
||||
"vue-js-modal": "1.3.17",
|
||||
"vue-json-tree-view": "2.1.4",
|
||||
"vue-loader": "15.3.0",
|
||||
"vue-router": "3.0.1",
|
||||
|
@@ -60,6 +60,12 @@
|
||||
<el-button type="primary" @click="logPos = logs.length" :disabled="logPos == logs.length">%fa:angle-double-right%</el-button>
|
||||
</el-button-group>
|
||||
</div>
|
||||
|
||||
<div class="info">
|
||||
<p v-if="game.settings.isLlotheo">%i18n:@is-llotheo%</p>
|
||||
<p v-if="game.settings.loopedBoard">%i18n:@looped-map%</p>
|
||||
<p v-if="game.settings.canPutEverywhere">%i18n:@can-put-everywhere%</p>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
@@ -1,13 +1,5 @@
|
||||
<template>
|
||||
<iframe v-if="youtubeId" type="text/html" height="250"
|
||||
:src="`https://www.youtube.com/embed/${youtubeId}?origin=${misskeyUrl}`"
|
||||
frameborder="0"/>
|
||||
<iframe v-else-if="spotifyId"
|
||||
:src="`https://open.spotify.com/embed/track/${spotifyId}`"
|
||||
frameborder="0" allowtransparency="true" allow="encrypted-media" />
|
||||
<iframe v-else-if="nicovideoId"
|
||||
:src="`https://embed.nicovideo.jp/watch/${nicovideoId}?oldScript=1&referer=${misskeyUrl}&from=${position || '0'}&allowProgrammaticFullScreen=1`"
|
||||
frameborder="0" allow="autoplay; encrypted-media" allowfullscreen />
|
||||
<iframe v-if="player" :src="player" heigth="250" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen />
|
||||
<div v-else-if="tweetUrl && detail" class="twitter">
|
||||
<blockquote ref="tweet" class="twitter-tweet" :data-theme="$store.state.device.darkmode ? 'dark' : null">
|
||||
<a :href="url"></a>
|
||||
@@ -54,10 +46,7 @@ export default Vue.extend({
|
||||
thumbnail: null,
|
||||
icon: null,
|
||||
sitename: null,
|
||||
youtubeId: null,
|
||||
spotifyId: null,
|
||||
nicovideoId: null,
|
||||
position: null,
|
||||
player: null,
|
||||
tweetUrl: null,
|
||||
misskeyUrl
|
||||
};
|
||||
@@ -65,23 +54,7 @@ export default Vue.extend({
|
||||
created() {
|
||||
const url = new URL(this.url);
|
||||
|
||||
if (url.hostname == 'www.youtube.com') {
|
||||
this.youtubeId = url.searchParams.get('v');
|
||||
return;
|
||||
} else if (url.hostname == 'youtu.be') {
|
||||
this.youtubeId = url.pathname;
|
||||
return;
|
||||
} else if (url.hostname == 'open.spotify.com') {
|
||||
this.spotifyId = url.pathname.split('/').reverse().filter(x => x !== '')[0];
|
||||
return;
|
||||
} else if (['nicovideo.jp', 'www.nicovideo.jp', 'nico.ms'].includes(url.hostname)) {
|
||||
const id = url.pathname.split('/').reverse().filter(x => x !== '')[0];
|
||||
if (['sm', 'nm', 'ax', 'ca', 'cd', 'cw', 'fx', 'ig', 'na', 'om', 'sd', 'sk', 'yk', 'yo', 'za', 'zb', 'zc', 'zd', 'ze', 'nl', 'so', ...Array(10).keys()].some(x => id.startsWith(x)) {
|
||||
this.nicovideoId = id;
|
||||
this.position = url.searchParams.get('from');
|
||||
return;
|
||||
}
|
||||
} else if (this.detail && url.hostname == 'twitter.com' && /^\/.+\/status(es)?\/\d+/.test(url.pathname)) {
|
||||
if (this.detail && url.hostname == 'twitter.com' && /^\/.+\/status(es)?\/\d+/.test(url.pathname)) {
|
||||
this.tweetUrl = url;
|
||||
const twttr = (window as any).twttr || {};
|
||||
const loadTweet = () => twttr.widgets.load(this.$refs.tweet);
|
||||
@@ -110,11 +83,86 @@ export default Vue.extend({
|
||||
this.thumbnail = info.thumbnail;
|
||||
this.icon = info.icon;
|
||||
this.sitename = info.sitename;
|
||||
|
||||
this.fetching = false;
|
||||
if ([ // THIS IS THE WHITELIST FOR THE EMBED PLAYER
|
||||
'afreecatv.com',
|
||||
'aparat.com',
|
||||
'applemusic.com',
|
||||
'amazon.com',
|
||||
'awa.fm',
|
||||
'bandcamp.com',
|
||||
'bbc.co.uk',
|
||||
'beatport.com',
|
||||
'bilibili.com',
|
||||
'boomstream.com',
|
||||
'breakers.tv',
|
||||
'cam4.com',
|
||||
'cavelis.net',
|
||||
'chaturbate.com',
|
||||
'cnn.com',
|
||||
'cybergame.tv',
|
||||
'dailymotion.com',
|
||||
'deezer.com',
|
||||
'djlive.pl',
|
||||
'e-onkyo.com',
|
||||
'eventials.com',
|
||||
'facebook.com',
|
||||
'fc2.com',
|
||||
'gameplank.tv',
|
||||
'goodgame.ru',
|
||||
'google.com',
|
||||
'hardtunes.com',
|
||||
'instagram.com',
|
||||
'johnnylooch.com',
|
||||
'kexp.org',
|
||||
'lahzenegar.com',
|
||||
'liveedu.tv',
|
||||
'livetube.cc',
|
||||
'livestream.com',
|
||||
'meridix.com',
|
||||
'mixcloud.com',
|
||||
'mixer.com',
|
||||
'mobcrush.com',
|
||||
'mylive.in.th',
|
||||
'myspace.com',
|
||||
'netflix.com',
|
||||
'newretrowave.com',
|
||||
'nhk.or.jp',
|
||||
'nicovideo.jp',
|
||||
'noisetrade.com',
|
||||
'nood.tv',
|
||||
'npr.org',
|
||||
'openrec.tv',
|
||||
'pandora.com',
|
||||
'pandora.tv',
|
||||
'picarto.tv',
|
||||
'pscp.tv',
|
||||
'restream.io',
|
||||
'reverbnation.com',
|
||||
'sermonaudio.com',
|
||||
'smashcast.tv',
|
||||
'songkick.com',
|
||||
'soundcloud.com',
|
||||
'spinninrecords.com',
|
||||
'stitcher.com',
|
||||
'stream.me',
|
||||
'switchboard.live',
|
||||
'tunein.com',
|
||||
'twitcasting.tv',
|
||||
'twitch.tv',
|
||||
'twitter.com',
|
||||
'vaughnlive.tv',
|
||||
'veoh.com',
|
||||
'vimeo.com',
|
||||
'watchpeoplecode.com',
|
||||
'web.tv',
|
||||
'youtube.com',
|
||||
'youtu.be'
|
||||
].some(x => x == url.hostname || url.hostname.endsWith(`.${x}`))))
|
||||
this.player = info.player;
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
@@ -99,7 +99,7 @@ export default Vue.extend({
|
||||
text: '%i18n:@contextmenu.set-as-banner%',
|
||||
action: this.setAsBanner
|
||||
}]
|
||||
}, {
|
||||
}, /*{
|
||||
type: 'nest',
|
||||
text: '%i18n:@contextmenu.open-in-app%',
|
||||
menu: [{
|
||||
@@ -107,11 +107,11 @@ export default Vue.extend({
|
||||
text: '%i18n:@contextmenu.add-app%...',
|
||||
action: this.addApp
|
||||
}]
|
||||
}], {
|
||||
closed: () => {
|
||||
this.isContextmenuShowing = false;
|
||||
}
|
||||
});
|
||||
}*/], {
|
||||
closed: () => {
|
||||
this.isContextmenuShowing = false;
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
onDragstart(e) {
|
||||
|
@@ -67,16 +67,16 @@ export default Vue.extend({
|
||||
text: '%i18n:@contextmenu.rename%',
|
||||
icon: '%fa:i-cursor%',
|
||||
action: this.rename
|
||||
}, null, {
|
||||
}/*, null, {
|
||||
type: 'item',
|
||||
text: '%i18n:common.delete%',
|
||||
icon: '%fa:R trash-alt%',
|
||||
action: this.deleteFolder
|
||||
}], {
|
||||
closed: () => {
|
||||
this.isContextmenuShowing = false;
|
||||
}
|
||||
});
|
||||
}*/], {
|
||||
closed: () => {
|
||||
this.isContextmenuShowing = false;
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
onMouseover() {
|
||||
|
@@ -567,6 +567,7 @@ export default Vue.extend({
|
||||
// ファイル一覧取得
|
||||
(this as any).api('drive/files', {
|
||||
folderId: this.folder ? this.folder.id : null,
|
||||
untilId: this.files[this.files.length - 1].id,
|
||||
limit: max + 1
|
||||
}).then(files => {
|
||||
if (files.length == max + 1) {
|
||||
|
@@ -155,10 +155,12 @@ root(isDark)
|
||||
max-width 1300px
|
||||
margin 0 auto
|
||||
|
||||
> .center
|
||||
margin auto
|
||||
> *
|
||||
position absolute
|
||||
height 48px
|
||||
|
||||
> .icon
|
||||
margin auto
|
||||
display block
|
||||
width 48px
|
||||
height 48px
|
||||
@@ -169,11 +171,13 @@ root(isDark)
|
||||
opacity 0.3
|
||||
cursor pointer
|
||||
|
||||
> .left
|
||||
height 48px
|
||||
> .left,
|
||||
> .center
|
||||
left 0
|
||||
|
||||
> .right
|
||||
height 48px
|
||||
> .right,
|
||||
> .center
|
||||
right 0
|
||||
|
||||
> *
|
||||
display inline-block
|
||||
|
@@ -13,7 +13,7 @@ export default App;
|
||||
export type IApp = {
|
||||
_id: mongo.ObjectID;
|
||||
createdAt: Date;
|
||||
userId: mongo.ObjectID;
|
||||
userId: mongo.ObjectID | null;
|
||||
secret: string;
|
||||
name: string;
|
||||
nameId: string;
|
||||
|
@@ -340,7 +340,7 @@ export const pack = async (
|
||||
_note = await rap(_note);
|
||||
|
||||
if (_note.user.isCat && _note.text) {
|
||||
_note.text = _note.text.replace(/な/g, 'にゃ').replace(/ナ/g, 'ニャ');
|
||||
_note.text = _note.text.replace(/な/g, 'にゃ').replace(/ナ/g, 'ニャ').replace(/ナ/g, 'ニャ');
|
||||
}
|
||||
|
||||
if (hide) {
|
||||
|
@@ -69,12 +69,13 @@ export async function createNote(value: any, resolver?: Resolver, silent = false
|
||||
if (!note.to.includes('https://www.w3.org/ns/activitystreams#Public')) {
|
||||
if (note.cc.includes('https://www.w3.org/ns/activitystreams#Public')) {
|
||||
visibility = 'home';
|
||||
} else if (note.to.includes(`${actor.uri}/followers`)) { // TODO: person.followerと照合するべき?
|
||||
visibility = 'followers';
|
||||
} else {
|
||||
visibility = 'specified';
|
||||
visibleUsers = await Promise.all(note.to.map(uri => resolvePerson(uri)));
|
||||
}
|
||||
}
|
||||
if (note.cc.length == 0) visibility = 'followers';
|
||||
//#endergion
|
||||
|
||||
// 添付メディア
|
||||
|
@@ -4,5 +4,5 @@ import { IDriveFile } from '../../../models/drive-file';
|
||||
export default (file: IDriveFile) => ({
|
||||
type: 'Document',
|
||||
mediaType: file.contentType,
|
||||
url: `${config.drive_url}/${file._id}`
|
||||
url: file.metadata.url || `${config.drive_url}/${file._id}`
|
||||
});
|
||||
|
@@ -3,6 +3,6 @@ import { IDriveFile } from '../../../models/drive-file';
|
||||
|
||||
export default (file: IDriveFile) => ({
|
||||
type: 'Image',
|
||||
url: `${config.drive_url}/${file._id}`,
|
||||
url: file.metadata.url || `${config.drive_url}/${file._id}`,
|
||||
sensitive: file.metadata.isSensitive
|
||||
});
|
||||
|
@@ -4,7 +4,7 @@ import App, { isValidNameId, pack } from '../../../../models/app';
|
||||
import { ILocalUser } from '../../../../models/user';
|
||||
|
||||
export const meta = {
|
||||
requireCredential: true
|
||||
requireCredential: false
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -38,7 +38,7 @@ export default async (params: any, user: ILocalUser) => new Promise(async (res,
|
||||
// Create account
|
||||
const app = await App.insert({
|
||||
createdAt: new Date(),
|
||||
userId: user._id,
|
||||
userId: user && user._id,
|
||||
name: name,
|
||||
nameId: nameId,
|
||||
nameIdLower: nameId.toLowerCase(),
|
||||
|
Reference in New Issue
Block a user