mirror of
https://activitypub.software/TransFem-org/Sharkey
synced 2024-11-26 16:03:02 +00:00
Refactor & Clean up
This commit is contained in:
parent
ba845f5218
commit
60ef3e3563
154 changed files with 438 additions and 481 deletions
|
@ -26,14 +26,6 @@ common:
|
||||||
close: "閉じる"
|
close: "閉じる"
|
||||||
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
|
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
|
||||||
load-more: "もっと読み込む"
|
load-more: "もっと読み込む"
|
||||||
BSoD:
|
|
||||||
fatal-error: ":( 致命的な問題が発生しました。"
|
|
||||||
update-browser-os: "お使いのブラウザ(またはOS)のバージョンを更新すると解決する可能性があります。"
|
|
||||||
error-code: "エラーコード"
|
|
||||||
browser-version: "ブラウザ バージョン"
|
|
||||||
client-version: "クライアント バージョン"
|
|
||||||
email-support: "問題が解決しない場合は、上記の情報をお書き添えの上 syuilotan@yahoo.co.jp までご連絡ください。"
|
|
||||||
thanks: "Thank you for using Misskey."
|
|
||||||
|
|
||||||
got-it: "わかった"
|
got-it: "わかった"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
|
|
|
@ -34,7 +34,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
created() {
|
created() {
|
||||||
(this as any).os.getMeta().then(meta => {
|
this.$root.getMeta().then(meta => {
|
||||||
this.announcements = meta.broadcasts;
|
this.announcements = meta.broadcasts;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -64,7 +64,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
save(silent) {
|
save(silent) {
|
||||||
(this as any).api('admin/update-meta', {
|
this.$root.api('admin/update-meta', {
|
||||||
broadcasts: this.announcements
|
broadcasts: this.announcements
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
if (!silent) {
|
if (!silent) {
|
||||||
|
|
|
@ -33,7 +33,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
mounted() {
|
mounted() {
|
||||||
this.connection = (this as any).os.stream.useSharedConnection('apLog');
|
this.connection = this.$root.stream.useSharedConnection('apLog');
|
||||||
this.connection.on('log', this.onLog);
|
this.connection.on('log', this.onLog);
|
||||||
this.connection.on('logs', this.onLogs);
|
this.connection.on('logs', this.onLogs);
|
||||||
this.connection.send('requestLog', {
|
this.connection.send('requestLog', {
|
||||||
|
|
|
@ -105,17 +105,17 @@ export default Vue.extend({
|
||||||
this.now = new Date();
|
this.now = new Date();
|
||||||
|
|
||||||
const [perHour, perDay] = await Promise.all([Promise.all([
|
const [perHour, perDay] = await Promise.all([Promise.all([
|
||||||
(this as any).api('charts/federation', { limit: limit, span: 'hour' }),
|
this.$root.api('charts/federation', { limit: limit, span: 'hour' }),
|
||||||
(this as any).api('charts/users', { limit: limit, span: 'hour' }),
|
this.$root.api('charts/users', { limit: limit, span: 'hour' }),
|
||||||
(this as any).api('charts/notes', { limit: limit, span: 'hour' }),
|
this.$root.api('charts/notes', { limit: limit, span: 'hour' }),
|
||||||
(this as any).api('charts/drive', { limit: limit, span: 'hour' }),
|
this.$root.api('charts/drive', { limit: limit, span: 'hour' }),
|
||||||
(this as any).api('charts/network', { limit: limit, span: 'hour' })
|
this.$root.api('charts/network', { limit: limit, span: 'hour' })
|
||||||
]), Promise.all([
|
]), Promise.all([
|
||||||
(this as any).api('charts/federation', { limit: limit, span: 'day' }),
|
this.$root.api('charts/federation', { limit: limit, span: 'day' }),
|
||||||
(this as any).api('charts/users', { limit: limit, span: 'day' }),
|
this.$root.api('charts/users', { limit: limit, span: 'day' }),
|
||||||
(this as any).api('charts/notes', { limit: limit, span: 'day' }),
|
this.$root.api('charts/notes', { limit: limit, span: 'day' }),
|
||||||
(this as any).api('charts/drive', { limit: limit, span: 'day' }),
|
this.$root.api('charts/drive', { limit: limit, span: 'day' }),
|
||||||
(this as any).api('charts/network', { limit: limit, span: 'day' })
|
this.$root.api('charts/network', { limit: limit, span: 'day' })
|
||||||
])]);
|
])]);
|
||||||
|
|
||||||
const chart = {
|
const chart = {
|
||||||
|
|
|
@ -47,7 +47,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
mounted() {
|
mounted() {
|
||||||
(this as any).os.getMeta().then(meta => {
|
this.$root.getMeta().then(meta => {
|
||||||
this.meta = meta;
|
this.meta = meta;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -101,13 +101,13 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
created() {
|
created() {
|
||||||
this.connection = (this as any).os.stream.useSharedConnection('serverStats');
|
this.connection = this.$root.stream.useSharedConnection('serverStats');
|
||||||
|
|
||||||
(this as any).os.getMeta().then(meta => {
|
this.$root.getMeta().then(meta => {
|
||||||
this.meta = meta;
|
this.meta = meta;
|
||||||
});
|
});
|
||||||
|
|
||||||
(this as any).api('stats').then(stats => {
|
this.$root.api('stats').then(stats => {
|
||||||
this.stats = stats;
|
this.stats = stats;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
|
@ -68,7 +68,7 @@ export default Vue.extend({
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
add() {
|
add() {
|
||||||
(this as any).api('admin/emoji/add', {
|
this.$root.api('admin/emoji/add', {
|
||||||
name: this.name,
|
name: this.name,
|
||||||
url: this.url,
|
url: this.url,
|
||||||
aliases: this.aliases.split(' ').filter(x => x.length > 0)
|
aliases: this.aliases.split(' ').filter(x => x.length > 0)
|
||||||
|
@ -87,7 +87,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
fetchEmojis() {
|
fetchEmojis() {
|
||||||
(this as any).api('admin/emoji/list').then(emojis => {
|
this.$root.api('admin/emoji/list').then(emojis => {
|
||||||
emojis.reverse();
|
emojis.reverse();
|
||||||
emojis.forEach(e => e.aliases = (e.aliases || []).join(' '));
|
emojis.forEach(e => e.aliases = (e.aliases || []).join(' '));
|
||||||
this.emojis = emojis;
|
this.emojis = emojis;
|
||||||
|
@ -95,7 +95,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
updateEmoji(emoji) {
|
updateEmoji(emoji) {
|
||||||
(this as any).api('admin/emoji/update', {
|
this.$root.api('admin/emoji/update', {
|
||||||
id: emoji.id,
|
id: emoji.id,
|
||||||
name: emoji.name,
|
name: emoji.name,
|
||||||
url: emoji.url,
|
url: emoji.url,
|
||||||
|
@ -121,7 +121,7 @@ export default Vue.extend({
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
if (!res.value) return;
|
if (!res.value) return;
|
||||||
|
|
||||||
(this as any).api('admin/emoji/remove', {
|
this.$root.api('admin/emoji/remove', {
|
||||||
id: emoji.id
|
id: emoji.id
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.$swal({
|
this.$swal({
|
||||||
|
|
|
@ -22,18 +22,18 @@ export default Vue.extend({
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
(this as any).os.getMeta().then(meta => {
|
this.$root.getMeta().then(meta => {
|
||||||
this.hidedTags = meta.hidedTags.join('\n');
|
this.hidedTags = meta.hidedTags.join('\n');
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
save() {
|
save() {
|
||||||
(this as any).api('admin/update-meta', {
|
this.$root.api('admin/update-meta', {
|
||||||
hidedTags: this.hidedTags.split('\n')
|
hidedTags: this.hidedTags.split('\n')
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
//(this as any).os.apis.dialog({ text: `Saved` });
|
//this.$root.os.apis.dialog({ text: `Saved` });
|
||||||
}).catch(e => {
|
}).catch(e => {
|
||||||
//(this as any).os.apis.dialog({ text: `Failed ${e}` });
|
//this.$root.os.apis.dialog({ text: `Failed ${e}` });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -113,7 +113,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
created() {
|
created() {
|
||||||
(this as any).os.getMeta().then(meta => {
|
this.$root.getMeta().then(meta => {
|
||||||
this.maintainerName = meta.maintainer.name;
|
this.maintainerName = meta.maintainer.name;
|
||||||
this.maintainerEmail = meta.maintainer.email;
|
this.maintainerEmail = meta.maintainer.email;
|
||||||
this.bannerUrl = meta.bannerUrl;
|
this.bannerUrl = meta.bannerUrl;
|
||||||
|
@ -139,7 +139,7 @@ export default Vue.extend({
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
invite() {
|
invite() {
|
||||||
(this as any).api('admin/invite').then(x => {
|
this.$root.api('admin/invite').then(x => {
|
||||||
this.inviteCode = x.code;
|
this.inviteCode = x.code;
|
||||||
}).catch(e => {
|
}).catch(e => {
|
||||||
this.$swal({
|
this.$swal({
|
||||||
|
@ -150,7 +150,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
updateMeta() {
|
updateMeta() {
|
||||||
(this as any).api('admin/update-meta', {
|
this.$root.api('admin/update-meta', {
|
||||||
maintainerName: this.maintainerName,
|
maintainerName: this.maintainerName,
|
||||||
maintainerEmail: this.maintainerEmail,
|
maintainerEmail: this.maintainerEmail,
|
||||||
disableRegistration: this.disableRegistration,
|
disableRegistration: this.disableRegistration,
|
||||||
|
|
|
@ -67,13 +67,13 @@ export default Vue.extend({
|
||||||
this.verifying = true;
|
this.verifying = true;
|
||||||
|
|
||||||
const process = async () => {
|
const process = async () => {
|
||||||
const user = await (this as any).os.api('users/show', parseAcct(this.verifyUsername));
|
const user = await this.$root.os.api('users/show', parseAcct(this.verifyUsername));
|
||||||
await (this as any).os.api('admin/verify-user', { userId: user.id });
|
await this.$root.os.api('admin/verify-user', { userId: user.id });
|
||||||
//(this as any).os.apis.dialog({ text: this.$t('verified') });
|
//this.$root.os.apis.dialog({ text: this.$t('verified') });
|
||||||
};
|
};
|
||||||
|
|
||||||
await process().catch(e => {
|
await process().catch(e => {
|
||||||
//(this as any).os.apis.dialog({ text: `Failed: ${e}` });
|
//this.$root.os.apis.dialog({ text: `Failed: ${e}` });
|
||||||
});
|
});
|
||||||
|
|
||||||
this.verifying = false;
|
this.verifying = false;
|
||||||
|
@ -83,13 +83,13 @@ export default Vue.extend({
|
||||||
this.unverifying = true;
|
this.unverifying = true;
|
||||||
|
|
||||||
const process = async () => {
|
const process = async () => {
|
||||||
const user = await (this as any).os.api('users/show', parseAcct(this.unverifyUsername));
|
const user = await this.$root.os.api('users/show', parseAcct(this.unverifyUsername));
|
||||||
await (this as any).os.api('admin/unverify-user', { userId: user.id });
|
await this.$root.os.api('admin/unverify-user', { userId: user.id });
|
||||||
//(this as any).os.apis.dialog({ text: this.$t('unverified') });
|
//this.$root.os.apis.dialog({ text: this.$t('unverified') });
|
||||||
};
|
};
|
||||||
|
|
||||||
await process().catch(e => {
|
await process().catch(e => {
|
||||||
//(this as any).os.apis.dialog({ text: `Failed: ${e}` });
|
//this.$root.os.apis.dialog({ text: `Failed: ${e}` });
|
||||||
});
|
});
|
||||||
|
|
||||||
this.unverifying = false;
|
this.unverifying = false;
|
||||||
|
@ -99,13 +99,13 @@ export default Vue.extend({
|
||||||
this.suspending = true;
|
this.suspending = true;
|
||||||
|
|
||||||
const process = async () => {
|
const process = async () => {
|
||||||
const user = await (this as any).os.api('users/show', parseAcct(this.suspendUsername));
|
const user = await this.$root.os.api('users/show', parseAcct(this.suspendUsername));
|
||||||
await (this as any).os.api('admin/suspend-user', { userId: user.id });
|
await this.$root.os.api('admin/suspend-user', { userId: user.id });
|
||||||
//(this as any).os.apis.dialog({ text: this.$t('suspended') });
|
//this.$root.os.apis.dialog({ text: this.$t('suspended') });
|
||||||
};
|
};
|
||||||
|
|
||||||
await process().catch(e => {
|
await process().catch(e => {
|
||||||
//(this as any).os.apis.dialog({ text: `Failed: ${e}` });
|
//this.$root.os.apis.dialog({ text: `Failed: ${e}` });
|
||||||
});
|
});
|
||||||
|
|
||||||
this.suspending = false;
|
this.suspending = false;
|
||||||
|
@ -115,13 +115,13 @@ export default Vue.extend({
|
||||||
this.unsuspending = true;
|
this.unsuspending = true;
|
||||||
|
|
||||||
const process = async () => {
|
const process = async () => {
|
||||||
const user = await (this as any).os.api('users/show', parseAcct(this.unsuspendUsername));
|
const user = await this.$root.os.api('users/show', parseAcct(this.unsuspendUsername));
|
||||||
await (this as any).os.api('admin/unsuspend-user', { userId: user.id });
|
await this.$root.os.api('admin/unsuspend-user', { userId: user.id });
|
||||||
//(this as any).os.apis.dialog({ text: this.$t('unsuspended') });
|
//this.$root.os.apis.dialog({ text: this.$t('unsuspended') });
|
||||||
};
|
};
|
||||||
|
|
||||||
await process().catch(e => {
|
await process().catch(e => {
|
||||||
//(this as any).os.apis.dialog({ text: `Failed: ${e}` });
|
//this.$root.os.apis.dialog({ text: `Failed: ${e}` });
|
||||||
});
|
});
|
||||||
|
|
||||||
this.unsuspending = false;
|
this.unsuspending = false;
|
||||||
|
|
|
@ -13,13 +13,6 @@ html
|
||||||
body
|
body
|
||||||
overflow-wrap break-word
|
overflow-wrap break-word
|
||||||
|
|
||||||
#error
|
|
||||||
padding 32px
|
|
||||||
color #fff
|
|
||||||
|
|
||||||
hr
|
|
||||||
border solid 1px #fff
|
|
||||||
|
|
||||||
#nprogress
|
#nprogress
|
||||||
pointer-events none
|
pointer-events none
|
||||||
|
|
||||||
|
|
|
@ -48,7 +48,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
cancel() {
|
cancel() {
|
||||||
(this as any).api('auth/deny', {
|
this.$root.api('auth/deny', {
|
||||||
token: this.session.token
|
token: this.session.token
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.$emit('denied');
|
this.$emit('denied');
|
||||||
|
@ -56,7 +56,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
accept() {
|
accept() {
|
||||||
(this as any).api('auth/accept', {
|
this.$root.api('auth/accept', {
|
||||||
token: this.session.token
|
token: this.session.token
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.$emit('accepted');
|
this.$emit('accepted');
|
||||||
|
|
|
@ -57,7 +57,7 @@ export default Vue.extend({
|
||||||
if (!this.$store.getters.isSignedIn) return;
|
if (!this.$store.getters.isSignedIn) return;
|
||||||
|
|
||||||
// Fetch session
|
// Fetch session
|
||||||
(this as any).api('auth/session/show', {
|
this.$root.api('auth/session/show', {
|
||||||
token: this.token
|
token: this.token
|
||||||
}).then(session => {
|
}).then(session => {
|
||||||
this.session = session;
|
this.session = session;
|
||||||
|
@ -65,7 +65,7 @@ export default Vue.extend({
|
||||||
|
|
||||||
// 既に連携していた場合
|
// 既に連携していた場合
|
||||||
if (this.session.app.isAuthorized) {
|
if (this.session.app.isAuthorized) {
|
||||||
(this as any).api('auth/accept', {
|
this.$root.api('auth/accept', {
|
||||||
token: this.session.token
|
token: this.session.token
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.accepted();
|
this.accepted();
|
||||||
|
|
|
@ -115,7 +115,7 @@ export default (opts: Opts = {}) => ({
|
||||||
|
|
||||||
react(viaKeyboard = false) {
|
react(viaKeyboard = false) {
|
||||||
this.blur();
|
this.blur();
|
||||||
(this as any).os.new(MkReactionPicker, {
|
this.$root.new(MkReactionPicker, {
|
||||||
source: this.$refs.reactButton,
|
source: this.$refs.reactButton,
|
||||||
note: this.appearNote,
|
note: this.appearNote,
|
||||||
showFocus: viaKeyboard,
|
showFocus: viaKeyboard,
|
||||||
|
@ -126,28 +126,28 @@ export default (opts: Opts = {}) => ({
|
||||||
},
|
},
|
||||||
|
|
||||||
reactDirectly(reaction) {
|
reactDirectly(reaction) {
|
||||||
(this as any).api('notes/reactions/create', {
|
(this.$root.api('notes/reactions/create', {
|
||||||
noteId: this.appearNote.id,
|
noteId: this.appearNote.id,
|
||||||
reaction: reaction
|
reaction: reaction
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
favorite() {
|
favorite() {
|
||||||
(this as any).api('notes/favorites/create', {
|
this.$root.api('notes/favorites/create', {
|
||||||
noteId: this.appearNote.id
|
noteId: this.appearNote.id
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
(this as any).os.new(Ok);
|
this.$root.new(Ok);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
del() {
|
del() {
|
||||||
(this as any).api('notes/delete', {
|
this.$root.api('notes/delete', {
|
||||||
noteId: this.appearNote.id
|
noteId: this.appearNote.id
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
menu(viaKeyboard = false) {
|
menu(viaKeyboard = false) {
|
||||||
(this as any).os.new(MkNoteMenu, {
|
this.$root.new(MkNoteMenu, {
|
||||||
source: this.$refs.menuButton,
|
source: this.$refs.menuButton,
|
||||||
note: this.appearNote,
|
note: this.appearNote,
|
||||||
animation: !viaKeyboard,
|
animation: !viaKeyboard,
|
||||||
|
|
|
@ -26,7 +26,7 @@ export default prop => ({
|
||||||
|
|
||||||
created() {
|
created() {
|
||||||
if (this.$store.getters.isSignedIn) {
|
if (this.$store.getters.isSignedIn) {
|
||||||
this.connection = (this as any).os.stream;
|
this.connection = this.$root.stream;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -54,7 +54,7 @@ export default Vue.extend({
|
||||||
title: this.$t('enter-password'),
|
title: this.$t('enter-password'),
|
||||||
type: 'password'
|
type: 'password'
|
||||||
}).then(password => {
|
}).then(password => {
|
||||||
(this as any).api('i/regenerate_token', {
|
this.$root.api('i/regenerate_token', {
|
||||||
password: password
|
password: password
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -62,7 +62,7 @@ export default Vue.extend({
|
||||||
|
|
||||||
send() {
|
send() {
|
||||||
this.sending = true;
|
this.sending = true;
|
||||||
(this as any).api(this.endpoint, JSON5.parse(this.body)).then(res => {
|
this.$root.api(this.endpoint, JSON5.parse(this.body)).then(res => {
|
||||||
this.sending = false;
|
this.sending = false;
|
||||||
this.res = JSON5.stringify(res, null, 2);
|
this.res = JSON5.stringify(res, null, 2);
|
||||||
}, err => {
|
}, err => {
|
||||||
|
|
|
@ -114,7 +114,7 @@ export default Vue.extend({
|
||||||
|
|
||||||
mounted() {
|
mounted() {
|
||||||
//#region Construct Emoji DB
|
//#region Construct Emoji DB
|
||||||
const customEmojis = (this.os.getMetaSync() || { emojis: [] }).emojis || [];
|
const customEmojis = (this.$root.getMetaSync() || { emojis: [] }).emojis || [];
|
||||||
const emojiDefinitions: EmojiDef[] = [];
|
const emojiDefinitions: EmojiDef[] = [];
|
||||||
|
|
||||||
customEmojis.forEach(x => {
|
customEmojis.forEach(x => {
|
||||||
|
@ -185,7 +185,7 @@ export default Vue.extend({
|
||||||
this.users = users;
|
this.users = users;
|
||||||
this.fetching = false;
|
this.fetching = false;
|
||||||
} else {
|
} else {
|
||||||
(this as any).api('users/search', {
|
this.$root.api('users/search', {
|
||||||
query: this.q,
|
query: this.q,
|
||||||
limit: 30
|
limit: 30
|
||||||
}).then(users => {
|
}).then(users => {
|
||||||
|
@ -208,7 +208,7 @@ export default Vue.extend({
|
||||||
this.hashtags = hashtags;
|
this.hashtags = hashtags;
|
||||||
this.fetching = false;
|
this.fetching = false;
|
||||||
} else {
|
} else {
|
||||||
(this as any).api('hashtags/search', {
|
this.$root.api('hashtags/search', {
|
||||||
query: this.q,
|
query: this.q,
|
||||||
limit: 30
|
limit: 30
|
||||||
}).then(hashtags => {
|
}).then(hashtags => {
|
||||||
|
|
|
@ -44,7 +44,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
mounted() {
|
mounted() {
|
||||||
(this as any).api('drive').then(info => {
|
this.$root.api('drive').then(info => {
|
||||||
this.capacity = info.capacity;
|
this.capacity = info.capacity;
|
||||||
this.usage = info.usage;
|
this.usage = info.usage;
|
||||||
this.fetching = false;
|
this.fetching = false;
|
||||||
|
@ -57,7 +57,7 @@ export default Vue.extend({
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
renderChart() {
|
renderChart() {
|
||||||
(this as any).api('charts/user/drive', {
|
this.$root.api('charts/user/drive', {
|
||||||
userId: this.$store.state.i.id,
|
userId: this.$store.state.i.id,
|
||||||
span: 'day',
|
span: 'day',
|
||||||
limit: 21
|
limit: 21
|
||||||
|
|
|
@ -291,7 +291,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
surrender() {
|
surrender() {
|
||||||
(this as any).api('games/reversi/games/surrender', {
|
this.$root.api('games/reversi/games/surrender', {
|
||||||
gameId: this.game.id
|
gameId: this.game.id
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
|
@ -35,7 +35,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.g = this.game;
|
this.g = this.game;
|
||||||
this.connection = (this as any).os.stream.connectToChannel('gamesReversiGame', {
|
this.connection = this.$root.stream.connectToChannel('gamesReversiGame', {
|
||||||
gameId: this.game.id
|
gameId: this.game.id
|
||||||
});
|
});
|
||||||
this.connection.on('started', this.onStarted);
|
this.connection.on('started', this.onStarted);
|
||||||
|
|
|
@ -67,22 +67,22 @@ export default Vue.extend({
|
||||||
|
|
||||||
mounted() {
|
mounted() {
|
||||||
if (this.$store.getters.isSignedIn) {
|
if (this.$store.getters.isSignedIn) {
|
||||||
this.connection = (this as any).os.stream.useSharedConnection('gamesReversi');
|
this.connection = this.$root.stream.useSharedConnection('gamesReversi');
|
||||||
|
|
||||||
this.connection.on('invited', this.onInvited);
|
this.connection.on('invited', this.onInvited);
|
||||||
|
|
||||||
(this as any).api('games/reversi/games', {
|
this.$root.api('games/reversi/games', {
|
||||||
my: true
|
my: true
|
||||||
}).then(games => {
|
}).then(games => {
|
||||||
this.myGames = games;
|
this.myGames = games;
|
||||||
});
|
});
|
||||||
|
|
||||||
(this as any).api('games/reversi/invitations').then(invitations => {
|
this.$root.api('games/reversi/invitations').then(invitations => {
|
||||||
this.invitations = this.invitations.concat(invitations);
|
this.invitations = this.invitations.concat(invitations);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
(this as any).api('games/reversi/games').then(games => {
|
this.$root.api('games/reversi/games').then(games => {
|
||||||
this.games = games;
|
this.games = games;
|
||||||
this.gamesFetching = false;
|
this.gamesFetching = false;
|
||||||
});
|
});
|
||||||
|
@ -103,10 +103,10 @@ export default Vue.extend({
|
||||||
(this as any).apis.input({
|
(this as any).apis.input({
|
||||||
title: this.$t('enter-username')
|
title: this.$t('enter-username')
|
||||||
}).then(username => {
|
}).then(username => {
|
||||||
(this as any).api('users/show', {
|
this.$root.api('users/show', {
|
||||||
username
|
username
|
||||||
}).then(user => {
|
}).then(user => {
|
||||||
(this as any).api('games/reversi/match', {
|
this.$root.api('games/reversi/match', {
|
||||||
userId: user.id
|
userId: user.id
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
if (res == null) {
|
if (res == null) {
|
||||||
|
@ -120,7 +120,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
accept(invitation) {
|
accept(invitation) {
|
||||||
(this as any).api('games/reversi/match', {
|
this.$root.api('games/reversi/match', {
|
||||||
userId: invitation.parent.id
|
userId: invitation.parent.id
|
||||||
}).then(game => {
|
}).then(game => {
|
||||||
if (game) {
|
if (game) {
|
||||||
|
|
|
@ -67,7 +67,7 @@ export default Vue.extend({
|
||||||
this.fetch();
|
this.fetch();
|
||||||
|
|
||||||
if (this.$store.getters.isSignedIn) {
|
if (this.$store.getters.isSignedIn) {
|
||||||
this.connection = (this as any).os.stream.useSharedConnection('gamesReversi');
|
this.connection = this.$root.stream.useSharedConnection('gamesReversi');
|
||||||
|
|
||||||
this.connection.on('matched', this.onMatched);
|
this.connection.on('matched', this.onMatched);
|
||||||
|
|
||||||
|
@ -94,7 +94,7 @@ export default Vue.extend({
|
||||||
this.game = null;
|
this.game = null;
|
||||||
} else {
|
} else {
|
||||||
Progress.start();
|
Progress.start();
|
||||||
(this as any).api('games/reversi/games/show', {
|
this.$root.api('games/reversi/games/show', {
|
||||||
gameId: this.gameId
|
gameId: this.gameId
|
||||||
}).then(game => {
|
}).then(game => {
|
||||||
this.game = game;
|
this.game = game;
|
||||||
|
@ -107,7 +107,7 @@ export default Vue.extend({
|
||||||
if (this.selfNav) {
|
if (this.selfNav) {
|
||||||
// 受け取ったゲーム情報が省略されたものなら完全な情報を取得する
|
// 受け取ったゲーム情報が省略されたものなら完全な情報を取得する
|
||||||
if (game != null && (game.settings == null || game.settings.map == null)) {
|
if (game != null && (game.settings == null || game.settings.map == null)) {
|
||||||
game = await (this as any).api('games/reversi/games/show', {
|
game = await this.$root.api('games/reversi/games/show', {
|
||||||
gameId: game.id
|
gameId: game.id
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -124,11 +124,11 @@ export default Vue.extend({
|
||||||
|
|
||||||
cancel() {
|
cancel() {
|
||||||
this.matching = null;
|
this.matching = null;
|
||||||
(this as any).api('games/reversi/match/cancel');
|
this.$root.api('games/reversi/match/cancel');
|
||||||
},
|
},
|
||||||
|
|
||||||
accept(invitation) {
|
accept(invitation) {
|
||||||
(this as any).api('games/reversi/match', {
|
this.$root.api('games/reversi/match', {
|
||||||
userId: invitation.parent.id
|
userId: invitation.parent.id
|
||||||
}).then(game => {
|
}).then(game => {
|
||||||
if (game) {
|
if (game) {
|
||||||
|
|
|
@ -20,7 +20,7 @@ export default Vue.extend({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
(this as any).os.getMeta().then(meta => {
|
this.$root.getMeta().then(meta => {
|
||||||
this.meta = meta;
|
this.meta = meta;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -152,7 +152,7 @@ export default Vue.extend({
|
||||||
|
|
||||||
send() {
|
send() {
|
||||||
this.sending = true;
|
this.sending = true;
|
||||||
(this as any).api('messaging/messages/create', {
|
this.$root.api('messaging/messages/create', {
|
||||||
userId: this.user.id,
|
userId: this.user.id,
|
||||||
text: this.text ? this.text : undefined,
|
text: this.text ? this.text : undefined,
|
||||||
fileId: this.file ? this.file.id : undefined
|
fileId: this.file ? this.file.id : undefined
|
||||||
|
|
|
@ -73,7 +73,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
mounted() {
|
mounted() {
|
||||||
this.connection = (this as any).os.stream.connectToChannel('messaging', { otherparty: this.user.id });
|
this.connection = this.$root.stream.connectToChannel('messaging', { otherparty: this.user.id });
|
||||||
|
|
||||||
this.connection.on('message', this.onMessage);
|
this.connection.on('message', this.onMessage);
|
||||||
this.connection.on('read', this.onRead);
|
this.connection.on('read', this.onRead);
|
||||||
|
@ -139,7 +139,7 @@ export default Vue.extend({
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const max = this.existMoreMessages ? 20 : 10;
|
const max = this.existMoreMessages ? 20 : 10;
|
||||||
|
|
||||||
(this as any).api('messaging/messages', {
|
this.$root.api('messaging/messages', {
|
||||||
userId: this.user.id,
|
userId: this.user.id,
|
||||||
limit: max + 1,
|
limit: max + 1,
|
||||||
untilId: this.existMoreMessages ? this.messages[0].id : undefined
|
untilId: this.existMoreMessages ? this.messages[0].id : undefined
|
||||||
|
|
|
@ -77,12 +77,12 @@ export default Vue.extend({
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.connection = (this as any).os.stream.useSharedConnection('messagingIndex');
|
this.connection = this.$root.stream.useSharedConnection('messagingIndex');
|
||||||
|
|
||||||
this.connection.on('message', this.onMessage);
|
this.connection.on('message', this.onMessage);
|
||||||
this.connection.on('read', this.onRead);
|
this.connection.on('read', this.onRead);
|
||||||
|
|
||||||
(this as any).api('messaging/history').then(messages => {
|
this.$root.api('messaging/history').then(messages => {
|
||||||
this.messages = messages;
|
this.messages = messages;
|
||||||
this.fetching = false;
|
this.fetching = false;
|
||||||
});
|
});
|
||||||
|
@ -113,7 +113,7 @@ export default Vue.extend({
|
||||||
this.result = [];
|
this.result = [];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
(this as any).api('users/search', {
|
this.$root.api('users/search', {
|
||||||
query: this.q,
|
query: this.q,
|
||||||
max: 5
|
max: 5
|
||||||
}).then(users => {
|
}).then(users => {
|
||||||
|
|
|
@ -187,7 +187,7 @@ export default Vue.component('misskey-flavored-markdown', {
|
||||||
}
|
}
|
||||||
|
|
||||||
case 'emoji': {
|
case 'emoji': {
|
||||||
const customEmojis = (this.os.getMetaSync() || { emojis: [] }).emojis || [];
|
const customEmojis = (this.$root.getMetaSync() || { emojis: [] }).emojis || [];
|
||||||
return [createElement('mk-emoji', {
|
return [createElement('mk-emoji', {
|
||||||
attrs: {
|
attrs: {
|
||||||
emoji: token.emoji,
|
emoji: token.emoji,
|
||||||
|
|
|
@ -40,12 +40,12 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
mounted() {
|
mounted() {
|
||||||
(this as any).api('mute/list').then(mute => {
|
this.$root.api('mute/list').then(mute => {
|
||||||
this.mute = mute.map(x => x.mutee);
|
this.mute = mute.map(x => x.mutee);
|
||||||
this.muteFetching = false;
|
this.muteFetching = false;
|
||||||
});
|
});
|
||||||
|
|
||||||
(this as any).api('blocking/list').then(blocking => {
|
this.$root.api('blocking/list').then(blocking => {
|
||||||
this.block = blocking.map(x => x.blockee);
|
this.block = blocking.map(x => x.blockee);
|
||||||
this.blockFetching = false;
|
this.blockFetching = false;
|
||||||
});
|
});
|
||||||
|
|
|
@ -25,7 +25,7 @@ export default Vue.extend({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
(this as any).os.getMeta().then(meta => {
|
this.$root.getMeta().then(meta => {
|
||||||
if (meta.maintainer.repository_url) this.repositoryUrl = meta.maintainer.repository_url;
|
if (meta.maintainer.repository_url) this.repositoryUrl = meta.maintainer.repository_url;
|
||||||
if (meta.maintainer.feedback_url) this.feedbackUrl = meta.maintainer.feedback_url;
|
if (meta.maintainer.feedback_url) this.feedbackUrl = meta.maintainer.feedback_url;
|
||||||
});
|
});
|
||||||
|
|
|
@ -91,16 +91,16 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
pin() {
|
pin() {
|
||||||
(this as any).api('i/pin', {
|
this.$root.api('i/pin', {
|
||||||
noteId: this.note.id
|
noteId: this.note.id
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
(this as any).os.new(Ok);
|
this.$root.new(Ok);
|
||||||
this.destroyDom();
|
this.destroyDom();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
unpin() {
|
unpin() {
|
||||||
(this as any).api('i/unpin', {
|
this.$root.api('i/unpin', {
|
||||||
noteId: this.note.id
|
noteId: this.note.id
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.destroyDom();
|
this.destroyDom();
|
||||||
|
@ -109,7 +109,7 @@ export default Vue.extend({
|
||||||
|
|
||||||
del() {
|
del() {
|
||||||
if (!window.confirm(this.$t('delete-confirm'))) return;
|
if (!window.confirm(this.$t('delete-confirm'))) return;
|
||||||
(this as any).api('notes/delete', {
|
this.$root.api('notes/delete', {
|
||||||
noteId: this.note.id
|
noteId: this.note.id
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.destroyDom();
|
this.destroyDom();
|
||||||
|
@ -117,19 +117,19 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
favorite() {
|
favorite() {
|
||||||
(this as any).api('notes/favorites/create', {
|
this.$root.api('notes/favorites/create', {
|
||||||
noteId: this.note.id
|
noteId: this.note.id
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
(this as any).os.new(Ok);
|
this.$root.new(Ok);
|
||||||
this.destroyDom();
|
this.destroyDom();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
unfavorite() {
|
unfavorite() {
|
||||||
(this as any).api('notes/favorites/delete', {
|
this.$root.api('notes/favorites/delete', {
|
||||||
noteId: this.note.id
|
noteId: this.note.id
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
(this as any).os.new(Ok);
|
this.$root.new(Ok);
|
||||||
this.destroyDom();
|
this.destroyDom();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
|
@ -34,7 +34,7 @@ export default Vue.extend({
|
||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
(this as any).api('i/change_password', {
|
this.$root.api('i/change_password', {
|
||||||
currentPasword: currentPassword,
|
currentPasword: currentPassword,
|
||||||
newPassword: newPassword
|
newPassword: newPassword
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
|
|
|
@ -51,7 +51,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
vote(id) {
|
vote(id) {
|
||||||
if (this.poll.choices.some(c => c.isVoted)) return;
|
if (this.poll.choices.some(c => c.isVoted)) return;
|
||||||
(this as any).api('notes/polls/vote', {
|
this.$root.api('notes/polls/vote', {
|
||||||
noteId: this.note.id,
|
noteId: this.note.id,
|
||||||
choice: id
|
choice: id
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
|
|
|
@ -95,7 +95,7 @@ export default Vue.extend({
|
||||||
computed: {
|
computed: {
|
||||||
alwaysMarkNsfw: {
|
alwaysMarkNsfw: {
|
||||||
get() { return this.$store.state.i.settings.alwaysMarkNsfw; },
|
get() { return this.$store.state.i.settings.alwaysMarkNsfw; },
|
||||||
set(value) { (this as any).api('i/update', { alwaysMarkNsfw: value }); }
|
set(value) { this.$root.api('i/update', { alwaysMarkNsfw: value }); }
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -161,7 +161,7 @@ export default Vue.extend({
|
||||||
save(notify) {
|
save(notify) {
|
||||||
this.saving = true;
|
this.saving = true;
|
||||||
|
|
||||||
(this as any).api('i/update', {
|
this.$root.api('i/update', {
|
||||||
name: this.name || null,
|
name: this.name || null,
|
||||||
location: this.location || null,
|
location: this.location || null,
|
||||||
description: this.description || null,
|
description: this.description || null,
|
||||||
|
|
|
@ -145,7 +145,7 @@ export default Vue.extend({
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
react(reaction) {
|
react(reaction) {
|
||||||
(this as any).api('notes/reactions/create', {
|
this.$root.api('notes/reactions/create', {
|
||||||
noteId: this.note.id,
|
noteId: this.note.id,
|
||||||
reaction: reaction
|
reaction: reaction
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
|
|
|
@ -27,7 +27,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
react(reaction: string) {
|
react(reaction: string) {
|
||||||
(this as any).api('notes/reactions/create', {
|
this.$root.api('notes/reactions/create', {
|
||||||
noteId: this.note.id,
|
noteId: this.note.id,
|
||||||
reaction: reaction
|
reaction: reaction
|
||||||
});
|
});
|
||||||
|
|
|
@ -44,7 +44,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
onUsernameChange() {
|
onUsernameChange() {
|
||||||
(this as any).api('users/show', {
|
this.$root.api('users/show', {
|
||||||
username: this.username
|
username: this.username
|
||||||
}).then(user => {
|
}).then(user => {
|
||||||
this.user = user;
|
this.user = user;
|
||||||
|
@ -55,7 +55,7 @@ export default Vue.extend({
|
||||||
onSubmit() {
|
onSubmit() {
|
||||||
this.signing = true;
|
this.signing = true;
|
||||||
|
|
||||||
(this as any).api('signin', {
|
this.$root.api('signin', {
|
||||||
username: this.username,
|
username: this.username,
|
||||||
password: this.password,
|
password: this.password,
|
||||||
token: this.user && this.user.twoFactorEnabled ? this.token : undefined
|
token: this.user && this.user.twoFactorEnabled ? this.token : undefined
|
||||||
|
|
|
@ -72,7 +72,7 @@ export default Vue.extend({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
(this as any).os.getMeta().then(meta => {
|
this.$root.getMeta().then(meta => {
|
||||||
this.meta = meta;
|
this.meta = meta;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -102,7 +102,7 @@ export default Vue.extend({
|
||||||
|
|
||||||
this.usernameState = 'wait';
|
this.usernameState = 'wait';
|
||||||
|
|
||||||
(this as any).api('username/available', {
|
this.$root.api('username/available', {
|
||||||
username: this.username
|
username: this.username
|
||||||
}).then(result => {
|
}).then(result => {
|
||||||
this.usernameState = result.available ? 'ok' : 'unavailable';
|
this.usernameState = result.available ? 'ok' : 'unavailable';
|
||||||
|
@ -128,13 +128,13 @@ export default Vue.extend({
|
||||||
this.passwordRetypeState = this.password == this.retypedPassword ? 'match' : 'not-match';
|
this.passwordRetypeState = this.password == this.retypedPassword ? 'match' : 'not-match';
|
||||||
},
|
},
|
||||||
onSubmit() {
|
onSubmit() {
|
||||||
(this as any).api('signup', {
|
this.$root.api('signup', {
|
||||||
username: this.username,
|
username: this.username,
|
||||||
password: this.password,
|
password: this.password,
|
||||||
invitationCode: this.invitationCode,
|
invitationCode: this.invitationCode,
|
||||||
'g-recaptcha-response': this.meta.enableRecaptcha ? (window as any).grecaptcha.getResponse() : null
|
'g-recaptcha-response': this.meta.enableRecaptcha ? (window as any).grecaptcha.getResponse() : null
|
||||||
}, true).then(() => {
|
}, true).then(() => {
|
||||||
(this as any).api('signin', {
|
this.$root.api('signin', {
|
||||||
username: this.username,
|
username: this.username,
|
||||||
password: this.password
|
password: this.password
|
||||||
}, true).then(() => {
|
}, true).then(() => {
|
||||||
|
|
|
@ -24,12 +24,12 @@ export default Vue.extend({
|
||||||
i18n: i18n('common/views/components/stream-indicator.vue'),
|
i18n: i18n('common/views/components/stream-indicator.vue'),
|
||||||
computed: {
|
computed: {
|
||||||
stream() {
|
stream() {
|
||||||
return (this as any).os.stream;
|
return this.$root.stream;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
(this as any).os.stream.on('_connected_', this.onConnected);
|
this.$root.stream.on('_connected_', this.onConnected);
|
||||||
(this as any).os.stream.on('_disconnected_', this.onDisconnected);
|
this.$root.stream.on('_disconnected_', this.onDisconnected);
|
||||||
|
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
if (this.stream.state == 'connected') {
|
if (this.stream.state == 'connected') {
|
||||||
|
@ -38,8 +38,8 @@ export default Vue.extend({
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
(this as any).os.stream.off('_connected_', this.onConnected);
|
this.$root.stream.off('_connected_', this.onConnected);
|
||||||
(this as any).os.stream.off('_disconnected_', this.onDisconnected);
|
this.$root.stream.off('_disconnected_', this.onDisconnected);
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
onConnected() {
|
onConnected() {
|
||||||
|
|
|
@ -43,7 +43,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
fetch() {
|
fetch() {
|
||||||
(this as any).api('aggregation/hashtags').then(tags => {
|
this.$root.api('aggregation/hashtags').then(tags => {
|
||||||
this.tags = tags;
|
this.tags = tags;
|
||||||
this.fetching = false;
|
this.fetching = false;
|
||||||
});
|
});
|
||||||
|
|
|
@ -41,7 +41,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
fetch() {
|
fetch() {
|
||||||
(this as any).api('hashtags/trend').then(stats => {
|
this.$root.api('hashtags/trend').then(stats => {
|
||||||
this.stats = stats;
|
this.stats = stats;
|
||||||
this.fetching = false;
|
this.fetching = false;
|
||||||
});
|
});
|
||||||
|
|
|
@ -36,7 +36,7 @@ export default Vue.extend({
|
||||||
const data = new FormData();
|
const data = new FormData();
|
||||||
data.append('md5', getMD5(fileData));
|
data.append('md5', getMD5(fileData));
|
||||||
|
|
||||||
(this as any).api('drive/files/check_existence', {
|
this.$root.api('drive/files/check_existence', {
|
||||||
md5: getMD5(fileData)
|
md5: getMD5(fileData)
|
||||||
}).then(resp => {
|
}).then(resp => {
|
||||||
resolve(resp.file);
|
resolve(resp.file);
|
||||||
|
|
|
@ -45,7 +45,7 @@ export default Vue.extend({
|
||||||
mounted() {
|
mounted() {
|
||||||
this.fetch();
|
this.fetch();
|
||||||
|
|
||||||
this.connection = (this as any).os.stream.useSharedConnection('localTimeline');
|
this.connection = this.$root.stream.useSharedConnection('localTimeline');
|
||||||
|
|
||||||
this.connection.on('note', this.onNote);
|
this.connection.on('note', this.onNote);
|
||||||
},
|
},
|
||||||
|
@ -57,7 +57,7 @@ export default Vue.extend({
|
||||||
methods: {
|
methods: {
|
||||||
fetch(cb?) {
|
fetch(cb?) {
|
||||||
this.fetching = true;
|
this.fetching = true;
|
||||||
(this as any).api('notes', {
|
this.$root.api('notes', {
|
||||||
limit: this.max,
|
limit: this.max,
|
||||||
local: true,
|
local: true,
|
||||||
reply: false,
|
reply: false,
|
||||||
|
|
|
@ -69,7 +69,7 @@ export default Vue.extend({
|
||||||
const acct = new URL(location.href).searchParams.get('acct');
|
const acct = new URL(location.href).searchParams.get('acct');
|
||||||
this.fetching = true;
|
this.fetching = true;
|
||||||
Progress.start();
|
Progress.start();
|
||||||
(this as any).api('users/show', parseAcct(acct)).then(user => {
|
this.$root.api('users/show', parseAcct(acct)).then(user => {
|
||||||
this.user = user;
|
this.user = user;
|
||||||
this.fetching = false;
|
this.fetching = false;
|
||||||
Progress.done();
|
Progress.done();
|
||||||
|
@ -81,20 +81,20 @@ export default Vue.extend({
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (this.user.isFollowing) {
|
if (this.user.isFollowing) {
|
||||||
this.user = await (this as any).api('following/delete', {
|
this.user = await this.$root.api('following/delete', {
|
||||||
userId: this.user.id
|
userId: this.user.id
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
if (this.user.hasPendingFollowRequestFromYou) {
|
if (this.user.hasPendingFollowRequestFromYou) {
|
||||||
this.user = await (this as any).api('following/requests/cancel', {
|
this.user = await this.$root.api('following/requests/cancel', {
|
||||||
userId: this.user.id
|
userId: this.user.id
|
||||||
});
|
});
|
||||||
} else if (this.user.isLocked) {
|
} else if (this.user.isLocked) {
|
||||||
this.user = await (this as any).api('following/create', {
|
this.user = await this.$root.api('following/create', {
|
||||||
userId: this.user.id
|
userId: this.user.id
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
this.user = await (this as any).api('following/create', {
|
this.user = await this.$root.api('following/create', {
|
||||||
userId: this.user.id
|
userId: this.user.id
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,7 +46,7 @@ export default define({
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
(this as any).os.getMeta().then(meta => {
|
this.$root.getMeta().then(meta => {
|
||||||
this.announcements = meta.broadcasts;
|
this.announcements = meta.broadcasts;
|
||||||
this.fetching = false;
|
this.fetching = false;
|
||||||
});
|
});
|
||||||
|
|
|
@ -27,7 +27,7 @@ export default define({
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
(this as any).os.getMeta().then(meta => {
|
this.$root.getMeta().then(meta => {
|
||||||
this.meta = meta;
|
this.meta = meta;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,11 +32,11 @@ export default define({
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.connection = (this as any).os.stream.useSharedConnection('main');
|
this.connection = this.$root.stream.useSharedConnection('main');
|
||||||
|
|
||||||
this.connection.on('driveFileCreated', this.onDriveFileCreated);
|
this.connection.on('driveFileCreated', this.onDriveFileCreated);
|
||||||
|
|
||||||
(this as any).api('drive/stream', {
|
this.$root.api('drive/stream', {
|
||||||
type: 'image/*',
|
type: 'image/*',
|
||||||
limit: 9
|
limit: 9
|
||||||
}).then(images => {
|
}).then(images => {
|
||||||
|
|
|
@ -112,7 +112,7 @@ export default define({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.connection = (this as any).os.stream.useSharedConnection('notesStats');
|
this.connection = this.$root.stream.useSharedConnection('notesStats');
|
||||||
|
|
||||||
this.connection.on('stats', this.onStats);
|
this.connection.on('stats', this.onStats);
|
||||||
this.connection.on('statsLog', this.onStatsLog);
|
this.connection.on('statsLog', this.onStatsLog);
|
||||||
|
|
|
@ -52,12 +52,12 @@ export default define({
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
(this as any).os.getMeta().then(meta => {
|
this.$root.getMeta().then(meta => {
|
||||||
this.meta = meta;
|
this.meta = meta;
|
||||||
this.fetching = false;
|
this.fetching = false;
|
||||||
});
|
});
|
||||||
|
|
||||||
this.connection = (this as any).os.stream.useSharedConnection('serverStats');
|
this.connection = this.$root.stream.useSharedConnection('serverStats');
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
this.connection.dispose();
|
this.connection.dispose();
|
||||||
|
|
|
@ -101,7 +101,7 @@ export default define({
|
||||||
fetch() {
|
fetch() {
|
||||||
this.fetching = true;
|
this.fetching = true;
|
||||||
|
|
||||||
(this as any).api('drive/files', {
|
this.$root.api('drive/files', {
|
||||||
folderId: this.props.folder,
|
folderId: this.props.folder,
|
||||||
type: 'image/*',
|
type: 'image/*',
|
||||||
limit: 100
|
limit: 100
|
||||||
|
|
|
@ -45,7 +45,7 @@ export default Vue.extend({
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
(this as any).api('charts/user/notes', {
|
this.$root.api('charts/user/notes', {
|
||||||
userId: this.user.id,
|
userId: this.user.id,
|
||||||
span: 'day',
|
span: 'day',
|
||||||
limit: 7 * 20
|
limit: 7 * 20
|
||||||
|
|
|
@ -22,7 +22,7 @@ export default Vue.extend({
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
(this as any).api('drive').then(info => {
|
this.$root.api('drive').then(info => {
|
||||||
this.usage = info.usage / info.capacity * 100;
|
this.usage = info.usage / info.capacity * 100;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
|
@ -155,7 +155,7 @@ export default Vue.extend({
|
||||||
default: this.file.name,
|
default: this.file.name,
|
||||||
allowEmpty: false
|
allowEmpty: false
|
||||||
}).then(name => {
|
}).then(name => {
|
||||||
(this as any).api('drive/files/update', {
|
this.$root.api('drive/files/update', {
|
||||||
fileId: this.file.id,
|
fileId: this.file.id,
|
||||||
name: name
|
name: name
|
||||||
});
|
});
|
||||||
|
@ -163,7 +163,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
toggleSensitive() {
|
toggleSensitive() {
|
||||||
(this as any).api('drive/files/update', {
|
this.$root.api('drive/files/update', {
|
||||||
fileId: this.file.id,
|
fileId: this.file.id,
|
||||||
isSensitive: !this.file.isSensitive
|
isSensitive: !this.file.isSensitive
|
||||||
});
|
});
|
||||||
|
@ -193,7 +193,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
deleteFile() {
|
deleteFile() {
|
||||||
(this as any).api('drive/files/delete', {
|
this.$root.api('drive/files/delete', {
|
||||||
fileId: this.file.id
|
fileId: this.file.id
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -132,7 +132,7 @@ export default Vue.extend({
|
||||||
if (driveFile != null && driveFile != '') {
|
if (driveFile != null && driveFile != '') {
|
||||||
const file = JSON.parse(driveFile);
|
const file = JSON.parse(driveFile);
|
||||||
this.browser.removeFile(file.id);
|
this.browser.removeFile(file.id);
|
||||||
(this as any).api('drive/files/update', {
|
this.$root.api('drive/files/update', {
|
||||||
fileId: file.id,
|
fileId: file.id,
|
||||||
folderId: this.folder.id
|
folderId: this.folder.id
|
||||||
});
|
});
|
||||||
|
@ -148,7 +148,7 @@ export default Vue.extend({
|
||||||
if (folder.id == this.folder.id) return;
|
if (folder.id == this.folder.id) return;
|
||||||
|
|
||||||
this.browser.removeFolder(folder.id);
|
this.browser.removeFolder(folder.id);
|
||||||
(this as any).api('drive/folders/update', {
|
this.$root.api('drive/folders/update', {
|
||||||
folderId: folder.id,
|
folderId: folder.id,
|
||||||
parentId: this.folder.id
|
parentId: this.folder.id
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
|
@ -201,7 +201,7 @@ export default Vue.extend({
|
||||||
placeholder: this.$t('contextmenu.input-new-folder-name'),
|
placeholder: this.$t('contextmenu.input-new-folder-name'),
|
||||||
default: this.folder.name
|
default: this.folder.name
|
||||||
}).then(name => {
|
}).then(name => {
|
||||||
(this as any).api('drive/folders/update', {
|
this.$root.api('drive/folders/update', {
|
||||||
folderId: this.folder.id,
|
folderId: this.folder.id,
|
||||||
name: name
|
name: name
|
||||||
});
|
});
|
||||||
|
@ -209,7 +209,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
deleteFolder() {
|
deleteFolder() {
|
||||||
(this as any).api('drive/folders/delete', {
|
this.$root.api('drive/folders/delete', {
|
||||||
folderId: this.folder.id
|
folderId: this.folder.id
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -79,7 +79,7 @@ export default Vue.extend({
|
||||||
if (driveFile != null && driveFile != '') {
|
if (driveFile != null && driveFile != '') {
|
||||||
const file = JSON.parse(driveFile);
|
const file = JSON.parse(driveFile);
|
||||||
this.browser.removeFile(file.id);
|
this.browser.removeFile(file.id);
|
||||||
(this as any).api('drive/files/update', {
|
this.$root.api('drive/files/update', {
|
||||||
fileId: file.id,
|
fileId: file.id,
|
||||||
folderId: this.folder ? this.folder.id : null
|
folderId: this.folder ? this.folder.id : null
|
||||||
});
|
});
|
||||||
|
@ -93,7 +93,7 @@ export default Vue.extend({
|
||||||
// 移動先が自分自身ならreject
|
// 移動先が自分自身ならreject
|
||||||
if (this.folder && folder.id == this.folder.id) return;
|
if (this.folder && folder.id == this.folder.id) return;
|
||||||
this.browser.removeFolder(folder.id);
|
this.browser.removeFolder(folder.id);
|
||||||
(this as any).api('drive/folders/update', {
|
this.$root.api('drive/folders/update', {
|
||||||
folderId: folder.id,
|
folderId: folder.id,
|
||||||
parentId: this.folder ? this.folder.id : null
|
parentId: this.folder ? this.folder.id : null
|
||||||
});
|
});
|
||||||
|
|
|
@ -117,7 +117,7 @@ export default Vue.extend({
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.connection = (this as any).os.stream.useSharedConnection('drive');
|
this.connection = this.$root.stream.useSharedConnection('drive');
|
||||||
|
|
||||||
this.connection.on('fileCreated', this.onStreamDriveFileCreated);
|
this.connection.on('fileCreated', this.onStreamDriveFileCreated);
|
||||||
this.connection.on('fileUpdated', this.onStreamDriveFileUpdated);
|
this.connection.on('fileUpdated', this.onStreamDriveFileUpdated);
|
||||||
|
@ -290,7 +290,7 @@ export default Vue.extend({
|
||||||
const file = JSON.parse(driveFile);
|
const file = JSON.parse(driveFile);
|
||||||
if (this.files.some(f => f.id == file.id)) return;
|
if (this.files.some(f => f.id == file.id)) return;
|
||||||
this.removeFile(file.id);
|
this.removeFile(file.id);
|
||||||
(this as any).api('drive/files/update', {
|
this.$root.api('drive/files/update', {
|
||||||
fileId: file.id,
|
fileId: file.id,
|
||||||
folderId: this.folder ? this.folder.id : null
|
folderId: this.folder ? this.folder.id : null
|
||||||
});
|
});
|
||||||
|
@ -306,7 +306,7 @@ export default Vue.extend({
|
||||||
if (this.folder && folder.id == this.folder.id) return false;
|
if (this.folder && folder.id == this.folder.id) return false;
|
||||||
if (this.folders.some(f => f.id == folder.id)) return false;
|
if (this.folders.some(f => f.id == folder.id)) return false;
|
||||||
this.removeFolder(folder.id);
|
this.removeFolder(folder.id);
|
||||||
(this as any).api('drive/folders/update', {
|
this.$root.api('drive/folders/update', {
|
||||||
folderId: folder.id,
|
folderId: folder.id,
|
||||||
parentId: this.folder ? this.folder.id : null
|
parentId: this.folder ? this.folder.id : null
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
|
@ -339,7 +339,7 @@ export default Vue.extend({
|
||||||
title: this.$t('url-upload'),
|
title: this.$t('url-upload'),
|
||||||
placeholder: this.$t('url-of-file')
|
placeholder: this.$t('url-of-file')
|
||||||
}).then(url => {
|
}).then(url => {
|
||||||
(this as any).api('drive/files/upload_from_url', {
|
this.$root.api('drive/files/upload_from_url', {
|
||||||
url: url,
|
url: url,
|
||||||
folderId: this.folder ? this.folder.id : undefined
|
folderId: this.folder ? this.folder.id : undefined
|
||||||
});
|
});
|
||||||
|
@ -359,7 +359,7 @@ export default Vue.extend({
|
||||||
title: this.$t('create-folder'),
|
title: this.$t('create-folder'),
|
||||||
placeholder: this.$t('folder-name')
|
placeholder: this.$t('folder-name')
|
||||||
}).then(name => {
|
}).then(name => {
|
||||||
(this as any).api('drive/folders/create', {
|
this.$root.api('drive/folders/create', {
|
||||||
name: name,
|
name: name,
|
||||||
parentId: this.folder ? this.folder.id : undefined
|
parentId: this.folder ? this.folder.id : undefined
|
||||||
}).then(folder => {
|
}).then(folder => {
|
||||||
|
@ -400,7 +400,7 @@ export default Vue.extend({
|
||||||
|
|
||||||
newWindow(folder) {
|
newWindow(folder) {
|
||||||
if (document.body.clientWidth > 800) {
|
if (document.body.clientWidth > 800) {
|
||||||
(this as any).os.new(MkDriveWindow, {
|
this.$root.new(MkDriveWindow, {
|
||||||
folder: folder
|
folder: folder
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
@ -420,7 +420,7 @@ export default Vue.extend({
|
||||||
|
|
||||||
this.fetching = true;
|
this.fetching = true;
|
||||||
|
|
||||||
(this as any).api('drive/folders/show', {
|
this.$root.api('drive/folders/show', {
|
||||||
folderId: target
|
folderId: target
|
||||||
}).then(folder => {
|
}).then(folder => {
|
||||||
this.folder = folder;
|
this.folder = folder;
|
||||||
|
@ -522,7 +522,7 @@ export default Vue.extend({
|
||||||
const filesMax = 30;
|
const filesMax = 30;
|
||||||
|
|
||||||
// フォルダ一覧取得
|
// フォルダ一覧取得
|
||||||
(this as any).api('drive/folders', {
|
this.$root.api('drive/folders', {
|
||||||
folderId: this.folder ? this.folder.id : null,
|
folderId: this.folder ? this.folder.id : null,
|
||||||
limit: foldersMax + 1
|
limit: foldersMax + 1
|
||||||
}).then(folders => {
|
}).then(folders => {
|
||||||
|
@ -535,7 +535,7 @@ export default Vue.extend({
|
||||||
});
|
});
|
||||||
|
|
||||||
// ファイル一覧取得
|
// ファイル一覧取得
|
||||||
(this as any).api('drive/files', {
|
this.$root.api('drive/files', {
|
||||||
folderId: this.folder ? this.folder.id : null,
|
folderId: this.folder ? this.folder.id : null,
|
||||||
limit: filesMax + 1
|
limit: filesMax + 1
|
||||||
}).then(files => {
|
}).then(files => {
|
||||||
|
@ -565,7 +565,7 @@ export default Vue.extend({
|
||||||
const max = 30;
|
const max = 30;
|
||||||
|
|
||||||
// ファイル一覧取得
|
// ファイル一覧取得
|
||||||
(this as any).api('drive/files', {
|
this.$root.api('drive/files', {
|
||||||
folderId: this.folder ? this.folder.id : null,
|
folderId: this.folder ? this.folder.id : null,
|
||||||
untilId: this.files[this.files.length - 1].id,
|
untilId: this.files[this.files.length - 1].id,
|
||||||
limit: max + 1
|
limit: max + 1
|
||||||
|
|
|
@ -41,7 +41,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
mounted() {
|
mounted() {
|
||||||
this.connection = (this as any).os.stream.useSharedConnection('main');
|
this.connection = this.$root.stream.useSharedConnection('main');
|
||||||
this.connection.on('follow', this.onFollowChange);
|
this.connection.on('follow', this.onFollowChange);
|
||||||
this.connection.on('unfollow', this.onFollowChange);
|
this.connection.on('unfollow', this.onFollowChange);
|
||||||
},
|
},
|
||||||
|
@ -64,20 +64,20 @@ export default Vue.extend({
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (this.u.isFollowing) {
|
if (this.u.isFollowing) {
|
||||||
this.u = await (this as any).api('following/delete', {
|
this.u = await this.$root.api('following/delete', {
|
||||||
userId: this.u.id
|
userId: this.u.id
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
if (this.u.hasPendingFollowRequestFromYou) {
|
if (this.u.hasPendingFollowRequestFromYou) {
|
||||||
this.u = await (this as any).api('following/requests/cancel', {
|
this.u = await this.$root.api('following/requests/cancel', {
|
||||||
userId: this.u.id
|
userId: this.u.id
|
||||||
});
|
});
|
||||||
} else if (this.u.isLocked) {
|
} else if (this.u.isLocked) {
|
||||||
this.u = await (this as any).api('following/create', {
|
this.u = await this.$root.api('following/create', {
|
||||||
userId: this.u.id
|
userId: this.u.id
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
this.u = await (this as any).api('following/create', {
|
this.u = await this.$root.api('following/create', {
|
||||||
userId: this.user.id
|
userId: this.user.id
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,7 +39,7 @@ export default Vue.extend({
|
||||||
this.fetching = true;
|
this.fetching = true;
|
||||||
this.users = [];
|
this.users = [];
|
||||||
|
|
||||||
(this as any).api('users/recommendation', {
|
this.$root.api('users/recommendation', {
|
||||||
limit: this.limit,
|
limit: this.limit,
|
||||||
offset: this.limit * this.page
|
offset: this.limit * this.page
|
||||||
}).then(users => {
|
}).then(users => {
|
||||||
|
|
|
@ -168,7 +168,7 @@ export default Vue.extend({
|
||||||
|
|
||||||
created() {
|
created() {
|
||||||
if (this.$store.state.settings.home == null) {
|
if (this.$store.state.settings.home == null) {
|
||||||
this.api('i/update_home', {
|
this.$root.api('i/update_home', {
|
||||||
home: _defaultDesktopHomeWidgets
|
home: _defaultDesktopHomeWidgets
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.$store.commit('settings/setHome', _defaultDesktopHomeWidgets);
|
this.$store.commit('settings/setHome', _defaultDesktopHomeWidgets);
|
||||||
|
@ -177,7 +177,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
mounted() {
|
mounted() {
|
||||||
this.connection = (this as any).os.stream.useSharedConnection('main');
|
this.connection = this.$root.stream.useSharedConnection('main');
|
||||||
},
|
},
|
||||||
|
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
|
@ -227,7 +227,7 @@ export default Vue.extend({
|
||||||
this.$store.commit('settings/setHome', left.concat(right));
|
this.$store.commit('settings/setHome', left.concat(right));
|
||||||
left.forEach(w => w.place = 'left');
|
left.forEach(w => w.place = 'left');
|
||||||
right.forEach(w => w.place = 'right');
|
right.forEach(w => w.place = 'right');
|
||||||
(this as any).api('i/update_home', {
|
this.$root.api('i/update_home', {
|
||||||
home: this.home
|
home: this.home
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
|
@ -60,7 +60,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
onClick() {
|
onClick() {
|
||||||
(this as any).os.new(ImageViewer, {
|
this.$root.new(ImageViewer, {
|
||||||
image: this.image
|
image: this.image
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,7 +53,7 @@ export default Vue.extend({
|
||||||
start = videoTag.currentTime
|
start = videoTag.currentTime
|
||||||
videoTag.pause()
|
videoTag.pause()
|
||||||
}
|
}
|
||||||
(this as any).os.new(MkMediaVideoDialog, {
|
this.$root.new(MkMediaVideoDialog, {
|
||||||
video: this.video,
|
video: this.video,
|
||||||
start,
|
start,
|
||||||
})
|
})
|
||||||
|
|
|
@ -14,7 +14,7 @@ export default Vue.extend({
|
||||||
i18n: i18n('desktop/views/components/messaging-window.vue'),
|
i18n: i18n('desktop/views/components/messaging-window.vue'),
|
||||||
methods: {
|
methods: {
|
||||||
navigate(user) {
|
navigate(user) {
|
||||||
(this as any).os.new(MkMessagingRoomWindow, {
|
this.$root.new(MkMessagingRoomWindow, {
|
||||||
user: user
|
user: user
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -161,7 +161,7 @@ export default Vue.extend({
|
||||||
mounted() {
|
mounted() {
|
||||||
// Get replies
|
// Get replies
|
||||||
if (!this.compact) {
|
if (!this.compact) {
|
||||||
(this as any).api('notes/replies', {
|
this.$root.api('notes/replies', {
|
||||||
noteId: this.p.id,
|
noteId: this.p.id,
|
||||||
limit: 8
|
limit: 8
|
||||||
}).then(replies => {
|
}).then(replies => {
|
||||||
|
@ -173,7 +173,7 @@ export default Vue.extend({
|
||||||
if (this.p.geo) {
|
if (this.p.geo) {
|
||||||
const shouldShowMap = this.$store.getters.isSignedIn ? this.$store.state.settings.showMaps : true;
|
const shouldShowMap = this.$store.getters.isSignedIn ? this.$store.state.settings.showMaps : true;
|
||||||
if (shouldShowMap) {
|
if (shouldShowMap) {
|
||||||
(this as any).os.getGoogleMaps().then(maps => {
|
this.$root.os.getGoogleMaps().then(maps => {
|
||||||
const uluru = new maps.LatLng(this.p.geo.coordinates[1], this.p.geo.coordinates[0]);
|
const uluru = new maps.LatLng(this.p.geo.coordinates[1], this.p.geo.coordinates[0]);
|
||||||
const map = new maps.Map(this.$refs.map, {
|
const map = new maps.Map(this.$refs.map, {
|
||||||
center: uluru,
|
center: uluru,
|
||||||
|
@ -193,7 +193,7 @@ export default Vue.extend({
|
||||||
this.conversationFetching = true;
|
this.conversationFetching = true;
|
||||||
|
|
||||||
// Fetch conversation
|
// Fetch conversation
|
||||||
(this as any).api('notes/conversation', {
|
this.$root.api('notes/conversation', {
|
||||||
noteId: this.p.replyId
|
noteId: this.p.replyId
|
||||||
}).then(conversation => {
|
}).then(conversation => {
|
||||||
this.conversationFetching = false;
|
this.conversationFetching = false;
|
||||||
|
@ -202,26 +202,26 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
reply() {
|
reply() {
|
||||||
(this as any).os.new(MkPostFormWindow, {
|
this.$root.new(MkPostFormWindow, {
|
||||||
reply: this.p
|
reply: this.p
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
renote() {
|
renote() {
|
||||||
(this as any).os.new(MkRenoteFormWindow, {
|
this.$root.new(MkRenoteFormWindow, {
|
||||||
note: this.p
|
note: this.p
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
react() {
|
react() {
|
||||||
(this as any).os.new(MkReactionPicker, {
|
this.$root.new(MkReactionPicker, {
|
||||||
source: this.$refs.reactButton,
|
source: this.$refs.reactButton,
|
||||||
note: this.p
|
note: this.p
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
menu() {
|
menu() {
|
||||||
(this as any).os.new(MkNoteMenu, {
|
this.$root.new(MkNoteMenu, {
|
||||||
source: this.$refs.menuButton,
|
source: this.$refs.menuButton,
|
||||||
note: this.p
|
note: this.p
|
||||||
});
|
});
|
||||||
|
|
|
@ -117,14 +117,14 @@ export default Vue.extend({
|
||||||
|
|
||||||
created() {
|
created() {
|
||||||
if (this.detail) {
|
if (this.detail) {
|
||||||
(this as any).api('notes/replies', {
|
this.$root.api('notes/replies', {
|
||||||
noteId: this.appearNote.id,
|
noteId: this.appearNote.id,
|
||||||
limit: 8
|
limit: 8
|
||||||
}).then(replies => {
|
}).then(replies => {
|
||||||
this.replies = replies;
|
this.replies = replies;
|
||||||
});
|
});
|
||||||
|
|
||||||
(this as any).api('notes/conversation', {
|
this.$root.api('notes/conversation', {
|
||||||
noteId: this.appearNote.replyId
|
noteId: this.appearNote.replyId
|
||||||
}).then(conversation => {
|
}).then(conversation => {
|
||||||
this.conversation = conversation.reverse();
|
this.conversation = conversation.reverse();
|
||||||
|
|
|
@ -142,13 +142,13 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
mounted() {
|
mounted() {
|
||||||
this.connection = (this as any).os.stream.useSharedConnection('main');
|
this.connection = this.$root.stream.useSharedConnection('main');
|
||||||
|
|
||||||
this.connection.on('notification', this.onNotification);
|
this.connection.on('notification', this.onNotification);
|
||||||
|
|
||||||
const max = 10;
|
const max = 10;
|
||||||
|
|
||||||
(this as any).api('i/notifications', {
|
this.$root.api('i/notifications', {
|
||||||
limit: max + 1
|
limit: max + 1
|
||||||
}).then(notifications => {
|
}).then(notifications => {
|
||||||
if (notifications.length == max + 1) {
|
if (notifications.length == max + 1) {
|
||||||
|
@ -171,7 +171,7 @@ export default Vue.extend({
|
||||||
|
|
||||||
const max = 30;
|
const max = 30;
|
||||||
|
|
||||||
(this as any).api('i/notifications', {
|
this.$root.api('i/notifications', {
|
||||||
limit: max + 1,
|
limit: max + 1,
|
||||||
untilId: this.notifications[this.notifications.length - 1].id
|
untilId: this.notifications[this.notifications.length - 1].id
|
||||||
}).then(notifications => {
|
}).then(notifications => {
|
||||||
|
@ -188,7 +188,7 @@ export default Vue.extend({
|
||||||
|
|
||||||
onNotification(notification) {
|
onNotification(notification) {
|
||||||
// TODO: ユーザーが画面を見てないと思われるとき(ブラウザやタブがアクティブじゃないなど)は送信しない
|
// TODO: ユーザーが画面を見てないと思われるとき(ブラウザやタブがアクティブじゃないなど)は送信しない
|
||||||
(this as any).os.stream.send('readNotification', {
|
this.$root.stream.send('readNotification', {
|
||||||
id: notification.id
|
id: notification.id
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -115,7 +115,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
created() {
|
created() {
|
||||||
(this as any).os.getMeta().then(meta => {
|
this.$root.getMeta().then(meta => {
|
||||||
this.maxNoteTextLength = meta.maxNoteTextLength;
|
this.maxNoteTextLength = meta.maxNoteTextLength;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -195,7 +195,7 @@ export default Vue.extend({
|
||||||
|
|
||||||
// ダイレクトへのリプライはリプライ先ユーザーを初期設定
|
// ダイレクトへのリプライはリプライ先ユーザーを初期設定
|
||||||
if (this.reply && this.reply.visibility === 'specified') {
|
if (this.reply && this.reply.visibility === 'specified') {
|
||||||
(this as any).api('users/show', { userId: this.reply.userId }).then(user => {
|
this.$root.api('users/show', { userId: this.reply.userId }).then(user => {
|
||||||
this.visibleUsers.push(user);
|
this.visibleUsers.push(user);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -354,7 +354,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
setVisibility() {
|
setVisibility() {
|
||||||
const w = (this as any).os.new(MkVisibilityChooser, {
|
const w = this.$root.new(MkVisibilityChooser, {
|
||||||
source: this.$refs.visibilityButton
|
source: this.$refs.visibilityButton
|
||||||
});
|
});
|
||||||
w.$once('chosen', v => {
|
w.$once('chosen', v => {
|
||||||
|
@ -367,7 +367,7 @@ export default Vue.extend({
|
||||||
title: this.$t('enter-username')
|
title: this.$t('enter-username')
|
||||||
}).then(acct => {
|
}).then(acct => {
|
||||||
if (acct.startsWith('@')) acct = acct.substr(1);
|
if (acct.startsWith('@')) acct = acct.substr(1);
|
||||||
(this as any).api('users/show', parseAcct(acct)).then(user => {
|
this.$root.api('users/show', parseAcct(acct)).then(user => {
|
||||||
this.visibleUsers.push(user);
|
this.visibleUsers.push(user);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -380,7 +380,7 @@ export default Vue.extend({
|
||||||
post() {
|
post() {
|
||||||
this.posting = true;
|
this.posting = true;
|
||||||
|
|
||||||
(this as any).api('notes/create', {
|
this.$root.api('notes/create', {
|
||||||
text: this.text == '' ? undefined : this.text,
|
text: this.text == '' ? undefined : this.text,
|
||||||
fileIds: this.files.length > 0 ? this.files.map(f => f.id) : undefined,
|
fileIds: this.files.length > 0 ? this.files.map(f => f.id) : undefined,
|
||||||
replyId: this.reply ? this.reply.id : undefined,
|
replyId: this.reply ? this.reply.id : undefined,
|
||||||
|
|
|
@ -26,19 +26,19 @@ export default Vue.extend({
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
(this as any).api('following/requests/list').then(requests => {
|
this.$root.api('following/requests/list').then(requests => {
|
||||||
this.fetching = false;
|
this.fetching = false;
|
||||||
this.requests = requests;
|
this.requests = requests;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
accept(user) {
|
accept(user) {
|
||||||
(this as any).api('following/requests/accept', { userId: user.id }).then(() => {
|
this.$root.api('following/requests/accept', { userId: user.id }).then(() => {
|
||||||
this.requests = this.requests.filter(r => r.follower.id != user.id);
|
this.requests = this.requests.filter(r => r.follower.id != user.id);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
reject(user) {
|
reject(user) {
|
||||||
(this as any).api('following/requests/reject', { userId: user.id }).then(() => {
|
this.$root.api('following/requests/reject', { userId: user.id }).then(() => {
|
||||||
this.requests = this.requests.filter(r => r.follower.id != user.id);
|
this.requests = this.requests.filter(r => r.follower.id != user.id);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
|
@ -30,7 +30,7 @@ export default Vue.extend({
|
||||||
methods: {
|
methods: {
|
||||||
ok() {
|
ok() {
|
||||||
this.wait = true;
|
this.wait = true;
|
||||||
(this as any).api('notes/create', {
|
this.$root.api('notes/create', {
|
||||||
renoteId: this.note.id
|
renoteId: this.note.id
|
||||||
}).then(data => {
|
}).then(data => {
|
||||||
this.$emit('posted');
|
this.$emit('posted');
|
||||||
|
|
|
@ -39,7 +39,7 @@ export default Vue.extend({
|
||||||
title: this.$t('enter-password'),
|
title: this.$t('enter-password'),
|
||||||
type: 'password'
|
type: 'password'
|
||||||
}).then(password => {
|
}).then(password => {
|
||||||
(this as any).api('i/2fa/register', {
|
this.$root.api('i/2fa/register', {
|
||||||
password: password
|
password: password
|
||||||
}).then(data => {
|
}).then(data => {
|
||||||
this.data = data;
|
this.data = data;
|
||||||
|
@ -52,7 +52,7 @@ export default Vue.extend({
|
||||||
title: this.$t('enter-password'),
|
title: this.$t('enter-password'),
|
||||||
type: 'password'
|
type: 'password'
|
||||||
}).then(password => {
|
}).then(password => {
|
||||||
(this as any).api('i/2fa/unregister', {
|
this.$root.api('i/2fa/unregister', {
|
||||||
password: password
|
password: password
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
(this as any).apis.notify(this.$t('unregistered'));
|
(this as any).apis.notify(this.$t('unregistered'));
|
||||||
|
@ -62,7 +62,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
submit() {
|
submit() {
|
||||||
(this as any).api('i/2fa/done', {
|
this.$root.api('i/2fa/done', {
|
||||||
token: this.token
|
token: this.token
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
(this as any).apis.notify(this.$t('success'));
|
(this as any).apis.notify(this.$t('success'));
|
||||||
|
|
|
@ -22,7 +22,7 @@ export default Vue.extend({
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
(this as any).api('i/authorized_apps').then(apps => {
|
this.$root.api('i/authorized_apps').then(apps => {
|
||||||
this.apps = apps;
|
this.apps = apps;
|
||||||
this.fetching = false;
|
this.fetching = false;
|
||||||
});
|
});
|
||||||
|
|
|
@ -28,12 +28,12 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
mounted() {
|
mounted() {
|
||||||
(this as any).api('i/signin_history').then(signins => {
|
this.$root.api('i/signin_history').then(signins => {
|
||||||
this.signins = signins;
|
this.signins = signins;
|
||||||
this.fetching = false;
|
this.fetching = false;
|
||||||
});
|
});
|
||||||
|
|
||||||
this.connection = (this as any).os.stream.useSharedConnection('main');
|
this.connection = this.$root.stream.useSharedConnection('main');
|
||||||
|
|
||||||
this.connection.on('signin', this.onSignin);
|
this.connection.on('signin', this.onSignin);
|
||||||
},
|
},
|
||||||
|
|
|
@ -500,13 +500,13 @@ export default Vue.extend({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
(this as any).os.getMeta().then(meta => {
|
this.$root.getMeta().then(meta => {
|
||||||
this.meta = meta;
|
this.meta = meta;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
readAllUnreadNotes() {
|
readAllUnreadNotes() {
|
||||||
(this as any).api('i/read_all_unread_notes');
|
this.$root.api('i/read_all_unread_notes');
|
||||||
},
|
},
|
||||||
customizeHome() {
|
customizeHome() {
|
||||||
this.$router.push('/i/customize-home');
|
this.$router.push('/i/customize-home');
|
||||||
|
@ -516,18 +516,18 @@ export default Vue.extend({
|
||||||
(this as any).apis.chooseDriveFile({
|
(this as any).apis.chooseDriveFile({
|
||||||
multiple: false
|
multiple: false
|
||||||
}).then(file => {
|
}).then(file => {
|
||||||
(this as any).api('i/update', {
|
this.$root.api('i/update', {
|
||||||
wallpaperId: file.id
|
wallpaperId: file.id
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
deleteWallpaper() {
|
deleteWallpaper() {
|
||||||
(this as any).api('i/update', {
|
this.$root.api('i/update', {
|
||||||
wallpaperId: null
|
wallpaperId: null
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
onChangeAutoWatch(v) {
|
onChangeAutoWatch(v) {
|
||||||
(this as any).api('i/update', {
|
this.$root.api('i/update', {
|
||||||
autoWatch: v
|
autoWatch: v
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
|
@ -65,32 +65,32 @@ export default Vue.extend({
|
||||||
this.query = {
|
this.query = {
|
||||||
query: this.tagTl.query
|
query: this.tagTl.query
|
||||||
};
|
};
|
||||||
this.connection = (this as any).os.stream.connectToChannel('hashtag', { q: this.tagTl.query });
|
this.connection = this.$root.stream.connectToChannel('hashtag', { q: this.tagTl.query });
|
||||||
this.connection.on('note', prepend);
|
this.connection.on('note', prepend);
|
||||||
} else if (this.src == 'home') {
|
} else if (this.src == 'home') {
|
||||||
this.endpoint = 'notes/timeline';
|
this.endpoint = 'notes/timeline';
|
||||||
const onChangeFollowing = () => {
|
const onChangeFollowing = () => {
|
||||||
this.fetch();
|
this.fetch();
|
||||||
};
|
};
|
||||||
this.connection = (this as any).os.stream.useSharedConnection('homeTimeline');
|
this.connection = this.$root.stream.useSharedConnection('homeTimeline');
|
||||||
this.connection.on('note', prepend);
|
this.connection.on('note', prepend);
|
||||||
this.connection.on('follow', onChangeFollowing);
|
this.connection.on('follow', onChangeFollowing);
|
||||||
this.connection.on('unfollow', onChangeFollowing);
|
this.connection.on('unfollow', onChangeFollowing);
|
||||||
} else if (this.src == 'local') {
|
} else if (this.src == 'local') {
|
||||||
this.endpoint = 'notes/local-timeline';
|
this.endpoint = 'notes/local-timeline';
|
||||||
this.connection = (this as any).os.stream.useSharedConnection('localTimeline');
|
this.connection = this.$root.stream.useSharedConnection('localTimeline');
|
||||||
this.connection.on('note', prepend);
|
this.connection.on('note', prepend);
|
||||||
} else if (this.src == 'hybrid') {
|
} else if (this.src == 'hybrid') {
|
||||||
this.endpoint = 'notes/hybrid-timeline';
|
this.endpoint = 'notes/hybrid-timeline';
|
||||||
this.connection = (this as any).os.stream.useSharedConnection('hybridTimeline');
|
this.connection = this.$root.stream.useSharedConnection('hybridTimeline');
|
||||||
this.connection.on('note', prepend);
|
this.connection.on('note', prepend);
|
||||||
} else if (this.src == 'global') {
|
} else if (this.src == 'global') {
|
||||||
this.endpoint = 'notes/global-timeline';
|
this.endpoint = 'notes/global-timeline';
|
||||||
this.connection = (this as any).os.stream.useSharedConnection('globalTimeline');
|
this.connection = this.$root.stream.useSharedConnection('globalTimeline');
|
||||||
this.connection.on('note', prepend);
|
this.connection.on('note', prepend);
|
||||||
} else if (this.src == 'mentions') {
|
} else if (this.src == 'mentions') {
|
||||||
this.endpoint = 'notes/mentions';
|
this.endpoint = 'notes/mentions';
|
||||||
this.connection = (this as any).os.stream.useSharedConnection('main');
|
this.connection = this.$root.stream.useSharedConnection('main');
|
||||||
this.connection.on('mention', prepend);
|
this.connection.on('mention', prepend);
|
||||||
} else if (this.src == 'messages') {
|
} else if (this.src == 'messages') {
|
||||||
this.endpoint = 'notes/mentions';
|
this.endpoint = 'notes/mentions';
|
||||||
|
@ -102,7 +102,7 @@ export default Vue.extend({
|
||||||
prepend(note);
|
prepend(note);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
this.connection = (this as any).os.stream.useSharedConnection('main');
|
this.connection = this.$root.stream.useSharedConnection('main');
|
||||||
this.connection.on('mention', onNote);
|
this.connection.on('mention', onNote);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -118,7 +118,7 @@ export default Vue.extend({
|
||||||
this.fetching = true;
|
this.fetching = true;
|
||||||
|
|
||||||
(this.$refs.timeline as any).init(() => new Promise((res, rej) => {
|
(this.$refs.timeline as any).init(() => new Promise((res, rej) => {
|
||||||
(this as any).api(this.endpoint, Object.assign({
|
this.$root.api(this.endpoint, Object.assign({
|
||||||
limit: fetchLimit + 1,
|
limit: fetchLimit + 1,
|
||||||
untilDate: this.date ? this.date.getTime() : undefined
|
untilDate: this.date ? this.date.getTime() : undefined
|
||||||
}, this.baseQuery, this.query)).then(notes => {
|
}, this.baseQuery, this.query)).then(notes => {
|
||||||
|
@ -138,7 +138,7 @@ export default Vue.extend({
|
||||||
|
|
||||||
this.moreFetching = true;
|
this.moreFetching = true;
|
||||||
|
|
||||||
const promise = (this as any).api(this.endpoint, Object.assign({
|
const promise = this.$root.api(this.endpoint, Object.assign({
|
||||||
limit: fetchLimit + 1,
|
limit: fetchLimit + 1,
|
||||||
untilId: (this.$refs.timeline as any).tail().id
|
untilId: (this.$refs.timeline as any).tail().id
|
||||||
}, this.baseQuery, this.query));
|
}, this.baseQuery, this.query));
|
||||||
|
|
|
@ -64,7 +64,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
created() {
|
created() {
|
||||||
(this as any).os.getMeta().then(meta => {
|
this.$root.getMeta().then(meta => {
|
||||||
this.enableLocalTimeline = !meta.disableLocalTimeline;
|
this.enableLocalTimeline = !meta.disableLocalTimeline;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -103,7 +103,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
async chooseList() {
|
async chooseList() {
|
||||||
const lists = await (this as any).api('users/lists/list');
|
const lists = await this.$root.api('users/lists/list');
|
||||||
|
|
||||||
let menu = [{
|
let menu = [{
|
||||||
icon: 'plus',
|
icon: 'plus',
|
||||||
|
@ -112,7 +112,7 @@ export default Vue.extend({
|
||||||
(this as any).apis.input({
|
(this as any).apis.input({
|
||||||
title: this.$t('list-name'),
|
title: this.$t('list-name'),
|
||||||
}).then(async title => {
|
}).then(async title => {
|
||||||
const list = await (this as any).api('users/lists/create', {
|
const list = await this.$root.api('users/lists/create', {
|
||||||
title
|
title
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -135,7 +135,7 @@ export default Vue.extend({
|
||||||
}
|
}
|
||||||
})));
|
})));
|
||||||
|
|
||||||
this.os.new(Menu, {
|
this.$root.new(Menu, {
|
||||||
source: this.$refs.listButton,
|
source: this.$refs.listButton,
|
||||||
compact: false,
|
compact: false,
|
||||||
items: menu
|
items: menu
|
||||||
|
@ -147,7 +147,7 @@ export default Vue.extend({
|
||||||
icon: 'plus',
|
icon: 'plus',
|
||||||
text: this.$t('add-tag-timeline'),
|
text: this.$t('add-tag-timeline'),
|
||||||
action: () => {
|
action: () => {
|
||||||
(this as any).os.new(MkSettingsWindow, {
|
this.$root.new(MkSettingsWindow, {
|
||||||
initialPage: 'hashtags'
|
initialPage: 'hashtags'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -166,7 +166,7 @@ export default Vue.extend({
|
||||||
}
|
}
|
||||||
})));
|
})));
|
||||||
|
|
||||||
this.os.new(Menu, {
|
this.$root.new(Menu, {
|
||||||
source: this.$refs.tagButton,
|
source: this.$refs.tagButton,
|
||||||
compact: false,
|
compact: false,
|
||||||
items: menu
|
items: menu
|
||||||
|
|
|
@ -137,25 +137,25 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
drive() {
|
drive() {
|
||||||
this.close();
|
this.close();
|
||||||
(this as any).os.new(MkDriveWindow);
|
this.$root.new(MkDriveWindow);
|
||||||
},
|
},
|
||||||
list() {
|
list() {
|
||||||
this.close();
|
this.close();
|
||||||
const w = (this as any).os.new(MkUserListsWindow);
|
const w = this.$root.new(MkUserListsWindow);
|
||||||
w.$once('choosen', list => {
|
w.$once('choosen', list => {
|
||||||
this.$router.push(`i/lists/${ list.id }`);
|
this.$router.push(`i/lists/${ list.id }`);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
followRequests() {
|
followRequests() {
|
||||||
this.close();
|
this.close();
|
||||||
(this as any).os.new(MkFollowRequestsWindow);
|
this.$root.new(MkFollowRequestsWindow);
|
||||||
},
|
},
|
||||||
settings() {
|
settings() {
|
||||||
this.close();
|
this.close();
|
||||||
(this as any).os.new(MkSettingsWindow);
|
this.$root.new(MkSettingsWindow);
|
||||||
},
|
},
|
||||||
signout() {
|
signout() {
|
||||||
(this as any).os.signout();
|
this.$root.os.signout();
|
||||||
},
|
},
|
||||||
dark() {
|
dark() {
|
||||||
this.$store.commit('device/set', {
|
this.$store.commit('device/set', {
|
||||||
|
|
|
@ -58,7 +58,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
if (this.$store.getters.isSignedIn) {
|
if (this.$store.getters.isSignedIn) {
|
||||||
this.connection = (this as any).os.stream.useSharedConnection('main');
|
this.connection = this.$root.stream.useSharedConnection('main');
|
||||||
|
|
||||||
this.connection.on('reversiInvited', this.onReversiInvited);
|
this.connection.on('reversiInvited', this.onReversiInvited);
|
||||||
this.connection.on('reversi_no_invites', this.onReversiNoInvites);
|
this.connection.on('reversi_no_invites', this.onReversiNoInvites);
|
||||||
|
@ -79,11 +79,11 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
messaging() {
|
messaging() {
|
||||||
(this as any).os.new(MkMessagingWindow);
|
this.$root.new(MkMessagingWindow);
|
||||||
},
|
},
|
||||||
|
|
||||||
game() {
|
game() {
|
||||||
(this as any).os.new(MkGameWindow);
|
this.$root.new(MkGameWindow);
|
||||||
},
|
},
|
||||||
|
|
||||||
goToTop() {
|
goToTop() {
|
||||||
|
|
|
@ -108,7 +108,7 @@ export default Vue.extend({
|
||||||
|
|
||||||
mounted() {
|
mounted() {
|
||||||
if (this.$store.getters.isSignedIn) {
|
if (this.$store.getters.isSignedIn) {
|
||||||
this.connection = (this as any).os.stream.useSharedConnection('main');
|
this.connection = this.$root.stream.useSharedConnection('main');
|
||||||
|
|
||||||
this.connection.on('reversiInvited', this.onReversiInvited);
|
this.connection.on('reversiInvited', this.onReversiInvited);
|
||||||
this.connection.on('reversi_no_invites', this.onReversiNoInvites);
|
this.connection.on('reversi_no_invites', this.onReversiNoInvites);
|
||||||
|
@ -131,11 +131,11 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
messaging() {
|
messaging() {
|
||||||
(this as any).os.new(MkMessagingWindow);
|
this.$root.new(MkMessagingWindow);
|
||||||
},
|
},
|
||||||
|
|
||||||
game() {
|
game() {
|
||||||
(this as any).os.new(MkGameWindow);
|
this.$root.new(MkGameWindow);
|
||||||
},
|
},
|
||||||
|
|
||||||
post() {
|
post() {
|
||||||
|
@ -143,26 +143,26 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
drive() {
|
drive() {
|
||||||
(this as any).os.new(MkDriveWindow);
|
this.$root.new(MkDriveWindow);
|
||||||
},
|
},
|
||||||
|
|
||||||
list() {
|
list() {
|
||||||
const w = (this as any).os.new(MkUserListsWindow);
|
const w = this.$root.new(MkUserListsWindow);
|
||||||
w.$once('choosen', list => {
|
w.$once('choosen', list => {
|
||||||
this.$router.push(`i/lists/${ list.id }`);
|
this.$router.push(`i/lists/${ list.id }`);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
followRequests() {
|
followRequests() {
|
||||||
(this as any).os.new(MkFollowRequestsWindow);
|
this.$root.new(MkFollowRequestsWindow);
|
||||||
},
|
},
|
||||||
|
|
||||||
settings() {
|
settings() {
|
||||||
(this as any).os.new(MkSettingsWindow);
|
this.$root.new(MkSettingsWindow);
|
||||||
},
|
},
|
||||||
|
|
||||||
signout() {
|
signout() {
|
||||||
(this as any).os.signout();
|
this.$root.os.signout();
|
||||||
},
|
},
|
||||||
|
|
||||||
notifications() {
|
notifications() {
|
||||||
|
|
|
@ -31,7 +31,7 @@ export default Vue.extend({
|
||||||
methods: {
|
methods: {
|
||||||
init() {
|
init() {
|
||||||
if (this.connection) this.connection.dispose();
|
if (this.connection) this.connection.dispose();
|
||||||
this.connection = (this as any).os.stream.connectToChannel('userList', {
|
this.connection = this.$root.stream.connectToChannel('userList', {
|
||||||
listId: this.list.id
|
listId: this.list.id
|
||||||
});
|
});
|
||||||
this.connection.on('note', this.onNote);
|
this.connection.on('note', this.onNote);
|
||||||
|
@ -44,7 +44,7 @@ export default Vue.extend({
|
||||||
this.fetching = true;
|
this.fetching = true;
|
||||||
|
|
||||||
(this.$refs.timeline as any).init(() => new Promise((res, rej) => {
|
(this.$refs.timeline as any).init(() => new Promise((res, rej) => {
|
||||||
(this as any).api('notes/user-list-timeline', {
|
this.$root.api('notes/user-list-timeline', {
|
||||||
listId: this.list.id,
|
listId: this.list.id,
|
||||||
limit: fetchLimit + 1,
|
limit: fetchLimit + 1,
|
||||||
includeMyRenotes: this.$store.state.settings.showMyRenotes,
|
includeMyRenotes: this.$store.state.settings.showMyRenotes,
|
||||||
|
@ -64,7 +64,7 @@ export default Vue.extend({
|
||||||
more() {
|
more() {
|
||||||
this.moreFetching = true;
|
this.moreFetching = true;
|
||||||
|
|
||||||
const promise = (this as any).api('notes/user-list-timeline', {
|
const promise = this.$root.api('notes/user-list-timeline', {
|
||||||
listId: this.list.id,
|
listId: this.list.id,
|
||||||
limit: fetchLimit + 1,
|
limit: fetchLimit + 1,
|
||||||
untilId: (this.$refs.timeline as any).tail().id,
|
untilId: (this.$refs.timeline as any).tail().id,
|
||||||
|
|
|
@ -22,7 +22,7 @@ export default Vue.extend({
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
(this as any).api('users/lists/list').then(lists => {
|
this.$root.api('users/lists/list').then(lists => {
|
||||||
this.fetching = false;
|
this.fetching = false;
|
||||||
this.lists = lists;
|
this.lists = lists;
|
||||||
});
|
});
|
||||||
|
@ -32,7 +32,7 @@ export default Vue.extend({
|
||||||
(this as any).apis.input({
|
(this as any).apis.input({
|
||||||
title: this.$t('list-name'),
|
title: this.$t('list-name'),
|
||||||
}).then(async title => {
|
}).then(async title => {
|
||||||
const list = await (this as any).api('users/lists/create', {
|
const list = await this.$root.api('users/lists/create', {
|
||||||
title
|
title
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -54,7 +54,7 @@ export default Vue.extend({
|
||||||
parseAcct(this.user.substr(1)) :
|
parseAcct(this.user.substr(1)) :
|
||||||
{ userId: this.user };
|
{ userId: this.user };
|
||||||
|
|
||||||
(this as any).api('users/show', query).then(user => {
|
this.$root.api('users/show', query).then(user => {
|
||||||
this.u = user;
|
this.u = user;
|
||||||
this.open();
|
this.open();
|
||||||
});
|
});
|
||||||
|
|
|
@ -110,7 +110,7 @@ export default Vue.extend({
|
||||||
this.preventMount = true;
|
this.preventMount = true;
|
||||||
} else {
|
} else {
|
||||||
// ウィンドウをウィンドウシステムに登録
|
// ウィンドウをウィンドウシステムに登録
|
||||||
(this as any).os.windows.add(this);
|
this.$root.os.windows.add(this);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -133,7 +133,7 @@ export default Vue.extend({
|
||||||
|
|
||||||
destroyed() {
|
destroyed() {
|
||||||
// ウィンドウをウィンドウシステムから削除
|
// ウィンドウをウィンドウシステムから削除
|
||||||
(this as any).os.windows.remove(this);
|
this.$root.os.windows.remove(this);
|
||||||
|
|
||||||
window.removeEventListener('resize', this.onBrowserResize);
|
window.removeEventListener('resize', this.onBrowserResize);
|
||||||
},
|
},
|
||||||
|
@ -234,7 +234,7 @@ export default Vue.extend({
|
||||||
top() {
|
top() {
|
||||||
let z = 0;
|
let z = 0;
|
||||||
|
|
||||||
(this as any).os.windows.getAll().forEach(w => {
|
this.$root.os.windows.getAll().forEach(w => {
|
||||||
if (w == this) return;
|
if (w == this) return;
|
||||||
const m = w.$refs.main;
|
const m = w.$refs.main;
|
||||||
const mz = Number(document.defaultView.getComputedStyle(m, null).zIndex);
|
const mz = Number(document.defaultView.getComputedStyle(m, null).zIndex);
|
||||||
|
|
|
@ -234,7 +234,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
showMenu() {
|
showMenu() {
|
||||||
this.os.new(Menu, {
|
this.$root.new(Menu, {
|
||||||
source: this.$refs.menu,
|
source: this.$refs.menu,
|
||||||
compact: false,
|
compact: false,
|
||||||
items: this.getMenu()
|
items: this.getMenu()
|
||||||
|
|
|
@ -26,7 +26,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
mounted() {
|
mounted() {
|
||||||
this.connection = (this as any).os.stream.useSharedConnection('main');
|
this.connection = this.$root.stream.useSharedConnection('main');
|
||||||
this.connection.on('mention', this.onNote);
|
this.connection.on('mention', this.onNote);
|
||||||
|
|
||||||
this.fetch();
|
this.fetch();
|
||||||
|
@ -41,7 +41,7 @@ export default Vue.extend({
|
||||||
this.fetching = true;
|
this.fetching = true;
|
||||||
|
|
||||||
(this.$refs.timeline as any).init(() => new Promise((res, rej) => {
|
(this.$refs.timeline as any).init(() => new Promise((res, rej) => {
|
||||||
(this as any).api('notes/mentions', {
|
this.$root.api('notes/mentions', {
|
||||||
limit: fetchLimit + 1,
|
limit: fetchLimit + 1,
|
||||||
includeMyRenotes: this.$store.state.settings.showMyRenotes,
|
includeMyRenotes: this.$store.state.settings.showMyRenotes,
|
||||||
includeRenotedMyNotes: this.$store.state.settings.showRenotedMyNotes,
|
includeRenotedMyNotes: this.$store.state.settings.showRenotedMyNotes,
|
||||||
|
@ -62,7 +62,7 @@ export default Vue.extend({
|
||||||
more() {
|
more() {
|
||||||
this.moreFetching = true;
|
this.moreFetching = true;
|
||||||
|
|
||||||
const promise = (this as any).api('notes/mentions', {
|
const promise = this.$root.api('notes/mentions', {
|
||||||
limit: fetchLimit + 1,
|
limit: fetchLimit + 1,
|
||||||
untilId: (this.$refs.timeline as any).tail().id,
|
untilId: (this.$refs.timeline as any).tail().id,
|
||||||
includeMyRenotes: this.$store.state.settings.showMyRenotes,
|
includeMyRenotes: this.$store.state.settings.showMyRenotes,
|
||||||
|
|
|
@ -39,7 +39,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
mounted() {
|
mounted() {
|
||||||
(this as any).api('charts/hashtag', {
|
this.$root.api('charts/hashtag', {
|
||||||
tag: this.tag,
|
tag: this.tag,
|
||||||
span: 'hour',
|
span: 'hour',
|
||||||
limit: 24
|
limit: 24
|
||||||
|
|
|
@ -47,7 +47,7 @@ export default Vue.extend({
|
||||||
|
|
||||||
mounted() {
|
mounted() {
|
||||||
if (this.connection) this.connection.close();
|
if (this.connection) this.connection.close();
|
||||||
this.connection = (this as any).os.stream.connectToChannel('hashtag', {
|
this.connection = this.$root.stream.connectToChannel('hashtag', {
|
||||||
q: this.tagTl.query
|
q: this.tagTl.query
|
||||||
});
|
});
|
||||||
this.connection.on('note', this.onNote);
|
this.connection.on('note', this.onNote);
|
||||||
|
@ -64,7 +64,7 @@ export default Vue.extend({
|
||||||
this.fetching = true;
|
this.fetching = true;
|
||||||
|
|
||||||
(this.$refs.timeline as any).init(() => new Promise((res, rej) => {
|
(this.$refs.timeline as any).init(() => new Promise((res, rej) => {
|
||||||
(this as any).api('notes/search_by_tag', {
|
this.$root.api('notes/search_by_tag', {
|
||||||
limit: fetchLimit + 1,
|
limit: fetchLimit + 1,
|
||||||
withFiles: this.mediaOnly,
|
withFiles: this.mediaOnly,
|
||||||
includeMyRenotes: this.$store.state.settings.showMyRenotes,
|
includeMyRenotes: this.$store.state.settings.showMyRenotes,
|
||||||
|
@ -86,7 +86,7 @@ export default Vue.extend({
|
||||||
more() {
|
more() {
|
||||||
this.moreFetching = true;
|
this.moreFetching = true;
|
||||||
|
|
||||||
const promise = (this as any).api('notes/search_by_tag', {
|
const promise = this.$root.api('notes/search_by_tag', {
|
||||||
limit: fetchLimit + 1,
|
limit: fetchLimit + 1,
|
||||||
untilId: (this.$refs.timeline as any).tail().id,
|
untilId: (this.$refs.timeline as any).tail().id,
|
||||||
withFiles: this.mediaOnly,
|
withFiles: this.mediaOnly,
|
||||||
|
|
|
@ -47,7 +47,7 @@ export default Vue.extend({
|
||||||
|
|
||||||
mounted() {
|
mounted() {
|
||||||
if (this.connection) this.connection.dispose();
|
if (this.connection) this.connection.dispose();
|
||||||
this.connection = (this as any).os.stream.connectToChannel('userList', {
|
this.connection = this.$root.stream.connectToChannel('userList', {
|
||||||
listId: this.list.id
|
listId: this.list.id
|
||||||
});
|
});
|
||||||
this.connection.on('note', this.onNote);
|
this.connection.on('note', this.onNote);
|
||||||
|
@ -66,7 +66,7 @@ export default Vue.extend({
|
||||||
this.fetching = true;
|
this.fetching = true;
|
||||||
|
|
||||||
(this.$refs.timeline as any).init(() => new Promise((res, rej) => {
|
(this.$refs.timeline as any).init(() => new Promise((res, rej) => {
|
||||||
(this as any).api('notes/user-list-timeline', {
|
this.$root.api('notes/user-list-timeline', {
|
||||||
listId: this.list.id,
|
listId: this.list.id,
|
||||||
limit: fetchLimit + 1,
|
limit: fetchLimit + 1,
|
||||||
withFiles: this.mediaOnly,
|
withFiles: this.mediaOnly,
|
||||||
|
@ -88,7 +88,7 @@ export default Vue.extend({
|
||||||
more() {
|
more() {
|
||||||
this.moreFetching = true;
|
this.moreFetching = true;
|
||||||
|
|
||||||
const promise = (this as any).api('notes/user-list-timeline', {
|
const promise = this.$root.api('notes/user-list-timeline', {
|
||||||
listId: this.list.id,
|
listId: this.list.id,
|
||||||
limit: fetchLimit + 1,
|
limit: fetchLimit + 1,
|
||||||
untilId: (this.$refs.timeline as any).tail().id,
|
untilId: (this.$refs.timeline as any).tail().id,
|
||||||
|
|
|
@ -26,7 +26,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
mounted() {
|
mounted() {
|
||||||
this.connection = (this as any).os.stream.useSharedConnection('main');
|
this.connection = this.$root.stream.useSharedConnection('main');
|
||||||
this.connection.on('mention', this.onNote);
|
this.connection.on('mention', this.onNote);
|
||||||
|
|
||||||
this.fetch();
|
this.fetch();
|
||||||
|
@ -41,7 +41,7 @@ export default Vue.extend({
|
||||||
this.fetching = true;
|
this.fetching = true;
|
||||||
|
|
||||||
(this.$refs.timeline as any).init(() => new Promise((res, rej) => {
|
(this.$refs.timeline as any).init(() => new Promise((res, rej) => {
|
||||||
(this as any).api('notes/mentions', {
|
this.$root.api('notes/mentions', {
|
||||||
limit: fetchLimit + 1,
|
limit: fetchLimit + 1,
|
||||||
includeMyRenotes: this.$store.state.settings.showMyRenotes,
|
includeMyRenotes: this.$store.state.settings.showMyRenotes,
|
||||||
includeRenotedMyNotes: this.$store.state.settings.showRenotedMyNotes,
|
includeRenotedMyNotes: this.$store.state.settings.showRenotedMyNotes,
|
||||||
|
@ -61,7 +61,7 @@ export default Vue.extend({
|
||||||
more() {
|
more() {
|
||||||
this.moreFetching = true;
|
this.moreFetching = true;
|
||||||
|
|
||||||
const promise = (this as any).api('notes/mentions', {
|
const promise = this.$root.api('notes/mentions', {
|
||||||
limit: fetchLimit + 1,
|
limit: fetchLimit + 1,
|
||||||
untilId: (this.$refs.timeline as any).tail().id,
|
untilId: (this.$refs.timeline as any).tail().id,
|
||||||
includeMyRenotes: this.$store.state.settings.showMyRenotes,
|
includeMyRenotes: this.$store.state.settings.showMyRenotes,
|
||||||
|
|
|
@ -52,7 +52,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
created() {
|
created() {
|
||||||
(this as any).api('notes/show', { noteId: this.noteId }).then(note => {
|
this.$root.api('notes/show', { noteId: this.noteId }).then(note => {
|
||||||
this.note = note;
|
this.note = note;
|
||||||
this.fetching = false;
|
this.fetching = false;
|
||||||
});
|
});
|
||||||
|
|
|
@ -68,7 +68,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
mounted() {
|
mounted() {
|
||||||
this.connection = (this as any).os.stream.useSharedConnection('main');
|
this.connection = this.$root.stream.useSharedConnection('main');
|
||||||
|
|
||||||
this.connection.on('notification', this.onNotification);
|
this.connection.on('notification', this.onNotification);
|
||||||
|
|
||||||
|
@ -77,7 +77,7 @@ export default Vue.extend({
|
||||||
|
|
||||||
const max = 10;
|
const max = 10;
|
||||||
|
|
||||||
(this as any).api('i/notifications', {
|
this.$root.api('i/notifications', {
|
||||||
limit: max + 1
|
limit: max + 1
|
||||||
}).then(notifications => {
|
}).then(notifications => {
|
||||||
if (notifications.length == max + 1) {
|
if (notifications.length == max + 1) {
|
||||||
|
@ -103,7 +103,7 @@ export default Vue.extend({
|
||||||
|
|
||||||
const max = 20;
|
const max = 20;
|
||||||
|
|
||||||
(this as any).api('i/notifications', {
|
this.$root.api('i/notifications', {
|
||||||
limit: max + 1,
|
limit: max + 1,
|
||||||
untilId: this.notifications[this.notifications.length - 1].id
|
untilId: this.notifications[this.notifications.length - 1].id
|
||||||
}).then(notifications => {
|
}).then(notifications => {
|
||||||
|
@ -120,7 +120,7 @@ export default Vue.extend({
|
||||||
|
|
||||||
onNotification(notification) {
|
onNotification(notification) {
|
||||||
// TODO: ユーザーが画面を見てないと思われるとき(ブラウザやタブがアクティブじゃないなど)は送信しない
|
// TODO: ユーザーが画面を見てないと思われるとき(ブラウザやタブがアクティブじゃないなど)は送信しない
|
||||||
(this as any).os.stream.send('readNotification', {
|
this.$root.stream.send('readNotification', {
|
||||||
id: notification.id
|
id: notification.id
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -43,10 +43,10 @@ export default Vue.extend({
|
||||||
computed: {
|
computed: {
|
||||||
stream(): any {
|
stream(): any {
|
||||||
switch (this.src) {
|
switch (this.src) {
|
||||||
case 'home': return (this as any).os.stream.useSharedConnection('homeTimeline');
|
case 'home': return this.$root.stream.useSharedConnection('homeTimeline');
|
||||||
case 'local': return (this as any).os.stream.useSharedConnection('localTimeline');
|
case 'local': return this.$root.stream.useSharedConnection('localTimeline');
|
||||||
case 'hybrid': return (this as any).os.stream.useSharedConnection('hybridTimeline');
|
case 'hybrid': return this.$root.stream.useSharedConnection('hybridTimeline');
|
||||||
case 'global': return (this as any).os.stream.useSharedConnection('globalTimeline');
|
case 'global': return this.$root.stream.useSharedConnection('globalTimeline');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -87,7 +87,7 @@ export default Vue.extend({
|
||||||
this.fetching = true;
|
this.fetching = true;
|
||||||
|
|
||||||
(this.$refs.timeline as any).init(() => new Promise((res, rej) => {
|
(this.$refs.timeline as any).init(() => new Promise((res, rej) => {
|
||||||
(this as any).api(this.endpoint, {
|
this.$root.api(this.endpoint, {
|
||||||
limit: fetchLimit + 1,
|
limit: fetchLimit + 1,
|
||||||
withFiles: this.mediaOnly,
|
withFiles: this.mediaOnly,
|
||||||
includeMyRenotes: this.$store.state.settings.showMyRenotes,
|
includeMyRenotes: this.$store.state.settings.showMyRenotes,
|
||||||
|
@ -108,7 +108,7 @@ export default Vue.extend({
|
||||||
more() {
|
more() {
|
||||||
this.moreFetching = true;
|
this.moreFetching = true;
|
||||||
|
|
||||||
const promise = (this as any).api(this.endpoint, {
|
const promise = this.$root.api(this.endpoint, {
|
||||||
limit: fetchLimit + 1,
|
limit: fetchLimit + 1,
|
||||||
withFiles: this.mediaOnly,
|
withFiles: this.mediaOnly,
|
||||||
untilId: (this.$refs.timeline as any).tail().id,
|
untilId: (this.$refs.timeline as any).tail().id,
|
||||||
|
|
|
@ -138,7 +138,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
created() {
|
created() {
|
||||||
(this as any).api('users/show', parseAcct(this.acct)).then(user => {
|
this.$root.api('users/show', parseAcct(this.acct)).then(user => {
|
||||||
this.user = user;
|
this.user = user;
|
||||||
this.fetching = false;
|
this.fetching = false;
|
||||||
|
|
||||||
|
@ -152,7 +152,7 @@ export default Vue.extend({
|
||||||
'image/gif'
|
'image/gif'
|
||||||
];
|
];
|
||||||
|
|
||||||
(this as any).api('users/notes', {
|
this.$root.api('users/notes', {
|
||||||
userId: this.user.id,
|
userId: this.user.id,
|
||||||
fileType: image,
|
fileType: image,
|
||||||
limit: 9
|
limit: 9
|
||||||
|
@ -166,7 +166,7 @@ export default Vue.extend({
|
||||||
this.images = files.filter(f => image.includes(f.type)).slice(0, 9);
|
this.images = files.filter(f => image.includes(f.type)).slice(0, 9);
|
||||||
});
|
});
|
||||||
|
|
||||||
(this as any).api('charts/user/notes', {
|
this.$root.api('charts/user/notes', {
|
||||||
userId: this.user.id,
|
userId: this.user.id,
|
||||||
span: 'day',
|
span: 'day',
|
||||||
limit: 21
|
limit: 21
|
||||||
|
@ -251,7 +251,7 @@ export default Vue.extend({
|
||||||
methods: {
|
methods: {
|
||||||
initTl() {
|
initTl() {
|
||||||
return new Promise((res, rej) => {
|
return new Promise((res, rej) => {
|
||||||
(this as any).api('users/notes', {
|
this.$root.api('users/notes', {
|
||||||
userId: this.user.id,
|
userId: this.user.id,
|
||||||
limit: fetchLimit + 1,
|
limit: fetchLimit + 1,
|
||||||
withFiles: this.withFiles,
|
withFiles: this.withFiles,
|
||||||
|
@ -271,7 +271,7 @@ export default Vue.extend({
|
||||||
fetchMoreNotes() {
|
fetchMoreNotes() {
|
||||||
this.moreFetching = true;
|
this.moreFetching = true;
|
||||||
|
|
||||||
const promise = (this as any).api('users/notes', {
|
const promise = this.$root.api('users/notes', {
|
||||||
userId: this.user.id,
|
userId: this.user.id,
|
||||||
limit: fetchLimit + 1,
|
limit: fetchLimit + 1,
|
||||||
untilId: (this.$refs.timeline as any).tail().id,
|
untilId: (this.$refs.timeline as any).tail().id,
|
||||||
|
@ -299,19 +299,19 @@ export default Vue.extend({
|
||||||
icon: 'list',
|
icon: 'list',
|
||||||
text: this.$t('push-to-a-list'),
|
text: this.$t('push-to-a-list'),
|
||||||
action: () => {
|
action: () => {
|
||||||
const w = (this as any).os.new(MkUserListsWindow);
|
const w = this.$root.new(MkUserListsWindow);
|
||||||
w.$once('choosen', async list => {
|
w.$once('choosen', async list => {
|
||||||
w.close();
|
w.close();
|
||||||
await (this as any).api('users/lists/push', {
|
await this.$root.api('users/lists/push', {
|
||||||
listId: list.id,
|
listId: list.id,
|
||||||
userId: this.user.id
|
userId: this.user.id
|
||||||
});
|
});
|
||||||
(this as any).os.new(Ok);
|
this.$root.new(Ok);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}];
|
}];
|
||||||
|
|
||||||
this.os.new(Menu, {
|
this.$root.new(Menu, {
|
||||||
source: this.$refs.menu,
|
source: this.$refs.menu,
|
||||||
compact: false,
|
compact: false,
|
||||||
items: menu
|
items: menu
|
||||||
|
|
|
@ -131,7 +131,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
mounted() {
|
mounted() {
|
||||||
document.title = (this as any).os.instanceName;
|
document.title = this.$root.os.instanceName;
|
||||||
document.documentElement.style.overflow = 'hidden';
|
document.documentElement.style.overflow = 'hidden';
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -180,7 +180,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
add() {
|
add() {
|
||||||
this.os.new(Menu, {
|
this.$root.new(Menu, {
|
||||||
source: this.$refs.add,
|
source: this.$refs.add,
|
||||||
compact: true,
|
compact: true,
|
||||||
items: [{
|
items: [{
|
||||||
|
@ -241,7 +241,7 @@ export default Vue.extend({
|
||||||
icon: 'list',
|
icon: 'list',
|
||||||
text: this.$t('@deck.list'),
|
text: this.$t('@deck.list'),
|
||||||
action: () => {
|
action: () => {
|
||||||
const w = (this as any).os.new(MkUserListsWindow);
|
const w = this.$root.new(MkUserListsWindow);
|
||||||
w.$once('choosen', list => {
|
w.$once('choosen', list => {
|
||||||
this.$store.dispatch('settings/addDeckColumn', {
|
this.$store.dispatch('settings/addDeckColumn', {
|
||||||
id: uuid(),
|
id: uuid(),
|
||||||
|
|
|
@ -32,7 +32,7 @@ export default Vue.extend({
|
||||||
Progress.start();
|
Progress.start();
|
||||||
this.fetching = true;
|
this.fetching = true;
|
||||||
|
|
||||||
(this as any).api('i/favorites', {
|
this.$root.api('i/favorites', {
|
||||||
limit: 11
|
limit: 11
|
||||||
}).then(favorites => {
|
}).then(favorites => {
|
||||||
if (favorites.length == 11) {
|
if (favorites.length == 11) {
|
||||||
|
@ -48,7 +48,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
more() {
|
more() {
|
||||||
this.moreFetching = true;
|
this.moreFetching = true;
|
||||||
(this as any).api('i/favorites', {
|
this.$root.api('i/favorites', {
|
||||||
limit: 11,
|
limit: 11,
|
||||||
untilId: this.favorites[this.favorites.length - 1].id
|
untilId: this.favorites[this.favorites.length - 1].id
|
||||||
}).then(favorites => {
|
}).then(favorites => {
|
||||||
|
|
|
@ -23,7 +23,7 @@ export default Vue.extend({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
document.title = (this as any).os.instanceName;
|
document.title = this.$root.os.instanceName;
|
||||||
|
|
||||||
Progress.start();
|
Progress.start();
|
||||||
},
|
},
|
||||||
|
|
|
@ -44,7 +44,7 @@ export default Vue.extend({
|
||||||
Progress.start();
|
Progress.start();
|
||||||
this.fetching = true;
|
this.fetching = true;
|
||||||
|
|
||||||
(this as any).api('users/show', parseAcct(this.$route.params.user)).then(user => {
|
this.$root.api('users/show', parseAcct(this.$route.params.user)).then(user => {
|
||||||
this.user = user;
|
this.user = user;
|
||||||
this.fetching = false;
|
this.fetching = false;
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ export default Vue.extend({
|
||||||
Progress.start();
|
Progress.start();
|
||||||
this.fetching = true;
|
this.fetching = true;
|
||||||
|
|
||||||
(this as any).api('notes/show', {
|
this.$root.api('notes/show', {
|
||||||
noteId: this.$route.params.note
|
noteId: this.$route.params.note
|
||||||
}).then(note => {
|
}).then(note => {
|
||||||
this.note = note;
|
this.note = note;
|
||||||
|
|
|
@ -59,7 +59,7 @@ export default Vue.extend({
|
||||||
Progress.start();
|
Progress.start();
|
||||||
|
|
||||||
(this.$refs.timeline as any).init(() => new Promise((res, rej) => {
|
(this.$refs.timeline as any).init(() => new Promise((res, rej) => {
|
||||||
(this as any).api('notes/search', {
|
this.$root.api('notes/search', {
|
||||||
limit: limit + 1,
|
limit: limit + 1,
|
||||||
offset: this.offset,
|
offset: this.offset,
|
||||||
query: this.q
|
query: this.q
|
||||||
|
@ -82,7 +82,7 @@ export default Vue.extend({
|
||||||
more() {
|
more() {
|
||||||
this.offset += limit;
|
this.offset += limit;
|
||||||
|
|
||||||
const promise = (this as any).api('notes/search', {
|
const promise = this.$root.api('notes/search', {
|
||||||
limit: limit + 1,
|
limit: limit + 1,
|
||||||
offset: this.offset,
|
offset: this.offset,
|
||||||
query: this.q
|
query: this.q
|
||||||
|
|
|
@ -29,7 +29,7 @@ export default Vue.extend({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
(this as any).os.getMeta().then(meta => {
|
this.$root.getMeta().then(meta => {
|
||||||
this.name = meta.name;
|
this.name = meta.name;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,7 +52,7 @@ export default Vue.extend({
|
||||||
Progress.start();
|
Progress.start();
|
||||||
|
|
||||||
(this.$refs.timeline as any).init(() => new Promise((res, rej) => {
|
(this.$refs.timeline as any).init(() => new Promise((res, rej) => {
|
||||||
(this as any).api('notes/search_by_tag', {
|
this.$root.api('notes/search_by_tag', {
|
||||||
limit: limit + 1,
|
limit: limit + 1,
|
||||||
offset: this.offset,
|
offset: this.offset,
|
||||||
tag: this.$route.params.tag
|
tag: this.$route.params.tag
|
||||||
|
@ -71,7 +71,7 @@ export default Vue.extend({
|
||||||
more() {
|
more() {
|
||||||
this.offset += limit;
|
this.offset += limit;
|
||||||
|
|
||||||
const promise = (this as any).api('notes/search_by_tag', {
|
const promise = this.$root.api('notes/search_by_tag', {
|
||||||
limit: limit + 1,
|
limit: limit + 1,
|
||||||
offset: this.offset,
|
offset: this.offset,
|
||||||
tag: this.$route.params.tag
|
tag: this.$route.params.tag
|
||||||
|
|
|
@ -54,9 +54,9 @@ export default Vue.extend({
|
||||||
fetch() {
|
fetch() {
|
||||||
this.fetching = true;
|
this.fetching = true;
|
||||||
Progress.start();
|
Progress.start();
|
||||||
(this as any).api('users/show', parseAcct(this.$route.params.user)).then(user => {
|
this.$root.api('users/show', parseAcct(this.$route.params.user)).then(user => {
|
||||||
this.user = user;
|
this.user = user;
|
||||||
(this as any).api(this.endpoint, {
|
this.$root.api(this.endpoint, {
|
||||||
userId: this.user.id,
|
userId: this.user.id,
|
||||||
iknow: false,
|
iknow: false,
|
||||||
limit: limit
|
limit: limit
|
||||||
|
@ -70,7 +70,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
fetchMore() {
|
fetchMore() {
|
||||||
(this as any).api(this.endpoint, {
|
this.$root.api(this.endpoint, {
|
||||||
userId: this.user.id,
|
userId: this.user.id,
|
||||||
iknow: false,
|
iknow: false,
|
||||||
limit: limit,
|
limit: limit,
|
||||||
|
|
|
@ -25,7 +25,7 @@ export default Vue.extend({
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
(this as any).api('users/followers', {
|
this.$root.api('users/followers', {
|
||||||
userId: this.user.id,
|
userId: this.user.id,
|
||||||
iknow: true,
|
iknow: true,
|
||||||
limit: 16
|
limit: 16
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue