From 835aad44bbf7245e039227ffa48e611b3bc330f2 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 17 Oct 2021 01:33:15 +0900 Subject: feat: ユーザーのリアクション一覧を見れるように MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/client/pages/user/index.vue | 7 ++++ src/client/pages/user/reactions.vue | 81 +++++++++++++++++++++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 src/client/pages/user/reactions.vue (limited to 'src/client') diff --git a/src/client/pages/user/index.vue b/src/client/pages/user/index.vue index 0ddf73d572..6811dff2db 100644 --- a/src/client/pages/user/index.vue +++ b/src/client/pages/user/index.vue @@ -181,6 +181,7 @@ + @@ -223,6 +224,7 @@ export default defineComponent({ MkTab, MkInfo, XFollowList: defineAsyncComponent(() => import('./follow-list.vue')), + XReactions: defineAsyncComponent(() => import('./reactions.vue')), XClips: defineAsyncComponent(() => import('./clips.vue')), XPages: defineAsyncComponent(() => import('./pages.vue')), XGallery: defineAsyncComponent(() => import('./gallery.vue')), @@ -268,6 +270,11 @@ export default defineComponent({ title: this.$ts.overview, icon: 'fas fa-home', onClick: () => { this.$router.push('/@' + getAcct(this.user)); }, + }, { + active: this.page === 'reactions', + title: this.$ts.reaction, + icon: 'fas fa-laugh', + onClick: () => { this.$router.push('/@' + getAcct(this.user) + '/reactions'); }, }, { active: this.page === 'clips', title: this.$ts.clips, diff --git a/src/client/pages/user/reactions.vue b/src/client/pages/user/reactions.vue new file mode 100644 index 0000000000..5ac7e01027 --- /dev/null +++ b/src/client/pages/user/reactions.vue @@ -0,0 +1,81 @@ + + + + + -- cgit v1.2.3-freya From dec69cc67b060eec244eb8d2df7dcd362359514b Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 17 Oct 2021 16:26:35 +0900 Subject: enhance: ユーザー検索の精度を強化 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 2 + src/client/components/form/radios.vue | 12 -- src/client/pages/explore.vue | 19 ++- .../endpoints/users/search-by-username-and-host.ts | 9 +- src/server/api/endpoints/users/search.ts | 127 +++++++++++++-------- 5 files changed, 104 insertions(+), 65 deletions(-) (limited to 'src/client') diff --git a/CHANGELOG.md b/CHANGELOG.md index 1139707b5a..ef9934f6d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,9 @@ ### Improvements - クライアント: ユーザーのリアクション一覧を見れるように +- クライアント: ユーザー検索の精度を強化 - API: ユーザーのリアクション一覧を取得する users/reactions を追加 +- API: users/search および users/search-by-username-and-host を強化 ### Bugfixes diff --git a/src/client/components/form/radios.vue b/src/client/components/form/radios.vue index 1d3d80172a..998a738202 100644 --- a/src/client/components/form/radios.vue +++ b/src/client/components/form/radios.vue @@ -22,7 +22,6 @@ export default defineComponent({ } }, render() { - const label = this.$slots.desc(); let options = this.$slots.default(); // なぜかFragmentになることがあるため @@ -31,7 +30,6 @@ export default defineComponent({ return h('div', { class: 'novjtcto' }, [ - h('div', { class: 'label' }, label), ...options.map(option => h(MkRadio, { key: option.key, value: option.props.value, @@ -45,16 +43,6 @@ export default defineComponent({ -- cgit v1.2.3-freya From 3a11dba24f839016bad295ce2e68dac04d7a3d5b Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 17 Oct 2021 18:38:38 +0900 Subject: #7880 --- src/client/pages/explore.vue | 6 +- .../endpoints/users/search-by-username-and-host.ts | 14 +++-- src/server/api/endpoints/users/search.ts | 72 ++++++++-------------- 3 files changed, 38 insertions(+), 54 deletions(-) (limited to 'src/client') diff --git a/src/client/pages/explore.vue b/src/client/pages/explore.vue index 596bc1f0ed..0c29b11b38 100644 --- a/src/client/pages/explore.vue +++ b/src/client/pages/explore.vue @@ -69,7 +69,7 @@ - + @@ -167,14 +167,14 @@ export default defineComponent({ limit: 10, params: computed(() => (this.searchQuery && this.searchQuery !== '') ? { query: this.searchQuery, - scope: this.searchScope, + origin: this.searchOrigin, } : null) }, tagsLocal: [], tagsRemote: [], stats: null, searchQuery: null, - searchScope: 'both', + searchOrigin: 'both', num: number, }; }, diff --git a/src/server/api/endpoints/users/search-by-username-and-host.ts b/src/server/api/endpoints/users/search-by-username-and-host.ts index 8fdc710658..3b8d024af5 100644 --- a/src/server/api/endpoints/users/search-by-username-and-host.ts +++ b/src/server/api/endpoints/users/search-by-username-and-host.ts @@ -46,13 +46,15 @@ export const meta = { }; export default define(meta, async (ps, me) => { + const activeThreshold = new Date(Date.now() - (1000 * 60 * 60 * 24 * 30)); // 30日 + if (ps.host) { const q = Users.createQueryBuilder('user') .where('user.isSuspended = FALSE') .andWhere('user.host LIKE :host', { host: ps.host.toLowerCase() + '%' }); if (ps.username) { - q.andWhere('user.usernameLower like :username', { username: ps.username.toLowerCase() + '%' }); + q.andWhere('user.usernameLower LIKE :username', { username: ps.username.toLowerCase() + '%' }); } q.andWhere('user.updatedAt IS NOT NULL'); @@ -65,12 +67,12 @@ export default define(meta, async (ps, me) => { let users = await Users.createQueryBuilder('user') .where('user.host IS NULL') .andWhere('user.isSuspended = FALSE') - .andWhere('user.usernameLower like :username', { username: ps.username.toLowerCase() + '%' }) + .andWhere('user.usernameLower LIKE :username', { username: ps.username.toLowerCase() + '%' }) .andWhere(new Brackets(qb => { qb - .where('user.lastActiveDate IS NULL') - .orWhere('user.lastActiveDate > :activeThreshold', { activeThreshold: new Date(Date.now() - USER_ACTIVE_THRESHOLD) }); + .where('user.updatedAt IS NULL') + .orWhere('user.updatedAt > :activeThreshold', { activeThreshold: activeThreshold }); })) - .orderBy('user.lastActiveDate', 'DESC', 'NULLS LAST') + .orderBy('user.updatedAt', 'DESC', 'NULLS LAST') .take(ps.limit!) .skip(ps.offset) .getMany(); @@ -79,7 +81,7 @@ export default define(meta, async (ps, me) => { const otherUsers = await Users.createQueryBuilder('user') .where('user.host IS NOT NULL') .andWhere('user.isSuspended = FALSE') - .andWhere('user.usernameLower like :username', { username: ps.username.toLowerCase() + '%' }) + .andWhere('user.usernameLower LIKE :username', { username: ps.username.toLowerCase() + '%' }) .andWhere('user.updatedAt IS NOT NULL') .orderBy('user.updatedAt', 'DESC') .take(ps.limit! - users.length) diff --git a/src/server/api/endpoints/users/search.ts b/src/server/api/endpoints/users/search.ts index e4fbfedd10..9aa988d9ed 100644 --- a/src/server/api/endpoints/users/search.ts +++ b/src/server/api/endpoints/users/search.ts @@ -3,7 +3,6 @@ import define from '../../define'; import { UserProfiles, Users } from '@/models/index'; import { User } from '@/models/entities/user'; import { Brackets } from 'typeorm'; -import { USER_ACTIVE_THRESHOLD } from '@/const'; export const meta = { tags: ['users'], @@ -25,9 +24,9 @@ export const meta = { default: 10, }, - scope: { - validator: $.optional.str.or(['local', 'remote', 'both']), - default: 'both', + origin: { + validator: $.optional.str.or(['local', 'remote', 'combined']), + default: 'combined', }, detail: { @@ -48,59 +47,49 @@ export const meta = { }; export default define(meta, async (ps, me) => { + const activeThreshold = new Date(Date.now() - (1000 * 60 * 60 * 24 * 30)); // 30日 + const isUsername = ps.query.startsWith('@'); let users: User[] = []; if (isUsername) { const usernameQuery = Users.createQueryBuilder('user') - .where('user.usernameLower like :username', { username: ps.query.replace('@', '').toLowerCase() + '%' }) + .where('user.usernameLower LIKE :username', { username: ps.query.replace('@', '').toLowerCase() + '%' }) .andWhere(new Brackets(qb => { qb - .where('user.lastActiveDate IS NULL') - .orWhere('user.lastActiveDate > :activeThreshold', { activeThreshold: new Date(Date.now() - USER_ACTIVE_THRESHOLD) }); + .where('user.updatedAt IS NULL') + .orWhere('user.updatedAt > :activeThreshold', { activeThreshold: activeThreshold }); })) .andWhere('user.isSuspended = FALSE'); - if (ps.scope === 'local') { - usernameQuery - .andWhere('user.host IS NULL') - .orderBy('user.lastActiveDate', 'DESC', 'NULLS LAST'); - } else if (ps.scope === 'remote') { - usernameQuery - .andWhere('user.host IS NOT NULL') - .orderBy('user.updatedAt', 'DESC', 'NULLS LAST'); - } else { // both - usernameQuery - .orderBy('user.updatedAt', 'DESC', 'NULLS LAST'); + if (ps.origin === 'local') { + usernameQuery.andWhere('user.host IS NULL'); + } else if (ps.origin === 'remote') { + usernameQuery.andWhere('user.host IS NOT NULL'); } users = await usernameQuery + .orderBy('user.updatedAt', 'DESC', 'NULLS LAST') .take(ps.limit!) .skip(ps.offset) .getMany(); } else { const nameQuery = Users.createQueryBuilder('user') - .where('user.name ilike :query', { query: '%' + ps.query + '%' }) + .where('user.name ILIKE :query', { query: '%' + ps.query + '%' }) .andWhere(new Brackets(qb => { qb - .where('user.lastActiveDate IS NULL') - .orWhere('user.lastActiveDate > :activeThreshold', { activeThreshold: new Date(Date.now() - USER_ACTIVE_THRESHOLD) }); + .where('user.updatedAt IS NULL') + .orWhere('user.updatedAt > :activeThreshold', { activeThreshold: activeThreshold }); })) .andWhere('user.isSuspended = FALSE'); - if (ps.scope === 'local') { - nameQuery - .andWhere('user.host IS NULL') - .orderBy('user.lastActiveDate', 'DESC', 'NULLS LAST'); - } else if (ps.scope === 'remote') { - nameQuery - .andWhere('user.host IS NOT NULL') - .orderBy('user.updatedAt', 'DESC', 'NULLS LAST'); - } else { // both - nameQuery - .orderBy('user.updatedAt', 'DESC', 'NULLS LAST'); + if (ps.origin === 'local') { + nameQuery.andWhere('user.host IS NULL'); + } else if (ps.origin === 'remote') { + nameQuery.andWhere('user.host IS NOT NULL'); } users = await nameQuery + .orderBy('user.updatedAt', 'DESC', 'NULLS LAST') .take(ps.limit!) .skip(ps.offset) .getMany(); @@ -108,32 +97,25 @@ export default define(meta, async (ps, me) => { if (users.length < ps.limit!) { const profQuery = UserProfiles.createQueryBuilder('prof') .select('prof.userId') - .where('prof.description ilike :query', { query: '%' + ps.query + '%' }); + .where('prof.description ILIKE :query', { query: '%' + ps.query + '%' }); - if (ps.scope === 'local') { + if (ps.origin === 'local') { profQuery.andWhere('prof.userHost IS NULL'); - } else if (ps.scope === 'remote') { + } else if (ps.origin === 'remote') { profQuery.andWhere('prof.userHost IS NOT NULL'); } const query = Users.createQueryBuilder('user') .where(`user.id IN (${ profQuery.getQuery() })`) .andWhere(new Brackets(qb => { qb - .where('user.lastActiveDate IS NULL') - .orWhere('user.lastActiveDate > :activeThreshold', { activeThreshold: new Date(Date.now() - USER_ACTIVE_THRESHOLD) }); + .where('user.updatedAt IS NULL') + .orWhere('user.updatedAt > :activeThreshold', { activeThreshold: activeThreshold }); })) .andWhere('user.isSuspended = FALSE') .setParameters(profQuery.getParameters()); - if (ps.scope === 'local') { - query.orderBy('user.lastActiveDate', 'DESC', 'NULLS LAST'); - } else if (ps.scope === 'remote') { - query.orderBy('user.updatedAt', 'DESC', 'NULLS LAST'); - } else { // both - query.orderBy('user.updatedAt', 'DESC', 'NULLS LAST'); - } - users = users.concat(await query + .orderBy('user.updatedAt', 'DESC', 'NULLS LAST') .take(ps.limit!) .skip(ps.offset) .getMany() -- cgit v1.2.3-freya From a607149b19a5bd557ef0ea734daa2b878f4e81b0 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 17 Oct 2021 18:39:58 +0900 Subject: Update explore.vue --- src/client/pages/explore.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/client') diff --git a/src/client/pages/explore.vue b/src/client/pages/explore.vue index 0c29b11b38..6f304877b7 100644 --- a/src/client/pages/explore.vue +++ b/src/client/pages/explore.vue @@ -174,7 +174,7 @@ export default defineComponent({ tagsRemote: [], stats: null, searchQuery: null, - searchOrigin: 'both', + searchOrigin: 'combined', num: number, }; }, -- cgit v1.2.3-freya From 37e666817f1932e019d3e168e0378b7b49bc7e7b Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 17 Oct 2021 18:47:33 +0900 Subject: :art: --- src/client/components/tab.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/client') diff --git a/src/client/components/tab.vue b/src/client/components/tab.vue index ce86af8f95..c629727358 100644 --- a/src/client/components/tab.vue +++ b/src/client/components/tab.vue @@ -36,7 +36,7 @@ export default defineComponent({ > button { flex: 1; padding: 10px 8px; - border-radius: 6px; + border-radius: var(--radius); &:disabled { opacity: 1 !important; -- cgit v1.2.3-freya From b0992de59d41de3fa4de7fb6f94e89d9140f7ba4 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 17 Oct 2021 21:04:34 +0900 Subject: :art: --- CHANGELOG.md | 1 + src/client/scripts/theme.ts | 1 + src/client/themes/l-sushi.json5 | 18 ++++++++++++++++++ 3 files changed, 20 insertions(+) create mode 100644 src/client/themes/l-sushi.json5 (limited to 'src/client') diff --git a/CHANGELOG.md b/CHANGELOG.md index ef9934f6d1..d2889b07bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ ### Improvements - クライアント: ユーザーのリアクション一覧を見れるように - クライアント: ユーザー検索の精度を強化 +- クライアント: 新しいライトテーマを追加 - API: ユーザーのリアクション一覧を取得する users/reactions を追加 - API: users/search および users/search-by-username-and-host を強化 diff --git a/src/client/scripts/theme.ts b/src/client/scripts/theme.ts index e79d54fa6d..ad1b033edf 100644 --- a/src/client/scripts/theme.ts +++ b/src/client/scripts/theme.ts @@ -20,6 +20,7 @@ export const builtinThemes = [ require('@client/themes/l-apricot.json5'), require('@client/themes/l-rainy.json5'), require('@client/themes/l-vivid.json5'), + require('@client/themes/l-sushi.json5'), require('@client/themes/d-dark.json5'), require('@client/themes/d-persimmon.json5'), diff --git a/src/client/themes/l-sushi.json5 b/src/client/themes/l-sushi.json5 new file mode 100644 index 0000000000..5846927d65 --- /dev/null +++ b/src/client/themes/l-sushi.json5 @@ -0,0 +1,18 @@ +{ + id: '213273e5-7d20-d5f0-6e36-1b6a4f67115c', + + name: 'Mi Sushi Light', + author: 'syuilo', + + base: 'light', + + props: { + accent: '#e36749', + bg: '#f0eee9', + fg: '#5f5f5f', + renote: '@accent', + link: '@accent', + mention: '@accent', + hashtag: '#229e82', + }, +} -- cgit v1.2.3-freya From 4a90c7aef8df42a2337e6318d3cde4941130f81e Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 17 Oct 2021 21:23:15 +0900 Subject: fix(client): テーマの管理が行えない問題を修正 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + src/client/pages/settings/theme.manage.vue | 14 +++++++------- 2 files changed, 8 insertions(+), 7 deletions(-) (limited to 'src/client') diff --git a/CHANGELOG.md b/CHANGELOG.md index d2889b07bc..c58886e0b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ - API: users/search および users/search-by-username-and-host を強化 ### Bugfixes +- クライアント: テーマの管理が行えない問題を修正 ## 12.92.0 (2021/10/16) diff --git a/src/client/pages/settings/theme.manage.vue b/src/client/pages/settings/theme.manage.vue index da21a47a50..1a11a664f0 100644 --- a/src/client/pages/settings/theme.manage.vue +++ b/src/client/pages/settings/theme.manage.vue @@ -10,13 +10,13 @@ diff --git a/src/client/components/number-diff.vue b/src/client/components/number-diff.vue new file mode 100644 index 0000000000..ba7e6964de --- /dev/null +++ b/src/client/components/number-diff.vue @@ -0,0 +1,47 @@ + + + + + diff --git a/src/client/pages/instance-info.vue b/src/client/pages/instance-info.vue index 4fbf104f0c..7a4cd5f016 100644 --- a/src/client/pages/instance-info.vue +++ b/src/client/pages/instance-info.vue @@ -65,17 +65,17 @@
- - - - - - - - - - - + + + + + + + + + + + @@ -83,7 +83,7 @@
- +
@@ -135,7 +135,7 @@ + + diff --git a/src/client/pages/instance/queue.chart.vue b/src/client/pages/instance/queue.chart.vue index 887fe9a574..4f8fd762bb 100644 --- a/src/client/pages/instance/queue.chart.vue +++ b/src/client/pages/instance/queue.chart.vue @@ -67,7 +67,7 @@ export default defineComponent({ // TODO: var(--panel)の色が暗いか明るいかで判定する const gridColor = this.$store.state.darkMode ? 'rgba(255, 255, 255, 0.1)' : 'rgba(0, 0, 0, 0.1)'; - Chart.defaults.global.defaultFontColor = getComputedStyle(document.documentElement).getPropertyValue('--fg'); + Chart.defaults.color = getComputedStyle(document.documentElement).getPropertyValue('--fg'); this.chart = markRaw(new Chart(this.$refs.chart, { type: 'line', diff --git a/src/client/scripts/hpml/lib.ts b/src/client/scripts/hpml/lib.ts index 150a04732f..200faf820b 100644 --- a/src/client/scripts/hpml/lib.ts +++ b/src/client/scripts/hpml/lib.ts @@ -1,11 +1,11 @@ import * as tinycolor from 'tinycolor2'; -import Chart from 'chart.js'; import { Hpml } from './evaluator'; import { values, utils } from '@syuilo/aiscript'; import { Fn, HpmlScope } from '.'; import { Expr } from './expr'; import * as seedrandom from 'seedrandom'; +/* // https://stackoverflow.com/questions/38493564/chart-area-background-color-chartjs Chart.pluginService.register({ beforeDraw: (chart, easing) => { @@ -18,6 +18,7 @@ Chart.pluginService.register({ } } }); +*/ export function initAiLib(hpml: Hpml) { return { @@ -49,11 +50,12 @@ export function initAiLib(hpml: Hpml) { ])); }), 'MkPages:chart': values.FN_NATIVE(([id, opts]) => { + /* TODO utils.assertString(id); utils.assertObject(opts); const canvas = hpml.canvases[id.value]; const color = getComputedStyle(document.documentElement).getPropertyValue('--accent'); - Chart.defaults.global.defaultFontColor = '#555'; + Chart.defaults.color = '#555'; const chart = new Chart(canvas, { type: opts.value.get('type').value, data: { @@ -122,6 +124,7 @@ export function initAiLib(hpml: Hpml) { }) } }); + */ }) }; } diff --git a/src/queue/index.ts b/src/queue/index.ts index 43c062bae7..37eb809604 100644 --- a/src/queue/index.ts +++ b/src/queue/index.ts @@ -10,7 +10,7 @@ import procesObjectStorage from './processors/object-storage/index'; import { queueLogger } from './logger'; import { DriveFile } from '@/models/entities/drive-file'; import { getJobInfo } from './get-job-info'; -import { dbQueue, deliverQueue, inboxQueue, objectStorageQueue } from './queues'; +import { systemQueue, dbQueue, deliverQueue, inboxQueue, objectStorageQueue } from './queues'; import { ThinUser } from './types'; import { IActivity } from '@/remote/activitypub/type'; @@ -22,11 +22,20 @@ function renderError(e: Error): any { }; } +const systemLogger = queueLogger.createSubLogger('system'); const deliverLogger = queueLogger.createSubLogger('deliver'); const inboxLogger = queueLogger.createSubLogger('inbox'); const dbLogger = queueLogger.createSubLogger('db'); const objectStorageLogger = queueLogger.createSubLogger('objectStorage'); +systemQueue + .on('waiting', (jobId) => systemLogger.debug(`waiting id=${jobId}`)) + .on('active', (job) => systemLogger.debug(`active id=${job.id}`)) + .on('completed', (job, result) => systemLogger.debug(`completed(${result}) id=${job.id}`)) + .on('failed', (job, err) => systemLogger.warn(`failed(${err}) id=${job.id}`, { job, e: renderError(err) })) + .on('error', (job: any, err: Error) => systemLogger.error(`error ${err}`, { job, e: renderError(err) })) + .on('stalled', (job) => systemLogger.warn(`stalled id=${job.id}`)); + deliverQueue .on('waiting', (jobId) => deliverLogger.debug(`waiting id=${jobId}`)) .on('active', (job) => deliverLogger.debug(`active ${getJobInfo(job, true)} to=${job.data.to}`)) @@ -220,12 +229,17 @@ export function createCleanRemoteFilesJob() { } export default function() { - if (!envOption.onlyServer) { - deliverQueue.process(config.deliverJobConcurrency || 128, processDeliver); - inboxQueue.process(config.inboxJobConcurrency || 16, processInbox); - processDb(dbQueue); - procesObjectStorage(objectStorageQueue); - } + if (envOption.onlyServer) return; + + deliverQueue.process(config.deliverJobConcurrency || 128, processDeliver); + inboxQueue.process(config.inboxJobConcurrency || 16, processInbox); + processDb(dbQueue); + procesObjectStorage(objectStorageQueue); + + systemQueue.add('resyncCharts', { + }, { + repeat: { cron: '0 0 * * *' } + }); } export function destroy() { diff --git a/src/queue/processors/system/index.ts b/src/queue/processors/system/index.ts new file mode 100644 index 0000000000..52b7868105 --- /dev/null +++ b/src/queue/processors/system/index.ts @@ -0,0 +1,12 @@ +import * as Bull from 'bull'; +import { resyncCharts } from './resync-charts'; + +const jobs = { + resyncCharts, +} as Record | Bull.ProcessPromiseFunction<{}>>; + +export default function(dbQueue: Bull.Queue<{}>) { + for (const [k, v] of Object.entries(jobs)) { + dbQueue.process(k, v); + } +} diff --git a/src/queue/processors/system/resync-charts.ts b/src/queue/processors/system/resync-charts.ts new file mode 100644 index 0000000000..b36b024cfb --- /dev/null +++ b/src/queue/processors/system/resync-charts.ts @@ -0,0 +1,21 @@ +import * as Bull from 'bull'; + +import { queueLogger } from '../../logger'; +import { driveChart, notesChart, usersChart } from '@/services/chart/index'; + +const logger = queueLogger.createSubLogger('resync-charts'); + +export default async function resyncCharts(job: Bull.Job<{}>, done: any): Promise { + logger.info(`Resync charts...`); + + // TODO: ユーザーごとのチャートも更新する + // TODO: インスタンスごとのチャートも更新する + await Promise.all([ + driveChart.resync(), + notesChart.resync(), + usersChart.resync(), + ]); + + logger.succ(`All charts successfully resynced.`); + done(); +} diff --git a/src/queue/queues.ts b/src/queue/queues.ts index d8c09ef86e..a66a7ca451 100644 --- a/src/queue/queues.ts +++ b/src/queue/queues.ts @@ -2,6 +2,7 @@ import config from '@/config/index'; import { initialize as initializeQueue } from './initialize'; import { DeliverJobData, InboxJobData, DbJobData, ObjectStorageJobData } from './types'; +export const systemQueue = initializeQueue<{}>('system'); export const deliverQueue = initializeQueue('deliver', config.deliverJobPerSec || 128); export const inboxQueue = initializeQueue('inbox', config.inboxJobPerSec || 16); export const dbQueue = initializeQueue('db'); diff --git a/src/server/api/endpoints/admin/resync-chart.ts b/src/server/api/endpoints/admin/resync-chart.ts index b0e687333f..e01dfce1b6 100644 --- a/src/server/api/endpoints/admin/resync-chart.ts +++ b/src/server/api/endpoints/admin/resync-chart.ts @@ -1,5 +1,5 @@ import define from '../../define'; -import { driveChart, notesChart, usersChart, instanceChart } from '@/services/chart/index'; +import { driveChart, notesChart, usersChart } from '@/services/chart/index'; import { insertModerationLog } from '@/services/insert-moderation-log'; export const meta = { @@ -15,7 +15,7 @@ export default define(meta, async (ps, me) => { driveChart.resync(); notesChart.resync(); usersChart.resync(); - instanceChart.resync(); // TODO: ユーザーごとのチャートもキューに入れて更新する + // TODO: インスタンスごとのチャートもキューに入れて更新する }); diff --git a/yarn.lock b/yarn.lock index e2140e185a..449390a6a2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2664,28 +2664,22 @@ character-parser@^2.2.0: dependencies: is-regex "^1.0.3" -chart.js@2.9.4: - version "2.9.4" - resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-2.9.4.tgz#0827f9563faffb2dc5c06562f8eb10337d5b9684" - integrity sha512-B07aAzxcrikjAPyV+01j7BmOpxtQETxTSlQ26BEYJ+3iUkbNKaOJ/nDbT6JjyqYxseM0ON12COHYdU2cTIjC7A== - dependencies: - chartjs-color "^2.1.0" - moment "^2.10.2" +chart.js@3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-3.5.1.tgz#73e24d23a4134a70ccdb5e79a917f156b6f3644a" + integrity sha512-m5kzt72I1WQ9LILwQC4syla/LD/N413RYv2Dx2nnTkRS9iv/ey1xLTt0DnPc/eWV4zI+BgEgDYBIzbQhZHc/PQ== -chartjs-color-string@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz#1df096621c0e70720a64f4135ea171d051402f71" - integrity sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A== - dependencies: - color-name "^1.0.0" +chartjs-adapter-date-fns@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/chartjs-adapter-date-fns/-/chartjs-adapter-date-fns-2.0.0.tgz#5e53b2f660b993698f936f509c86dddf9ed44c6b" + integrity sha512-rmZINGLe+9IiiEB0kb57vH3UugAtYw33anRiw5kS2Tu87agpetDDoouquycWc9pRsKtQo5j+vLsYHyr8etAvFw== -chartjs-color@^2.1.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/chartjs-color/-/chartjs-color-2.4.1.tgz#6118bba202fe1ea79dd7f7c0f9da93467296c3b0" - integrity sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w== +chartjs-plugin-zoom@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/chartjs-plugin-zoom/-/chartjs-plugin-zoom-1.1.1.tgz#8a28923a17fcb5eb57a0dc94c5113bf402677647" + integrity sha512-1q54WOzK7FtAjkbemQeqvmFUV0btNYIQny2HbQ6Awq9wUtCz7Zmj6vIgp3C1DYMQwN0nqgpC3vnApqiwI7cSdQ== dependencies: - chartjs-color-string "^0.6.0" - color-convert "^1.9.3" + hammerjs "^2.0.8" check-more-types@2.24.0, check-more-types@^2.24.0: version "2.24.0" @@ -2974,7 +2968,7 @@ collection-visit@^1.0.0: map-visit "^1.0.0" object-visit "^1.0.0" -color-convert@^1.3.0, color-convert@^1.9.0, color-convert@^1.9.3: +color-convert@^1.3.0, color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== @@ -3616,6 +3610,11 @@ data-urls@^2.0.0: whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" +date-fns@2.25.0: + version "2.25.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.25.0.tgz#8c5c8f1d958be3809a9a03f4b742eba894fc5680" + integrity sha512-ovYRFnTrbGPD4nqaEqescPEv1mNwvt+UTqI3Ay9SzNtey9NZnYu6E2qCcBBgJ6/2VF1zGGygpyTDITqpQQ5e+w== + date-fns@^2.16.1: version "2.19.0" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.19.0.tgz#65193348635a28d5d916c43ec7ce6fbd145059e1" @@ -5300,6 +5299,11 @@ gulplog@^1.0.0: dependencies: glogg "^1.0.0" +hammerjs@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/hammerjs/-/hammerjs-2.0.8.tgz#04ef77862cff2bb79d30f7692095930222bf60f1" + integrity sha1-BO93hiz/K7edMPdpIJWTAiK/YPE= + har-schema@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" @@ -7383,7 +7387,7 @@ moment-timezone@^0.5.25: dependencies: moment ">= 2.9.0" -"moment@>= 2.9.0", moment@^2.10.2, moment@^2.22.2: +"moment@>= 2.9.0", moment@^2.22.2: version "2.24.0" resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b" integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg== -- cgit v1.2.3-freya From 9d11c29c3b4bd8fe06ad6a4bce2f3d9cd6531ffe Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 22 Oct 2021 06:23:23 +0900 Subject: :art: --- src/client/components/form/input.vue | 2 +- src/client/components/form/select.vue | 65 +++++++++++++++++++++++++++++---- src/client/components/form/textarea.vue | 2 +- src/client/components/ui/menu.vue | 5 +++ src/client/components/ui/popup-menu.vue | 6 ++- src/client/os.ts | 7 +++- 6 files changed, 75 insertions(+), 12 deletions(-) (limited to 'src/client') diff --git a/src/client/components/form/input.vue b/src/client/components/form/input.vue index d7b6f77519..591eda9ed5 100644 --- a/src/client/components/form/input.vue +++ b/src/client/components/form/input.vue @@ -33,7 +33,7 @@ + + diff --git a/src/client/pages/admin/ads.vue b/src/client/pages/admin/ads.vue new file mode 100644 index 0000000000..e776f99a4c --- /dev/null +++ b/src/client/pages/admin/ads.vue @@ -0,0 +1,146 @@ + + + + + diff --git a/src/client/pages/admin/announcements.vue b/src/client/pages/admin/announcements.vue new file mode 100644 index 0000000000..78637c095a --- /dev/null +++ b/src/client/pages/admin/announcements.vue @@ -0,0 +1,134 @@ + + + + + diff --git a/src/client/pages/admin/bot-protection.vue b/src/client/pages/admin/bot-protection.vue new file mode 100644 index 0000000000..731f114cc2 --- /dev/null +++ b/src/client/pages/admin/bot-protection.vue @@ -0,0 +1,138 @@ + + + diff --git a/src/client/pages/admin/database.vue b/src/client/pages/admin/database.vue new file mode 100644 index 0000000000..ffbeed8b30 --- /dev/null +++ b/src/client/pages/admin/database.vue @@ -0,0 +1,61 @@ + + + diff --git a/src/client/pages/admin/email-settings.vue b/src/client/pages/admin/email-settings.vue new file mode 100644 index 0000000000..ebf724fcdd --- /dev/null +++ b/src/client/pages/admin/email-settings.vue @@ -0,0 +1,128 @@ + + + diff --git a/src/client/pages/admin/emoji-edit-dialog.vue b/src/client/pages/admin/emoji-edit-dialog.vue new file mode 100644 index 0000000000..4854c69884 --- /dev/null +++ b/src/client/pages/admin/emoji-edit-dialog.vue @@ -0,0 +1,120 @@ + + + + + diff --git a/src/client/pages/admin/emojis.vue b/src/client/pages/admin/emojis.vue new file mode 100644 index 0000000000..4cd34b046d --- /dev/null +++ b/src/client/pages/admin/emojis.vue @@ -0,0 +1,262 @@ + + + + + diff --git a/src/client/pages/admin/file-dialog.vue b/src/client/pages/admin/file-dialog.vue new file mode 100644 index 0000000000..02d83e5022 --- /dev/null +++ b/src/client/pages/admin/file-dialog.vue @@ -0,0 +1,129 @@ + + + + + diff --git a/src/client/pages/admin/files-settings.vue b/src/client/pages/admin/files-settings.vue new file mode 100644 index 0000000000..8aefa9e90d --- /dev/null +++ b/src/client/pages/admin/files-settings.vue @@ -0,0 +1,93 @@ + + + diff --git a/src/client/pages/admin/files.vue b/src/client/pages/admin/files.vue new file mode 100644 index 0000000000..55189cfd84 --- /dev/null +++ b/src/client/pages/admin/files.vue @@ -0,0 +1,209 @@ + + + + + diff --git a/src/client/pages/admin/index.vue b/src/client/pages/admin/index.vue new file mode 100644 index 0000000000..7094f2d4bf --- /dev/null +++ b/src/client/pages/admin/index.vue @@ -0,0 +1,373 @@ + + + + + diff --git a/src/client/pages/admin/instance-block.vue b/src/client/pages/admin/instance-block.vue new file mode 100644 index 0000000000..105cdb4941 --- /dev/null +++ b/src/client/pages/admin/instance-block.vue @@ -0,0 +1,72 @@ + + + diff --git a/src/client/pages/admin/instance.vue b/src/client/pages/admin/instance.vue new file mode 100644 index 0000000000..5572fbbf75 --- /dev/null +++ b/src/client/pages/admin/instance.vue @@ -0,0 +1,321 @@ + + + + + diff --git a/src/client/pages/admin/integrations-discord.vue b/src/client/pages/admin/integrations-discord.vue new file mode 100644 index 0000000000..c33b24f17f --- /dev/null +++ b/src/client/pages/admin/integrations-discord.vue @@ -0,0 +1,85 @@ + + + diff --git a/src/client/pages/admin/integrations-github.vue b/src/client/pages/admin/integrations-github.vue new file mode 100644 index 0000000000..cdf85868ff --- /dev/null +++ b/src/client/pages/admin/integrations-github.vue @@ -0,0 +1,85 @@ + + + diff --git a/src/client/pages/admin/integrations-twitter.vue b/src/client/pages/admin/integrations-twitter.vue new file mode 100644 index 0000000000..ed7d097d0a --- /dev/null +++ b/src/client/pages/admin/integrations-twitter.vue @@ -0,0 +1,85 @@ + + + diff --git a/src/client/pages/admin/integrations.vue b/src/client/pages/admin/integrations.vue new file mode 100644 index 0000000000..bdc2cec4d0 --- /dev/null +++ b/src/client/pages/admin/integrations.vue @@ -0,0 +1,74 @@ + + + diff --git a/src/client/pages/admin/logs.vue b/src/client/pages/admin/logs.vue new file mode 100644 index 0000000000..74aea0fc45 --- /dev/null +++ b/src/client/pages/admin/logs.vue @@ -0,0 +1,97 @@ + + + diff --git a/src/client/pages/admin/metrics.vue b/src/client/pages/admin/metrics.vue new file mode 100644 index 0000000000..da36f6c688 --- /dev/null +++ b/src/client/pages/admin/metrics.vue @@ -0,0 +1,472 @@ + + + + + diff --git a/src/client/pages/admin/object-storage.vue b/src/client/pages/admin/object-storage.vue new file mode 100644 index 0000000000..2d765270e6 --- /dev/null +++ b/src/client/pages/admin/object-storage.vue @@ -0,0 +1,155 @@ + + + diff --git a/src/client/pages/admin/other-settings.vue b/src/client/pages/admin/other-settings.vue new file mode 100644 index 0000000000..4e55df41fb --- /dev/null +++ b/src/client/pages/admin/other-settings.vue @@ -0,0 +1,83 @@ + + + diff --git a/src/client/pages/admin/overview.vue b/src/client/pages/admin/overview.vue new file mode 100644 index 0000000000..327a6492e6 --- /dev/null +++ b/src/client/pages/admin/overview.vue @@ -0,0 +1,188 @@ + + + + + diff --git a/src/client/pages/admin/proxy-account.vue b/src/client/pages/admin/proxy-account.vue new file mode 100644 index 0000000000..b1ece19710 --- /dev/null +++ b/src/client/pages/admin/proxy-account.vue @@ -0,0 +1,87 @@ + + + diff --git a/src/client/pages/admin/queue.chart.vue b/src/client/pages/admin/queue.chart.vue new file mode 100644 index 0000000000..4f8fd762bb --- /dev/null +++ b/src/client/pages/admin/queue.chart.vue @@ -0,0 +1,218 @@ + + + + + diff --git a/src/client/pages/admin/queue.vue b/src/client/pages/admin/queue.vue new file mode 100644 index 0000000000..f88825eb19 --- /dev/null +++ b/src/client/pages/admin/queue.vue @@ -0,0 +1,73 @@ + + + diff --git a/src/client/pages/admin/relays.vue b/src/client/pages/admin/relays.vue new file mode 100644 index 0000000000..7d7888eaa8 --- /dev/null +++ b/src/client/pages/admin/relays.vue @@ -0,0 +1,99 @@ + + + + + diff --git a/src/client/pages/admin/security.vue b/src/client/pages/admin/security.vue new file mode 100644 index 0000000000..4365b6800c --- /dev/null +++ b/src/client/pages/admin/security.vue @@ -0,0 +1,83 @@ + + + diff --git a/src/client/pages/admin/service-worker.vue b/src/client/pages/admin/service-worker.vue new file mode 100644 index 0000000000..430e02ad2e --- /dev/null +++ b/src/client/pages/admin/service-worker.vue @@ -0,0 +1,85 @@ + + + diff --git a/src/client/pages/admin/settings.vue b/src/client/pages/admin/settings.vue new file mode 100644 index 0000000000..7bd363e5f3 --- /dev/null +++ b/src/client/pages/admin/settings.vue @@ -0,0 +1,151 @@ + + + diff --git a/src/client/pages/admin/users.vue b/src/client/pages/admin/users.vue new file mode 100644 index 0000000000..f7f9306b70 --- /dev/null +++ b/src/client/pages/admin/users.vue @@ -0,0 +1,261 @@ + + + + + diff --git a/src/client/pages/instance-info.vue b/src/client/pages/instance-info.vue index 7a4cd5f016..291ceb5dfd 100644 --- a/src/client/pages/instance-info.vue +++ b/src/client/pages/instance-info.vue @@ -149,7 +149,7 @@ import * as os from '@client/os'; import number from '@client/filters/number'; import bytes from '@client/filters/bytes'; import * as symbols from '@client/symbols'; -import MkInstanceInfo from '@client/pages/instance/instance.vue'; +import MkInstanceInfo from '@client/pages/admin/instance.vue'; export default defineComponent({ components: { diff --git a/src/client/pages/instance/abuses.vue b/src/client/pages/instance/abuses.vue deleted file mode 100644 index 29da8cc2c5..0000000000 --- a/src/client/pages/instance/abuses.vue +++ /dev/null @@ -1,170 +0,0 @@ - - - - - diff --git a/src/client/pages/instance/ads.vue b/src/client/pages/instance/ads.vue deleted file mode 100644 index e776f99a4c..0000000000 --- a/src/client/pages/instance/ads.vue +++ /dev/null @@ -1,146 +0,0 @@ - - - - - diff --git a/src/client/pages/instance/announcements.vue b/src/client/pages/instance/announcements.vue deleted file mode 100644 index 78637c095a..0000000000 --- a/src/client/pages/instance/announcements.vue +++ /dev/null @@ -1,134 +0,0 @@ - - - - - diff --git a/src/client/pages/instance/bot-protection.vue b/src/client/pages/instance/bot-protection.vue deleted file mode 100644 index 731f114cc2..0000000000 --- a/src/client/pages/instance/bot-protection.vue +++ /dev/null @@ -1,138 +0,0 @@ - - - diff --git a/src/client/pages/instance/database.vue b/src/client/pages/instance/database.vue deleted file mode 100644 index ffbeed8b30..0000000000 --- a/src/client/pages/instance/database.vue +++ /dev/null @@ -1,61 +0,0 @@ - - - diff --git a/src/client/pages/instance/email-settings.vue b/src/client/pages/instance/email-settings.vue deleted file mode 100644 index ebf724fcdd..0000000000 --- a/src/client/pages/instance/email-settings.vue +++ /dev/null @@ -1,128 +0,0 @@ - - - diff --git a/src/client/pages/instance/emoji-edit-dialog.vue b/src/client/pages/instance/emoji-edit-dialog.vue deleted file mode 100644 index 4854c69884..0000000000 --- a/src/client/pages/instance/emoji-edit-dialog.vue +++ /dev/null @@ -1,120 +0,0 @@ - - - - - diff --git a/src/client/pages/instance/emojis.vue b/src/client/pages/instance/emojis.vue deleted file mode 100644 index 4cd34b046d..0000000000 --- a/src/client/pages/instance/emojis.vue +++ /dev/null @@ -1,262 +0,0 @@ - - - - - diff --git a/src/client/pages/instance/file-dialog.vue b/src/client/pages/instance/file-dialog.vue deleted file mode 100644 index 02d83e5022..0000000000 --- a/src/client/pages/instance/file-dialog.vue +++ /dev/null @@ -1,129 +0,0 @@ - - - - - diff --git a/src/client/pages/instance/files-settings.vue b/src/client/pages/instance/files-settings.vue deleted file mode 100644 index 8aefa9e90d..0000000000 --- a/src/client/pages/instance/files-settings.vue +++ /dev/null @@ -1,93 +0,0 @@ - - - diff --git a/src/client/pages/instance/files.vue b/src/client/pages/instance/files.vue deleted file mode 100644 index 55189cfd84..0000000000 --- a/src/client/pages/instance/files.vue +++ /dev/null @@ -1,209 +0,0 @@ - - - - - diff --git a/src/client/pages/instance/index.vue b/src/client/pages/instance/index.vue deleted file mode 100644 index 7b07bf2dde..0000000000 --- a/src/client/pages/instance/index.vue +++ /dev/null @@ -1,373 +0,0 @@ - - - - - diff --git a/src/client/pages/instance/instance-block.vue b/src/client/pages/instance/instance-block.vue deleted file mode 100644 index 105cdb4941..0000000000 --- a/src/client/pages/instance/instance-block.vue +++ /dev/null @@ -1,72 +0,0 @@ - - - diff --git a/src/client/pages/instance/instance.vue b/src/client/pages/instance/instance.vue deleted file mode 100644 index 5572fbbf75..0000000000 --- a/src/client/pages/instance/instance.vue +++ /dev/null @@ -1,321 +0,0 @@ - - - - - diff --git a/src/client/pages/instance/integrations-discord.vue b/src/client/pages/instance/integrations-discord.vue deleted file mode 100644 index c33b24f17f..0000000000 --- a/src/client/pages/instance/integrations-discord.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - diff --git a/src/client/pages/instance/integrations-github.vue b/src/client/pages/instance/integrations-github.vue deleted file mode 100644 index cdf85868ff..0000000000 --- a/src/client/pages/instance/integrations-github.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - diff --git a/src/client/pages/instance/integrations-twitter.vue b/src/client/pages/instance/integrations-twitter.vue deleted file mode 100644 index ed7d097d0a..0000000000 --- a/src/client/pages/instance/integrations-twitter.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - diff --git a/src/client/pages/instance/integrations.vue b/src/client/pages/instance/integrations.vue deleted file mode 100644 index 6964ae5704..0000000000 --- a/src/client/pages/instance/integrations.vue +++ /dev/null @@ -1,74 +0,0 @@ - - - diff --git a/src/client/pages/instance/logs.vue b/src/client/pages/instance/logs.vue deleted file mode 100644 index 74aea0fc45..0000000000 --- a/src/client/pages/instance/logs.vue +++ /dev/null @@ -1,97 +0,0 @@ - - - diff --git a/src/client/pages/instance/metrics.vue b/src/client/pages/instance/metrics.vue deleted file mode 100644 index da36f6c688..0000000000 --- a/src/client/pages/instance/metrics.vue +++ /dev/null @@ -1,472 +0,0 @@ - - - - - diff --git a/src/client/pages/instance/object-storage.vue b/src/client/pages/instance/object-storage.vue deleted file mode 100644 index 2d765270e6..0000000000 --- a/src/client/pages/instance/object-storage.vue +++ /dev/null @@ -1,155 +0,0 @@ - - - diff --git a/src/client/pages/instance/other-settings.vue b/src/client/pages/instance/other-settings.vue deleted file mode 100644 index 4e55df41fb..0000000000 --- a/src/client/pages/instance/other-settings.vue +++ /dev/null @@ -1,83 +0,0 @@ - - - diff --git a/src/client/pages/instance/overview.vue b/src/client/pages/instance/overview.vue deleted file mode 100644 index 327a6492e6..0000000000 --- a/src/client/pages/instance/overview.vue +++ /dev/null @@ -1,188 +0,0 @@ - - - - - diff --git a/src/client/pages/instance/proxy-account.vue b/src/client/pages/instance/proxy-account.vue deleted file mode 100644 index b1ece19710..0000000000 --- a/src/client/pages/instance/proxy-account.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/src/client/pages/instance/queue.chart.vue b/src/client/pages/instance/queue.chart.vue deleted file mode 100644 index 4f8fd762bb..0000000000 --- a/src/client/pages/instance/queue.chart.vue +++ /dev/null @@ -1,218 +0,0 @@ - - - - - diff --git a/src/client/pages/instance/queue.vue b/src/client/pages/instance/queue.vue deleted file mode 100644 index f88825eb19..0000000000 --- a/src/client/pages/instance/queue.vue +++ /dev/null @@ -1,73 +0,0 @@ - - - diff --git a/src/client/pages/instance/relays.vue b/src/client/pages/instance/relays.vue deleted file mode 100644 index 7d7888eaa8..0000000000 --- a/src/client/pages/instance/relays.vue +++ /dev/null @@ -1,99 +0,0 @@ - - - - - diff --git a/src/client/pages/instance/security.vue b/src/client/pages/instance/security.vue deleted file mode 100644 index a854b6dbd0..0000000000 --- a/src/client/pages/instance/security.vue +++ /dev/null @@ -1,83 +0,0 @@ - - - diff --git a/src/client/pages/instance/service-worker.vue b/src/client/pages/instance/service-worker.vue deleted file mode 100644 index 430e02ad2e..0000000000 --- a/src/client/pages/instance/service-worker.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - diff --git a/src/client/pages/instance/settings.vue b/src/client/pages/instance/settings.vue deleted file mode 100644 index 7bd363e5f3..0000000000 --- a/src/client/pages/instance/settings.vue +++ /dev/null @@ -1,151 +0,0 @@ - - - diff --git a/src/client/pages/instance/users.vue b/src/client/pages/instance/users.vue deleted file mode 100644 index f7f9306b70..0000000000 --- a/src/client/pages/instance/users.vue +++ /dev/null @@ -1,261 +0,0 @@ - - - - - diff --git a/src/client/router.ts b/src/client/router.ts index 56dc948669..f588bb04fc 100644 --- a/src/client/router.ts +++ b/src/client/router.ts @@ -70,8 +70,8 @@ const defaultRoutes = [ { path: '/my/antennas/:antennaId', component: page('my-antennas/edit'), props: true }, { path: '/my/clips', component: page('my-clips/index') }, { path: '/scratchpad', component: page('scratchpad') }, - { path: '/instance/:page(.*)?', component: page('instance/index'), props: route => ({ initialPage: route.params.page || null }) }, - { path: '/instance', component: page('instance/index') }, + { path: '/admin/:page(.*)?', component: page('admin/index'), props: route => ({ initialPage: route.params.page || null }) }, + { path: '/admin', component: page('admin/index') }, { path: '/notes/:note', name: 'note', component: page('note'), props: route => ({ noteId: route.params.note }) }, { path: '/tags/:tag', component: page('tag'), props: route => ({ tag: route.params.tag }) }, { path: '/user-info/:user', component: page('user-info'), props: route => ({ userId: route.params.user }) }, diff --git a/src/client/ui/_common_/sidebar.vue b/src/client/ui/_common_/sidebar.vue index d00327b096..ec2a17ab86 100644 --- a/src/client/ui/_common_/sidebar.vue +++ b/src/client/ui/_common_/sidebar.vue @@ -25,7 +25,7 @@
- + {{ $ts.instance }}