mirror of
https://git.joinsharkey.org/Sharkey/Sharkey.git
synced 2024-12-23 22:13:07 +02:00
Fix lint errors (except @typescript-eslint/prefer-nullish-coalescing
) (#9311)
* `yarn workspace client run lint --fix` * `eslint-disable-next-line no-var` for service worker self * A few more manual sw fixes * word change
This commit is contained in:
parent
bae7939d79
commit
8211893210
15 changed files with 25 additions and 21 deletions
|
@ -24,7 +24,7 @@ const emit = defineEmits<{
|
|||
const label = computed(() => {
|
||||
return concat([
|
||||
props.note.text ? [i18n.t('_cw.chars', { count: length(props.note.text) })] : [],
|
||||
props.note.files && props.note.files.length !== 0 ? [i18n.t('_cw.files', { count: props.note.files.length }) ] : [],
|
||||
props.note.files && props.note.files.length !== 0 ? [i18n.t('_cw.files', { count: props.note.files.length })] : [],
|
||||
props.note.poll != null ? [i18n.ts.poll] : []
|
||||
] as string[][]).join(' / ');
|
||||
});
|
||||
|
|
|
@ -105,7 +105,7 @@ export class Router extends EventEmitter<{
|
|||
function check(routes: RouteDef[], _parts: string[]): Resolved | null {
|
||||
forEachRouteLoop:
|
||||
for (const route of routes) {
|
||||
let parts = [ ..._parts ];
|
||||
let parts = [..._parts];
|
||||
const props = new Map<string, string>();
|
||||
|
||||
pathMatchLoop:
|
||||
|
|
|
@ -27,7 +27,7 @@ import { i18n } from '@/i18n';
|
|||
import MkInfo from '@/components/MkInfo.vue';
|
||||
import MkSuperMenu from '@/components/MkSuperMenu.vue';
|
||||
import { scroll } from '@/scripts/scroll';
|
||||
import { signout , $i } from '@/account';
|
||||
import { signout, $i } from '@/account';
|
||||
import { unisonReload } from '@/scripts/unison-reload';
|
||||
import { instance } from '@/instance';
|
||||
import { useRouter } from '@/router';
|
||||
|
|
|
@ -43,7 +43,7 @@ const installedThemes = ref(getThemes());
|
|||
const builtinThemes = getBuiltinThemesRef();
|
||||
const selectedThemeId = ref(null);
|
||||
|
||||
const themes = computed(() => [ ...installedThemes.value, ...builtinThemes.value ]);
|
||||
const themes = computed(() => [...installedThemes.value, ...builtinThemes.value]);
|
||||
|
||||
const selectedTheme = computed(() => {
|
||||
if (selectedThemeId.value == null) return null;
|
||||
|
|
|
@ -76,7 +76,7 @@ import FormButton from '@/components/MkButton.vue';
|
|||
import { getBuiltinThemesRef } from '@/scripts/theme';
|
||||
import { selectFile } from '@/scripts/select-file';
|
||||
import { isDeviceDarkmode } from '@/scripts/is-device-darkmode';
|
||||
import { ColdDeviceStorage , defaultStore } from '@/store';
|
||||
import { ColdDeviceStorage, defaultStore } from '@/store';
|
||||
import { i18n } from '@/i18n';
|
||||
import { instance } from '@/instance';
|
||||
import { uniqueBy } from '@/scripts/array';
|
||||
|
@ -92,7 +92,7 @@ const builtinDarkThemes = computed(() => builtinThemes.value.filter(t => t.base
|
|||
const instanceLightTheme = computed(() => instance.defaultLightTheme ? JSON5.parse(instance.defaultLightTheme) : null);
|
||||
const installedLightThemes = computed(() => installedThemes.value.filter(t => t.base === 'light' || t.kind === 'light'));
|
||||
const builtinLightThemes = computed(() => builtinThemes.value.filter(t => t.base === 'light' || t.kind === 'light'));
|
||||
const themes = computed(() => uniqueBy([ instanceDarkTheme.value, instanceLightTheme.value, ...builtinThemes.value, ...installedThemes.value ].filter(x => x != null), theme => theme.id));
|
||||
const themes = computed(() => uniqueBy([instanceDarkTheme.value, instanceLightTheme.value, ...builtinThemes.value, ...installedThemes.value].filter(x => x != null), theme => theme.id));
|
||||
|
||||
const darkTheme = ColdDeviceStorage.ref('darkTheme');
|
||||
const darkThemeId = computed({
|
||||
|
|
|
@ -37,7 +37,7 @@ function showMenu(ev: MouseEvent) {
|
|||
action: () => {
|
||||
chartSrc = 'per-user-notes';
|
||||
},
|
||||
},/*, {
|
||||
}, /*, {
|
||||
text: i18n.ts.following,
|
||||
action: () => {
|
||||
chartSrc = 'per-user-following';
|
||||
|
|
|
@ -54,7 +54,7 @@ export const toThemeString = (value: Color | Func | RefProp | RefConst | Css) =>
|
|||
|
||||
export const convertToMisskeyTheme = (vm: ThemeViewModel, name: string, desc: string, author: string, base: 'dark' | 'light'): Theme => {
|
||||
const props = { } as { [key: string]: string };
|
||||
for (const [ key, value ] of vm) {
|
||||
for (const [key, value] of vm) {
|
||||
if (value === null) continue;
|
||||
props[key] = toThemeString(value);
|
||||
}
|
||||
|
@ -68,13 +68,13 @@ export const convertToMisskeyTheme = (vm: ThemeViewModel, name: string, desc: st
|
|||
export const convertToViewModel = (theme: Theme): ThemeViewModel => {
|
||||
const vm: ThemeViewModel = [];
|
||||
// プロパティの登録
|
||||
vm.push(...themeProps.map(key => [ key, fromThemeString(theme.props[key])] as [ string, ThemeValue ]));
|
||||
vm.push(...themeProps.map(key => [key, fromThemeString(theme.props[key])] as [ string, ThemeValue ]));
|
||||
|
||||
// 定数の登録
|
||||
const consts = Object
|
||||
.keys(theme.props)
|
||||
.filter(k => k.startsWith('$'))
|
||||
.map(k => [ k, fromThemeString(theme.props[k]) ] as [ string, ThemeValue ]);
|
||||
.map(k => [k, fromThemeString(theme.props[k])] as [ string, ThemeValue ]);
|
||||
|
||||
vm.push(...consts);
|
||||
return vm;
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
|
||||
<script lang="ts" setup>
|
||||
import { onBeforeUnmount, onMounted, provide, Ref, watch } from 'vue';
|
||||
import { updateColumn, swapLeftColumn, swapRightColumn, swapUpColumn, swapDownColumn, stackLeftColumn, popRightColumn, removeColumn, swapColumn, Column , deckStore } from './deck-store';
|
||||
import { updateColumn, swapLeftColumn, swapRightColumn, swapUpColumn, swapDownColumn, stackLeftColumn, popRightColumn, removeColumn, swapColumn, Column, deckStore } from './deck-store';
|
||||
import * as os from '@/os';
|
||||
import { i18n } from '@/i18n';
|
||||
import { MenuItem } from '@/types/menu';
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<script lang="ts" setup>
|
||||
import { defineAsyncComponent } from 'vue';
|
||||
import XColumn from './column.vue';
|
||||
import { updateColumn , Column } from './deck-store';
|
||||
import { updateColumn, Column } from './deck-store';
|
||||
import XNotifications from '@/components/MkNotifications.vue';
|
||||
import * as os from '@/os';
|
||||
import { i18n } from '@/i18n';
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
/*
|
||||
* Notification manager for SW
|
||||
*/
|
||||
|
||||
// TODO: remove this declaration when https://github.com/microsoft/TypeScript/issues/11781 closes
|
||||
// eslint-disable-next-line no-var
|
||||
declare var self: ServiceWorkerGlobalScope;
|
||||
|
||||
import { swLang } from '@/scripts/lang';
|
||||
|
@ -40,7 +43,7 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data
|
|||
*/
|
||||
case 'notification':
|
||||
switch (data.body.type) {
|
||||
case 'follow':
|
||||
case 'follow': {
|
||||
// users/showの型定義をswos.apiへ当てはめるのが困難なのでapiFetch.requestを直接使用
|
||||
const account = await getAccountFromId(data.userId);
|
||||
if (!account) return null;
|
||||
|
@ -57,6 +60,7 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data
|
|||
}
|
||||
],
|
||||
}];
|
||||
}
|
||||
|
||||
case 'mention':
|
||||
return [t('_notification.youGotMention', { name: getUserName(data.body.user) }), {
|
||||
|
@ -120,7 +124,7 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data
|
|||
],
|
||||
}];
|
||||
|
||||
case 'reaction':
|
||||
case 'reaction': {
|
||||
let reaction = data.body.reaction;
|
||||
let badge: string | undefined;
|
||||
|
||||
|
@ -150,7 +154,6 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data
|
|||
badge = `/twemoji-badge/${char2fileName(reaction)}.png`;
|
||||
}
|
||||
|
||||
|
||||
if (badge ? await fetch(badge).then(res => res.status !== 200).catch(() => true) : true) {
|
||||
badge = iconUrl('plus');
|
||||
}
|
||||
|
@ -167,6 +170,7 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data
|
|||
}
|
||||
],
|
||||
}];
|
||||
}
|
||||
|
||||
case 'pollVote':
|
||||
return [t('_notification.youGotPoll', { name: getUserName(data.body.user) }), {
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
/*
|
||||
* Language manager for SW
|
||||
*/
|
||||
declare var self: ServiceWorkerGlobalScope;
|
||||
|
||||
import { get, set } from 'idb-keyval';
|
||||
import { I18n } from '@/scripts/i18n';
|
||||
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
declare var self: ServiceWorkerGlobalScope;
|
||||
|
||||
import { get } from 'idb-keyval';
|
||||
import { pushNotificationDataMap } from '@/types';
|
||||
import { api } from '@/scripts/operations';
|
||||
|
|
|
@ -2,6 +2,9 @@
|
|||
* Operations
|
||||
* 各種操作
|
||||
*/
|
||||
|
||||
// TODO: remove this declaration when https://github.com/microsoft/TypeScript/issues/11781 closes
|
||||
// eslint-disable-next-line no-var
|
||||
declare var self: ServiceWorkerGlobalScope;
|
||||
|
||||
import * as Misskey from 'misskey-js';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
export function query(obj: {}): string {
|
||||
export function query(obj: object): string {
|
||||
const params = Object.entries(obj)
|
||||
.filter(([, v]) => Array.isArray(v) ? v.length : v !== undefined)
|
||||
.reduce((a, [k, v]) => (a[k] = v, a), {} as Record<string, any>);
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
// TODO: remove this declaration when https://github.com/microsoft/TypeScript/issues/11781 closes
|
||||
// eslint-disable-next-line no-var
|
||||
declare var self: ServiceWorkerGlobalScope;
|
||||
|
||||
import { createEmptyNotification, createNotification } from '@/scripts/create-notification';
|
||||
|
@ -176,7 +178,6 @@ self.addEventListener('notificationclick', <K extends keyof pushNotificationData
|
|||
}
|
||||
|
||||
notification.close();
|
||||
|
||||
})());
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in a new issue