client: fix various lints

This commit is contained in:
Norm 2022-09-03 22:14:30 -04:00
parent 6c4655693e
commit d1f3353771
Signed by untrusted user: norm
GPG key ID: 7123E30E441E80DE
5 changed files with 44 additions and 41 deletions

View file

@ -1,12 +1,12 @@
<template> <template>
<MkContainer :naked="widgetProps.transparent" :show-header="false" class="mkw-aichan"> <MkContainer :naked="widgetProps.transparent" :show-header="false" class="mkw-aichan">
<iframe ref="live2d" class="dedjhjmo" src="https://misskey-dev.github.io/mascot-web/?scale=1.5&y=1.1&eyeY=100" @click="touched"></iframe> <iframe ref="live2d" class="dedjhjmo" src="https://misskey-dev.github.io/mascot-web/?scale=1.5&y=1.1&eyeY=100"></iframe>
</MkContainer> </MkContainer>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { onMounted, onUnmounted, reactive, ref } from 'vue'; import { onMounted, onUnmounted } from 'vue';
import { useWidgetPropsManager, Widget, WidgetComponentEmits, WidgetComponentExpose, WidgetComponentProps } from './widget'; import { useWidgetPropsManager, Widget, WidgetComponentExpose } from './widget';
import { GetFormResultType } from '@/scripts/form'; import { GetFormResultType } from '@/scripts/form';
const name = 'ai'; const name = 'ai';
@ -23,8 +23,12 @@ type WidgetProps = GetFormResultType<typeof widgetPropsDef>;
// vueimporttype // vueimporttype
//const props = defineProps<WidgetComponentProps<WidgetProps>>(); //const props = defineProps<WidgetComponentProps<WidgetProps>>();
//const emit = defineEmits<WidgetComponentEmits<WidgetProps>>(); //const emit = defineEmits<WidgetComponentEmits<WidgetProps>>();
const props = defineProps<{ widget?: Widget<WidgetProps>; }>(); const props = defineProps<{
const emit = defineEmits<{ (ev: 'updateProps', props: WidgetProps); }>(); widget?: Widget<WidgetProps>;
}>();
const emit = defineEmits<{
(ev: 'updateProps', widgetProps: WidgetProps);
}>();
const { widgetProps, configure } = useWidgetPropsManager(name, const { widgetProps, configure } = useWidgetPropsManager(name,
widgetPropsDef, widgetPropsDef,
@ -32,15 +36,11 @@ const { widgetProps, configure } = useWidgetPropsManager(name,
emit, emit,
); );
const live2d = ref<HTMLIFrameElement>(); const live2d: HTMLIFrameElement = $ref();
const touched = () => { const onMousemove = (ev: MouseEvent): void => {
//if (this.live2d) this.live2d.changeExpression('gurugurume'); const iframeRect = live2d.getBoundingClientRect();
}; live2d.contentWindow?.postMessage({
const onMousemove = (ev: MouseEvent) => {
const iframeRect = live2d.value.getBoundingClientRect();
live2d.value.contentWindow.postMessage({
type: 'moveCursor', type: 'moveCursor',
body: { body: {
x: ev.clientX - iframeRect.left, x: ev.clientX - iframeRect.left,

View file

@ -13,9 +13,9 @@
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { onMounted, onUnmounted, ref, watch } from 'vue'; import { ref } from 'vue';
import { AiScript, parse, utils } from '@syuilo/aiscript'; import { AiScript, parse, utils } from '@syuilo/aiscript';
import { useWidgetPropsManager, Widget, WidgetComponentEmits, WidgetComponentExpose, WidgetComponentProps } from './widget'; import { useWidgetPropsManager, Widget, WidgetComponentExpose } from './widget';
import { GetFormResultType } from '@/scripts/form'; import { GetFormResultType } from '@/scripts/form';
import * as os from '@/os'; import * as os from '@/os';
import MkContainer from '@/components/ui/container.vue'; import MkContainer from '@/components/ui/container.vue';
@ -43,8 +43,12 @@ type WidgetProps = GetFormResultType<typeof widgetPropsDef>;
// vueimporttype // vueimporttype
//const props = defineProps<WidgetComponentProps<WidgetProps>>(); //const props = defineProps<WidgetComponentProps<WidgetProps>>();
//const emit = defineEmits<WidgetComponentEmits<WidgetProps>>(); //const emit = defineEmits<WidgetComponentEmits<WidgetProps>>();
const props = defineProps<{ widget?: Widget<WidgetProps>; }>(); const props = defineProps<{
const emit = defineEmits<{ (ev: 'updateProps', props: WidgetProps); }>(); widget?: Widget<WidgetProps>;
}>();
const emit = defineEmits<{
(ev: 'updateProps', widgetProps: WidgetProps): void;
}>();
const { widgetProps, configure } = useWidgetPropsManager(name, const { widgetProps, configure } = useWidgetPropsManager(name,
widgetPropsDef, widgetPropsDef,
@ -58,7 +62,7 @@ const logs = ref<{
print: boolean; print: boolean;
}[]>([]); }[]>([]);
const run = async () => { const run = async (): Promise<void> => {
logs.value = []; logs.value = [];
const aiscript = new AiScript(createAiScriptEnv({ const aiscript = new AiScript(createAiScriptEnv({
storageKey: 'widget', storageKey: 'widget',
@ -68,7 +72,7 @@ const run = async () => {
return new Promise(ok => { return new Promise(ok => {
os.inputText({ os.inputText({
title: q, title: q,
}).then(({ canceled, result: a }) => { }).then(({ result: a }) => {
ok(a); ok(a);
}); });
}); });

View file

@ -7,9 +7,8 @@
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { onMounted, onUnmounted, ref, watch } from 'vue'; import { AiScript, parse } from '@syuilo/aiscript';
import { AiScript, parse, utils } from '@syuilo/aiscript'; import { useWidgetPropsManager, Widget, WidgetComponentExpose } from './widget';
import { useWidgetPropsManager, Widget, WidgetComponentEmits, WidgetComponentExpose, WidgetComponentProps } from './widget';
import { GetFormResultType } from '@/scripts/form'; import { GetFormResultType } from '@/scripts/form';
import * as os from '@/os'; import * as os from '@/os';
import { createAiScriptEnv } from '@/scripts/aiscript/api'; import { createAiScriptEnv } from '@/scripts/aiscript/api';
@ -39,8 +38,12 @@ type WidgetProps = GetFormResultType<typeof widgetPropsDef>;
// vueimporttype // vueimporttype
//const props = defineProps<WidgetComponentProps<WidgetProps>>(); //const props = defineProps<WidgetComponentProps<WidgetProps>>();
//const emit = defineEmits<WidgetComponentEmits<WidgetProps>>(); //const emit = defineEmits<WidgetComponentEmits<WidgetProps>>();
const props = defineProps<{ widget?: Widget<WidgetProps>; }>(); const props = defineProps<{
const emit = defineEmits<{ (ev: 'updateProps', props: WidgetProps); }>(); widget?: Widget<WidgetProps>;
}>();
const emit = defineEmits<{
(ev: 'updateProps', widgetProps: WidgetProps): void;
}>();
const { widgetProps, configure } = useWidgetPropsManager(name, const { widgetProps, configure } = useWidgetPropsManager(name,
widgetPropsDef, widgetPropsDef,
@ -48,7 +51,7 @@ const { widgetProps, configure } = useWidgetPropsManager(name,
emit, emit,
); );
const run = async () => { const run = async (): Promise<void> => {
const aiscript = new AiScript(createAiScriptEnv({ const aiscript = new AiScript(createAiScriptEnv({
storageKey: 'widget', storageKey: 'widget',
token: $i?.token, token: $i?.token,
@ -57,15 +60,15 @@ const run = async () => {
return new Promise(ok => { return new Promise(ok => {
os.inputText({ os.inputText({
title: q, title: q,
}).then(({ canceled, result: a }) => { }).then(({ result: a }) => {
ok(a); ok(a);
}); });
}); });
}, },
out: (value) => { out: (_value) => {
// nop // nop
}, },
log: (type, params) => { log: (_type, _params) => {
// nop // nop
}, },
}); });
@ -96,8 +99,3 @@ defineExpose<WidgetComponentExpose>({
id: props.widget ? props.widget.id : null, id: props.widget ? props.widget.id : null,
}); });
</script> </script>
<style lang="scss" scoped>
.mkw-button {
}
</style>

View file

@ -10,10 +10,9 @@
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { onMounted, onUnmounted, reactive, ref, watch } from 'vue'; import { ref, watch } from 'vue';
import { useWidgetPropsManager, Widget, WidgetComponentEmits, WidgetComponentExpose, WidgetComponentProps } from './widget'; import { useWidgetPropsManager, Widget, WidgetComponentExpose } from './widget';
import { GetFormResultType } from '@/scripts/form'; import { GetFormResultType } from '@/scripts/form';
import * as os from '@/os';
import MkContainer from '@/components/ui/container.vue'; import MkContainer from '@/components/ui/container.vue';
import { defaultStore } from '@/store'; import { defaultStore } from '@/store';
import { i18n } from '@/i18n'; import { i18n } from '@/i18n';
@ -33,7 +32,9 @@ type WidgetProps = GetFormResultType<typeof widgetPropsDef>;
//const props = defineProps<WidgetComponentProps<WidgetProps>>(); //const props = defineProps<WidgetComponentProps<WidgetProps>>();
//const emit = defineEmits<WidgetComponentEmits<WidgetProps>>(); //const emit = defineEmits<WidgetComponentEmits<WidgetProps>>();
const props = defineProps<{ widget?: Widget<WidgetProps>; }>(); const props = defineProps<{ widget?: Widget<WidgetProps>; }>();
const emit = defineEmits<{ (ev: 'updateProps', props: WidgetProps); }>(); const emit = defineEmits<{
(ev: 'updateProps', widgetProps: WidgetProps): void;
}>();
const { widgetProps, configure } = useWidgetPropsManager(name, const { widgetProps, configure } = useWidgetPropsManager(name,
widgetPropsDef, widgetPropsDef,
@ -43,14 +44,14 @@ const { widgetProps, configure } = useWidgetPropsManager(name,
const text = ref<string | null>(defaultStore.state.memo); const text = ref<string | null>(defaultStore.state.memo);
const changed = ref(false); const changed = ref(false);
let timeoutId; let timeoutId: number;
const saveMemo = () => { const saveMemo = (): void => {
defaultStore.set('memo', text.value); defaultStore.set('memo', text.value);
changed.value = false; changed.value = false;
}; };
const onChange = () => { const onChange = (): void => {
changed.value = true; changed.value = true;
window.clearTimeout(timeoutId); window.clearTimeout(timeoutId);
timeoutId = window.setTimeout(saveMemo, 1000); timeoutId = window.setTimeout(saveMemo, 1000);

View file

@ -11,7 +11,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import { defineAsyncComponent } from 'vue'; import { defineAsyncComponent } from 'vue';
import { useWidgetPropsManager, Widget, WidgetComponentEmits, WidgetComponentExpose, WidgetComponentProps } from './widget'; import { useWidgetPropsManager, Widget, WidgetComponentExpose } from './widget';
import { GetFormResultType } from '@/scripts/form'; import { GetFormResultType } from '@/scripts/form';
import MkContainer from '@/components/ui/container.vue'; import MkContainer from '@/components/ui/container.vue';
import XNotifications from '@/components/notifications.vue'; import XNotifications from '@/components/notifications.vue';