style: add missing trailing commas (#9387)
This commit is contained in:
parent
9314ceae36
commit
f1fd1d2585
@ -50,7 +50,7 @@ function send() {
|
||||
}, undefined).then(res => {
|
||||
os.alert({
|
||||
type: 'success',
|
||||
text: i18n.ts.abuseReported
|
||||
text: i18n.ts.abuseReported,
|
||||
});
|
||||
uiWindow.value?.close();
|
||||
emit('closed');
|
||||
|
@ -86,7 +86,7 @@ for (const x of customEmojis) {
|
||||
name: x.name,
|
||||
emoji: `:${x.name}:`,
|
||||
url: x.url,
|
||||
isCustomEmoji: true
|
||||
isCustomEmoji: true,
|
||||
});
|
||||
|
||||
if (x.aliases) {
|
||||
@ -96,7 +96,7 @@ for (const x of customEmojis) {
|
||||
aliasOf: x.name,
|
||||
emoji: `:${x.name}:`,
|
||||
url: x.url,
|
||||
isCustomEmoji: true
|
||||
isCustomEmoji: true,
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -193,7 +193,7 @@ function exec() {
|
||||
os.api('users/search-by-username-and-host', {
|
||||
username: props.q,
|
||||
limit: 10,
|
||||
detail: false
|
||||
detail: false,
|
||||
}).then(searchedUsers => {
|
||||
users.value = searchedUsers as any[];
|
||||
fetching.value = false;
|
||||
@ -215,7 +215,7 @@ function exec() {
|
||||
} else {
|
||||
os.api('hashtags/search', {
|
||||
query: props.q,
|
||||
limit: 30
|
||||
limit: 30,
|
||||
}).then(searchedHashtags => {
|
||||
hashtags.value = searchedHashtags as any[];
|
||||
fetching.value = false;
|
||||
|
@ -18,7 +18,7 @@ const users = ref([]);
|
||||
|
||||
onMounted(async () => {
|
||||
users.value = await os.api('users/show', {
|
||||
userIds: props.userIds
|
||||
userIds: props.userIds,
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
@ -25,7 +25,7 @@ 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.poll != null ? [i18n.ts.poll] : []
|
||||
props.note.poll != null ? [i18n.ts.poll] : [],
|
||||
] as string[][]).join(' / ');
|
||||
});
|
||||
|
||||
|
@ -109,7 +109,7 @@ function onDrop(ev: DragEvent) {
|
||||
emit('removeFile', file.id);
|
||||
os.api('drive/files/update', {
|
||||
fileId: file.id,
|
||||
folderId: props.folder ? props.folder.id : null
|
||||
folderId: props.folder ? props.folder.id : null,
|
||||
});
|
||||
}
|
||||
//#endregion
|
||||
@ -123,7 +123,7 @@ function onDrop(ev: DragEvent) {
|
||||
emit('removeFolder', folder.id);
|
||||
os.api('drive/folders/update', {
|
||||
folderId: folder.id,
|
||||
parentId: props.folder ? props.folder.id : null
|
||||
parentId: props.folder ? props.folder.id : null,
|
||||
});
|
||||
}
|
||||
//#endregion
|
||||
|
@ -32,12 +32,12 @@ export default defineComponent({
|
||||
expanded: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: true
|
||||
default: true,
|
||||
},
|
||||
persistKey: {
|
||||
type: String,
|
||||
required: false,
|
||||
default: null
|
||||
default: null,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
@ -51,7 +51,7 @@ export default defineComponent({
|
||||
if (this.persistKey) {
|
||||
localStorage.setItem(localStoragePrefix + this.persistKey, this.showBody ? 't' : 'f');
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
function getParentBg(el: Element | null): string {
|
||||
@ -91,7 +91,7 @@ export default defineComponent({
|
||||
afterLeave(el) {
|
||||
el.style.height = null;
|
||||
},
|
||||
}
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -12,20 +12,20 @@ export default defineComponent({
|
||||
props: {
|
||||
formula: {
|
||||
type: String,
|
||||
required: true
|
||||
required: true,
|
||||
},
|
||||
block: {
|
||||
type: Boolean,
|
||||
required: true
|
||||
}
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
compiledFormula(): any {
|
||||
return katex.renderToString(this.formula, {
|
||||
throwOnError: false
|
||||
throwOnError: false,
|
||||
} as any);
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -70,7 +70,7 @@ function subscribe() {
|
||||
// SEE: https://developer.mozilla.org/en-US/docs/Web/API/PushManager/subscribe#Parameters
|
||||
return promiseDialog(registration.pushManager.subscribe({
|
||||
userVisibleOnly: true,
|
||||
applicationServerKey: urlBase64ToUint8Array(instance.swPublickey)
|
||||
applicationServerKey: urlBase64ToUint8Array(instance.swPublickey),
|
||||
})
|
||||
.then(async subscription => {
|
||||
pushSubscription = subscription;
|
||||
@ -79,7 +79,7 @@ function subscribe() {
|
||||
pushRegistrationInServer = await api('sw/register', {
|
||||
endpoint: subscription.endpoint,
|
||||
auth: encode(subscription.getKey('auth')),
|
||||
publickey: encode(subscription.getKey('p256dh'))
|
||||
publickey: encode(subscription.getKey('p256dh')),
|
||||
});
|
||||
}, async err => { // When subscribe failed
|
||||
// 通知が許可されていなかったとき
|
||||
|
@ -51,7 +51,7 @@ export default defineComponent({
|
||||
text: '',
|
||||
flag: true,
|
||||
radio: 'misskey',
|
||||
mfm: `Hello world! This is an @example mention. BTW you are @${this.$i ? this.$i.username : 'guest'}.\nAlso, here is ${config.url} and [example link](${config.url}). for more details, see https://example.com.\nAs you know #misskey is open-source software.`
|
||||
mfm: `Hello world! This is an @example mention. BTW you are @${this.$i ? this.$i.username : 'guest'}.\nAlso, here is ${config.url} and [example link](${config.url}). for more details, see https://example.com.\nAs you know #misskey is open-source software.`,
|
||||
};
|
||||
},
|
||||
|
||||
@ -69,17 +69,17 @@ export default defineComponent({
|
||||
foo: {
|
||||
type: 'boolean',
|
||||
default: true,
|
||||
label: 'This is a boolean property'
|
||||
label: 'This is a boolean property',
|
||||
},
|
||||
bar: {
|
||||
type: 'number',
|
||||
default: 300,
|
||||
label: 'This is a number property'
|
||||
label: 'This is a number property',
|
||||
},
|
||||
baz: {
|
||||
type: 'string',
|
||||
default: 'Misskey makes you happy.',
|
||||
label: 'This is a string property'
|
||||
label: 'This is a string property',
|
||||
},
|
||||
});
|
||||
},
|
||||
@ -95,7 +95,7 @@ export default defineComponent({
|
||||
async openMenu(ev) {
|
||||
os.popupMenu([{
|
||||
type: 'label',
|
||||
text: 'Fruits'
|
||||
text: 'Fruits',
|
||||
}, {
|
||||
text: 'Create some apples',
|
||||
action: () => {},
|
||||
@ -111,6 +111,6 @@ export default defineComponent({
|
||||
action: () => {},
|
||||
}], ev.currentTarget ?? ev.target);
|
||||
},
|
||||
}
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
@ -24,21 +24,21 @@ import { Block } from '@/scripts/hpml/block';
|
||||
|
||||
export default defineComponent({
|
||||
components: {
|
||||
XText, XSection, XImage, XButton, XNumberInput, XTextInput, XTextareaInput, XTextarea, XPost, XSwitch, XIf, XCounter, XRadioButton, XCanvas, XNote
|
||||
XText, XSection, XImage, XButton, XNumberInput, XTextInput, XTextareaInput, XTextarea, XPost, XSwitch, XIf, XCounter, XRadioButton, XCanvas, XNote,
|
||||
},
|
||||
props: {
|
||||
block: {
|
||||
type: Object as PropType<Block>,
|
||||
required: true
|
||||
required: true,
|
||||
},
|
||||
hpml: {
|
||||
type: Object as PropType<Hpml>,
|
||||
required: true
|
||||
required: true,
|
||||
},
|
||||
h: {
|
||||
type: Number,
|
||||
required: true
|
||||
}
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
@ -13,24 +13,24 @@ import { Hpml } from '@/scripts/hpml/evaluator';
|
||||
|
||||
export default defineComponent({
|
||||
components: {
|
||||
MkButton
|
||||
MkButton,
|
||||
},
|
||||
props: {
|
||||
block: {
|
||||
type: Object as PropType<ButtonBlock>,
|
||||
required: true
|
||||
required: true,
|
||||
},
|
||||
hpml: {
|
||||
type: Object as PropType<Hpml>,
|
||||
required: true
|
||||
}
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
click() {
|
||||
if (this.block.action === 'dialog') {
|
||||
this.hpml.eval();
|
||||
os.alert({
|
||||
text: this.hpml.interpolate(this.block.content)
|
||||
text: this.hpml.interpolate(this.block.content),
|
||||
});
|
||||
} else if (this.block.action === 'resetRandom') {
|
||||
this.hpml.updateRandomSeed(Math.random());
|
||||
@ -40,19 +40,19 @@ export default defineComponent({
|
||||
pageId: this.hpml.page.id,
|
||||
event: this.block.event,
|
||||
...(this.block.var ? {
|
||||
var: unref(this.hpml.vars)[this.block.var]
|
||||
} : {})
|
||||
var: unref(this.hpml.vars)[this.block.var],
|
||||
} : {}),
|
||||
});
|
||||
|
||||
os.alert({
|
||||
type: 'success',
|
||||
text: this.hpml.interpolate(this.block.message)
|
||||
text: this.hpml.interpolate(this.block.message),
|
||||
});
|
||||
} else if (this.block.action === 'callAiScript') {
|
||||
this.hpml.callAiScript(this.block.fn);
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -14,12 +14,12 @@ export default defineComponent({
|
||||
props: {
|
||||
block: {
|
||||
type: Object as PropType<CanvasBlock>,
|
||||
required: true
|
||||
required: true,
|
||||
},
|
||||
hpml: {
|
||||
type: Object as PropType<Hpml>,
|
||||
required: true
|
||||
}
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
setup(props, ctx) {
|
||||
const canvas: Ref<any> = ref(null);
|
||||
@ -29,9 +29,9 @@ export default defineComponent({
|
||||
});
|
||||
|
||||
return {
|
||||
canvas
|
||||
canvas,
|
||||
};
|
||||
}
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -13,17 +13,17 @@ import { Hpml } from '@/scripts/hpml/evaluator';
|
||||
|
||||
export default defineComponent({
|
||||
components: {
|
||||
MkButton
|
||||
MkButton,
|
||||
},
|
||||
props: {
|
||||
block: {
|
||||
type: Object as PropType<CounterVarBlock>,
|
||||
required: true
|
||||
required: true,
|
||||
},
|
||||
hpml: {
|
||||
type: Object as PropType<Hpml>,
|
||||
required: true
|
||||
}
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
setup(props, ctx) {
|
||||
const value = computed(() => {
|
||||
@ -36,9 +36,9 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
return {
|
||||
click
|
||||
click,
|
||||
};
|
||||
}
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -11,21 +11,21 @@ import { defineComponent, defineAsyncComponent, PropType } from 'vue';
|
||||
|
||||
export default defineComponent({
|
||||
components: {
|
||||
XBlock: defineAsyncComponent(() => import('./page.block.vue'))
|
||||
XBlock: defineAsyncComponent(() => import('./page.block.vue')),
|
||||
},
|
||||
props: {
|
||||
block: {
|
||||
type: Object as PropType<IfBlock>,
|
||||
required: true
|
||||
required: true,
|
||||
},
|
||||
hpml: {
|
||||
type: Object as PropType<Hpml>,
|
||||
required: true
|
||||
required: true,
|
||||
},
|
||||
h: {
|
||||
type: Number,
|
||||
required: true
|
||||
}
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
@ -20,8 +20,8 @@ export default defineComponent({
|
||||
props: {
|
||||
block: {
|
||||
type: Object as PropType<NoteBlock>,
|
||||
required: true
|
||||
}
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
setup(props, ctx) {
|
||||
const note: Ref<Record<string, any> | null> = ref(null);
|
||||
@ -34,9 +34,9 @@ export default defineComponent({
|
||||
});
|
||||
|
||||
return {
|
||||
note
|
||||
note,
|
||||
};
|
||||
}
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -15,17 +15,17 @@ import { NumberInputVarBlock } from '@/scripts/hpml/block';
|
||||
|
||||
export default defineComponent({
|
||||
components: {
|
||||
MkInput
|
||||
MkInput,
|
||||
},
|
||||
props: {
|
||||
block: {
|
||||
type: Object as PropType<NumberInputVarBlock>,
|
||||
required: true
|
||||
required: true,
|
||||
},
|
||||
hpml: {
|
||||
type: Object as PropType<Hpml>,
|
||||
required: true
|
||||
}
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
setup(props, ctx) {
|
||||
const value = computed(() => {
|
||||
@ -39,9 +39,9 @@ export default defineComponent({
|
||||
|
||||
return {
|
||||
value,
|
||||
updateValue
|
||||
updateValue,
|
||||
};
|
||||
}
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -14,17 +14,17 @@ import { RadioButtonVarBlock } from '@/scripts/hpml/block';
|
||||
|
||||
export default defineComponent({
|
||||
components: {
|
||||
MkRadio
|
||||
MkRadio,
|
||||
},
|
||||
props: {
|
||||
block: {
|
||||
type: Object as PropType<RadioButtonVarBlock>,
|
||||
required: true
|
||||
required: true,
|
||||
},
|
||||
hpml: {
|
||||
type: Object as PropType<Hpml>,
|
||||
required: true
|
||||
}
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
setup(props, ctx) {
|
||||
const value = computed(() => {
|
||||
@ -38,8 +38,8 @@ export default defineComponent({
|
||||
|
||||
return {
|
||||
value,
|
||||
updateValue
|
||||
updateValue,
|
||||
};
|
||||
}
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
@ -16,20 +16,20 @@ import { Hpml } from '@/scripts/hpml/evaluator';
|
||||
|
||||
export default defineComponent({
|
||||
components: {
|
||||
XBlock: defineAsyncComponent(() => import('./page.block.vue'))
|
||||
XBlock: defineAsyncComponent(() => import('./page.block.vue')),
|
||||
},
|
||||
props: {
|
||||
block: {
|
||||
type: Object as PropType<SectionBlock>,
|
||||
required: true
|
||||
required: true,
|
||||
},
|
||||
hpml: {
|
||||
type: Object as PropType<Hpml>,
|
||||
required: true
|
||||
required: true,
|
||||
},
|
||||
h: {
|
||||
required: true
|
||||
}
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
@ -13,17 +13,17 @@ import { SwitchVarBlock } from '@/scripts/hpml/block';
|
||||
|
||||
export default defineComponent({
|
||||
components: {
|
||||
MkSwitch
|
||||
MkSwitch,
|
||||
},
|
||||
props: {
|
||||
block: {
|
||||
type: Object as PropType<SwitchVarBlock>,
|
||||
required: true
|
||||
required: true,
|
||||
},
|
||||
hpml: {
|
||||
type: Object as PropType<Hpml>,
|
||||
required: true
|
||||
}
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
setup(props, ctx) {
|
||||
const value = computed(() => {
|
||||
@ -37,9 +37,9 @@ export default defineComponent({
|
||||
|
||||
return {
|
||||
value,
|
||||
updateValue
|
||||
updateValue,
|
||||
};
|
||||
}
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -15,17 +15,17 @@ import { TextInputVarBlock } from '@/scripts/hpml/block';
|
||||
|
||||
export default defineComponent({
|
||||
components: {
|
||||
MkInput
|
||||
MkInput,
|
||||
},
|
||||
props: {
|
||||
block: {
|
||||
type: Object as PropType<TextInputVarBlock>,
|
||||
required: true
|
||||
required: true,
|
||||
},
|
||||
hpml: {
|
||||
type: Object as PropType<Hpml>,
|
||||
required: true
|
||||
}
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
setup(props, ctx) {
|
||||
const value = computed(() => {
|
||||
@ -39,9 +39,9 @@ export default defineComponent({
|
||||
|
||||
return {
|
||||
value,
|
||||
updateValue
|
||||
updateValue,
|
||||
};
|
||||
}
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -19,12 +19,12 @@ export default defineComponent({
|
||||
props: {
|
||||
block: {
|
||||
type: Object as PropType<TextBlock>,
|
||||
required: true
|
||||
required: true,
|
||||
},
|
||||
hpml: {
|
||||
type: Object as PropType<Hpml>,
|
||||
required: true
|
||||
}
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@ -38,15 +38,15 @@ export default defineComponent({
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
'hpml.vars': {
|
||||
handler() {
|
||||
this.text = this.hpml.interpolate(this.block.text);
|
||||
},
|
||||
deep: true
|
||||
}
|
||||
deep: true,
|
||||
},
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
@ -16,17 +16,17 @@ import { TextInputVarBlock } from '@/scripts/hpml/block';
|
||||
|
||||
export default defineComponent({
|
||||
components: {
|
||||
MkTextarea
|
||||
MkTextarea,
|
||||
},
|
||||
props: {
|
||||
block: {
|
||||
type: Object as PropType<TextInputVarBlock>,
|
||||
required: true
|
||||
required: true,
|
||||
},
|
||||
hpml: {
|
||||
type: Object as PropType<Hpml>,
|
||||
required: true
|
||||
}
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
setup(props, ctx) {
|
||||
const value = computed(() => {
|
||||
@ -40,8 +40,8 @@ export default defineComponent({
|
||||
|
||||
return {
|
||||
value,
|
||||
updateValue
|
||||
updateValue,
|
||||
};
|
||||
}
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
@ -10,17 +10,17 @@ import MkTextarea from '../form/textarea.vue';
|
||||
|
||||
export default defineComponent({
|
||||
components: {
|
||||
MkTextarea
|
||||
MkTextarea,
|
||||
},
|
||||
props: {
|
||||
block: {
|
||||
type: Object as PropType<TextBlock>,
|
||||
required: true
|
||||
required: true,
|
||||
},
|
||||
hpml: {
|
||||
type: Object as PropType<Hpml>,
|
||||
required: true
|
||||
}
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@ -32,8 +32,8 @@ export default defineComponent({
|
||||
handler() {
|
||||
this.text = this.hpml.interpolate(this.block.text);
|
||||
},
|
||||
deep: true
|
||||
}
|
||||
}
|
||||
deep: true,
|
||||
},
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
@ -15,12 +15,12 @@ import { defaultStore } from '@/store';
|
||||
|
||||
export default defineComponent({
|
||||
components: {
|
||||
XBlock
|
||||
XBlock,
|
||||
},
|
||||
props: {
|
||||
page: {
|
||||
type: Object as PropType<Record<string, any>>,
|
||||
required: true
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
setup(props, ctx) {
|
||||
@ -28,7 +28,7 @@ export default defineComponent({
|
||||
randomSeed: Math.random(),
|
||||
visitor: $i,
|
||||
url: url,
|
||||
enableAiScript: !defaultStore.state.disablePagesScript
|
||||
enableAiScript: !defaultStore.state.disablePagesScript,
|
||||
});
|
||||
|
||||
onMounted(() => {
|
||||
|
@ -18,5 +18,5 @@ export default {
|
||||
|
||||
unmounted(src, binding, vn) {
|
||||
if (src._observer_) src._observer_.disconnect();
|
||||
}
|
||||
},
|
||||
} as Directive;
|
||||
|
@ -27,5 +27,5 @@ export default {
|
||||
el.classList.add('_anime_bounce_standBy');
|
||||
});
|
||||
*/
|
||||
}
|
||||
},
|
||||
} as Directive;
|
||||
|
@ -31,5 +31,5 @@ export default {
|
||||
|
||||
unmounted(src, binding, vn) {
|
||||
if (src._ro_) src._ro_.unobserve(src);
|
||||
}
|
||||
},
|
||||
} as Directive;
|
||||
|
@ -39,7 +39,7 @@ export default {
|
||||
});
|
||||
resize.observe(src);
|
||||
|
||||
mountings.set(src, { resize, fn: binding.value, });
|
||||
mountings.set(src, { resize, fn: binding.value });
|
||||
calc(src);
|
||||
},
|
||||
|
||||
@ -50,5 +50,5 @@ export default {
|
||||
info.resize.disconnect();
|
||||
if (info.intersection) info.intersection.disconnect();
|
||||
mountings.delete(src);
|
||||
}
|
||||
},
|
||||
} as Directive<Element, (w: number, h: number) => void>;
|
||||
|
@ -20,5 +20,5 @@ export default {
|
||||
} else {
|
||||
el.removeEventListener('keydown', el._keyHandler);
|
||||
}
|
||||
}
|
||||
},
|
||||
} as Directive;
|
||||
|
@ -14,5 +14,5 @@ export default {
|
||||
|
||||
popup(Ripple, { x, y }, {}, 'end');
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
|
@ -29,7 +29,7 @@ function getClassOrder(width: number, queue: Value): ClassOrder {
|
||||
remove: [
|
||||
...(queue.max ? queue.max.filter(v => width > v).map(getMaxClass) : []),
|
||||
...(queue.min ? queue.min.filter(v => width < v).map(getMinClass) : []),
|
||||
]
|
||||
],
|
||||
};
|
||||
}
|
||||
|
||||
@ -103,5 +103,5 @@ export default {
|
||||
info.resize.disconnect();
|
||||
if (info.intersection) info.intersection.disconnect();
|
||||
mountings.delete(src);
|
||||
}
|
||||
},
|
||||
} as Directive<Element, Value>;
|
||||
|
@ -27,7 +27,7 @@ export class UserPreview {
|
||||
popup(defineAsyncComponent(() => import('@/components/MkUserPreview.vue')), {
|
||||
showing,
|
||||
q: this.user,
|
||||
source: this.el
|
||||
source: this.el,
|
||||
}, {
|
||||
mouseover: () => {
|
||||
window.clearTimeout(this.hideTimer);
|
||||
@ -41,7 +41,7 @@ export class UserPreview {
|
||||
this.promise = {
|
||||
cancel: () => {
|
||||
showing.value = false;
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
this.checkTimer = window.setInterval(() => {
|
||||
@ -114,5 +114,5 @@ export default {
|
||||
|
||||
const self = el._userPreviewDirective_;
|
||||
self.preview.detach();
|
||||
}
|
||||
},
|
||||
} as Directive;
|
||||
|
@ -14,7 +14,7 @@ export const instance: Misskey.entities.InstanceMetadata = reactive(instanceData
|
||||
|
||||
export async function fetchInstance() {
|
||||
const meta = await api('meta', {
|
||||
detail: false
|
||||
detail: false,
|
||||
});
|
||||
|
||||
for (const [k, v] of Object.entries(meta)) {
|
||||
|
@ -65,7 +65,7 @@ import {
|
||||
Legend,
|
||||
Title,
|
||||
Tooltip,
|
||||
SubTitle
|
||||
SubTitle,
|
||||
} from 'chart.js';
|
||||
import MkButton from '@/components/MkButton.vue';
|
||||
import MkSelect from '@/components/form/select.vue';
|
||||
@ -89,7 +89,7 @@ Chart.register(
|
||||
Legend,
|
||||
Title,
|
||||
Tooltip,
|
||||
SubTitle
|
||||
SubTitle,
|
||||
);
|
||||
|
||||
const alpha = (hex, a) => {
|
||||
@ -155,13 +155,13 @@ export default defineComponent({
|
||||
this.connection.on('statsLog', this.onStatsLog);
|
||||
this.connection.send('requestLog', {
|
||||
id: Math.random().toString().substr(2, 8),
|
||||
length: 150
|
||||
length: 150,
|
||||
});
|
||||
|
||||
this.$nextTick(() => {
|
||||
this.queueConnection.send('requestLog', {
|
||||
id: Math.random().toString().substr(2, 8),
|
||||
length: 200
|
||||
length: 200,
|
||||
});
|
||||
});
|
||||
});
|
||||
@ -190,7 +190,7 @@ export default defineComponent({
|
||||
borderWidth: 2,
|
||||
borderColor: '#86b300',
|
||||
backgroundColor: alpha('#86b300', 0.1),
|
||||
data: []
|
||||
data: [],
|
||||
}, {
|
||||
label: 'MEM (active)',
|
||||
pointRadius: 0,
|
||||
@ -198,7 +198,7 @@ export default defineComponent({
|
||||
borderWidth: 2,
|
||||
borderColor: '#935dbf',
|
||||
backgroundColor: alpha('#935dbf', 0.02),
|
||||
data: []
|
||||
data: [],
|
||||
}, {
|
||||
label: 'MEM (used)',
|
||||
pointRadius: 0,
|
||||
@ -207,8 +207,8 @@ export default defineComponent({
|
||||
borderColor: '#935dbf',
|
||||
borderDash: [5, 5],
|
||||
fill: false,
|
||||
data: []
|
||||
}]
|
||||
data: [],
|
||||
}],
|
||||
},
|
||||
options: {
|
||||
aspectRatio: 3,
|
||||
@ -217,14 +217,14 @@ export default defineComponent({
|
||||
left: 16,
|
||||
right: 16,
|
||||
top: 16,
|
||||
bottom: 0
|
||||
}
|
||||
bottom: 0,
|
||||
},
|
||||
},
|
||||
legend: {
|
||||
position: 'bottom',
|
||||
labels: {
|
||||
boxWidth: 16,
|
||||
}
|
||||
},
|
||||
},
|
||||
scales: {
|
||||
x: {
|
||||
@ -235,7 +235,7 @@ export default defineComponent({
|
||||
},
|
||||
ticks: {
|
||||
display: false,
|
||||
}
|
||||
},
|
||||
},
|
||||
y: {
|
||||
position: 'right',
|
||||
@ -246,15 +246,15 @@ export default defineComponent({
|
||||
},
|
||||
ticks: {
|
||||
display: false,
|
||||
max: 100
|
||||
}
|
||||
}
|
||||
max: 100,
|
||||
},
|
||||
},
|
||||
},
|
||||
tooltips: {
|
||||
intersect: false,
|
||||
mode: 'index',
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
}));
|
||||
},
|
||||
|
||||
@ -271,7 +271,7 @@ export default defineComponent({
|
||||
borderWidth: 2,
|
||||
borderColor: '#94a029',
|
||||
backgroundColor: alpha('#94a029', 0.1),
|
||||
data: []
|
||||
data: [],
|
||||
}, {
|
||||
label: 'Out',
|
||||
pointRadius: 0,
|
||||
@ -279,8 +279,8 @@ export default defineComponent({
|
||||
borderWidth: 2,
|
||||
borderColor: '#ff9156',
|
||||
backgroundColor: alpha('#ff9156', 0.1),
|
||||
data: []
|
||||
}]
|
||||
data: [],
|
||||
}],
|
||||
},
|
||||
options: {
|
||||
aspectRatio: 3,
|
||||
@ -289,14 +289,14 @@ export default defineComponent({
|
||||
left: 16,
|
||||
right: 16,
|
||||
top: 16,
|
||||
bottom: 0
|
||||
}
|
||||
bottom: 0,
|
||||
},
|
||||
},
|
||||
legend: {
|
||||
position: 'bottom',
|
||||
labels: {
|
||||
boxWidth: 16,
|
||||
}
|
||||
},
|
||||
},
|
||||
scales: {
|
||||
x: {
|
||||
@ -306,8 +306,8 @@ export default defineComponent({
|
||||
zeroLineColor: this.gridColor,
|
||||
},
|
||||
ticks: {
|
||||
display: false
|
||||
}
|
||||
display: false,
|
||||
},
|
||||
},
|
||||
y: {
|
||||
position: 'right',
|
||||
@ -318,14 +318,14 @@ export default defineComponent({
|
||||
},
|
||||
ticks: {
|
||||
display: false,
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
tooltips: {
|
||||
intersect: false,
|
||||
mode: 'index',
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
}));
|
||||
},
|
||||
|
||||
@ -342,7 +342,7 @@ export default defineComponent({
|
||||
borderWidth: 2,
|
||||
borderColor: '#94a029',
|
||||
backgroundColor: alpha('#94a029', 0.1),
|
||||
data: []
|
||||
data: [],
|
||||
}, {
|
||||
label: 'Write',
|
||||
pointRadius: 0,
|
||||
@ -350,8 +350,8 @@ export default defineComponent({
|
||||
borderWidth: 2,
|
||||
borderColor: '#ff9156',
|
||||
backgroundColor: alpha('#ff9156', 0.1),
|
||||
data: []
|
||||
}]
|
||||
data: [],
|
||||
}],
|
||||
},
|
||||
options: {
|
||||
aspectRatio: 3,
|
||||
@ -360,14 +360,14 @@ export default defineComponent({
|
||||
left: 16,
|
||||
right: 16,
|
||||
top: 16,
|
||||
bottom: 0
|
||||
}
|
||||
bottom: 0,
|
||||
},
|
||||
},
|
||||
legend: {
|
||||
position: 'bottom',
|
||||
labels: {
|
||||
boxWidth: 16,
|
||||
}
|
||||
},
|
||||
},
|
||||
scales: {
|
||||
x: {
|
||||
@ -377,8 +377,8 @@ export default defineComponent({
|
||||
zeroLineColor: this.gridColor,
|
||||
},
|
||||
ticks: {
|
||||
display: false
|
||||
}
|
||||
display: false,
|
||||
},
|
||||
},
|
||||
y: {
|
||||
position: 'right',
|
||||
@ -389,14 +389,14 @@ export default defineComponent({
|
||||
},
|
||||
ticks: {
|
||||
display: false,
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
tooltips: {
|
||||
intersect: false,
|
||||
mode: 'index',
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
}));
|
||||
},
|
||||
|
||||
@ -458,7 +458,7 @@ export default defineComponent({
|
||||
resume() {
|
||||
this.paused = false;
|
||||
},
|
||||
}
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -26,7 +26,7 @@ import * as os from '@/os';
|
||||
|
||||
export default defineComponent({
|
||||
components: {
|
||||
MkButton
|
||||
MkButton,
|
||||
},
|
||||
props: ['session'],
|
||||
computed: {
|
||||
@ -37,12 +37,12 @@ export default defineComponent({
|
||||
},
|
||||
app(): any {
|
||||
return this.session.app;
|
||||
}
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
cancel() {
|
||||
os.api('auth/deny', {
|
||||
token: this.session.token
|
||||
token: this.session.token,
|
||||
}).then(() => {
|
||||
this.$emit('denied');
|
||||
});
|
||||
@ -50,11 +50,11 @@ export default defineComponent({
|
||||
|
||||
accept() {
|
||||
os.api('auth/accept', {
|
||||
token: this.session.token
|
||||
token: this.session.token,
|
||||
}).then(() => {
|
||||
this.$emit('accepted');
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
@ -28,7 +28,7 @@ function menu(ev) {
|
||||
action: () => {
|
||||
copyToClipboard(`:${props.emoji.name}:`);
|
||||
os.success();
|
||||
}
|
||||
},
|
||||
}], ev.currentTarget ?? ev.target);
|
||||
}
|
||||
</script>
|
||||
|
@ -58,8 +58,8 @@ withDefaults(defineProps<{
|
||||
message: null,
|
||||
primary: false,
|
||||
var: null,
|
||||
fn: null
|
||||
}
|
||||
fn: null,
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -32,7 +32,7 @@ withDefaults(defineProps<{
|
||||
value: {
|
||||
name: '',
|
||||
width: 300,
|
||||
height: 200
|
||||
}
|
||||
height: 200,
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
@ -28,7 +28,7 @@ withDefaults(defineProps<{
|
||||
value: any
|
||||
}>(), {
|
||||
value: {
|
||||
name: ''
|
||||
}
|
||||
name: '',
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
@ -42,8 +42,8 @@ const props = withDefaults(defineProps<{
|
||||
}>(), {
|
||||
value: {
|
||||
children: [],
|
||||
var: null
|
||||
}
|
||||
var: null,
|
||||
},
|
||||
});
|
||||
|
||||
const getPageBlockList = inject<(any) => any>('getPageBlockList');
|
||||
@ -51,7 +51,7 @@ const getPageBlockList = inject<(any) => any>('getPageBlockList');
|
||||
async function add() {
|
||||
const { canceled, result: type } = await os.select({
|
||||
title: i18n.ts._pages.chooseBlock,
|
||||
groupedItems: getPageBlockList()
|
||||
groupedItems: getPageBlockList(),
|
||||
});
|
||||
if (canceled) return;
|
||||
|
||||
|
@ -25,8 +25,8 @@ const props = withDefaults(defineProps<{
|
||||
value: any
|
||||
}>(), {
|
||||
value: {
|
||||
fileId: null
|
||||
}
|
||||
fileId: null,
|
||||
},
|
||||
});
|
||||
|
||||
let file: any = $ref(null);
|
||||
@ -43,7 +43,7 @@ onMounted(async () => {
|
||||
await choose();
|
||||
} else {
|
||||
os.api('drive/files/show', {
|
||||
fileId: props.value.fileId
|
||||
fileId: props.value.fileId,
|
||||
}).then(fileResponse => {
|
||||
file = fileResponse;
|
||||
});
|
||||
|
@ -31,8 +31,8 @@ const props = withDefaults(defineProps<{
|
||||
}>(), {
|
||||
value: {
|
||||
note: null,
|
||||
detailed: false
|
||||
}
|
||||
detailed: false,
|
||||
},
|
||||
});
|
||||
|
||||
let id: any = $ref(props.value.note);
|
||||
@ -47,6 +47,6 @@ watch(id, async () => {
|
||||
|
||||
note = await os.api('notes/show', { noteId: props.value.note });
|
||||
}, {
|
||||
immediate: true
|
||||
immediate: true,
|
||||
});
|
||||
</script>
|
||||
|
@ -28,7 +28,7 @@ withDefaults(defineProps<{
|
||||
value: any
|
||||
}>(), {
|
||||
value: {
|
||||
name: ''
|
||||
}
|
||||
name: '',
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
@ -25,7 +25,7 @@ withDefaults(defineProps<{
|
||||
value: {
|
||||
text: '',
|
||||
attachCanvasImage: false,
|
||||
canvasId: ''
|
||||
}
|
||||
canvasId: '',
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
@ -25,8 +25,8 @@ const props = withDefaults(defineProps<{
|
||||
value: {
|
||||
name: '',
|
||||
title: '',
|
||||
values: []
|
||||
}
|
||||
values: [],
|
||||
},
|
||||
});
|
||||
|
||||
let values: string = $ref(props.value.values.join('\n'));
|
||||
@ -34,6 +34,6 @@ let values: string = $ref(props.value.values.join('\n'));
|
||||
watch(values, () => {
|
||||
props.value.values = values.split('\n');
|
||||
}, {
|
||||
deep: true
|
||||
deep: true,
|
||||
});
|
||||
</script>
|
||||
|
@ -33,8 +33,8 @@ const props = withDefaults(defineProps<{
|
||||
}>(), {
|
||||
value: {
|
||||
title: null,
|
||||
children: []
|
||||
}
|
||||
children: [],
|
||||
},
|
||||
});
|
||||
|
||||
const getPageBlockList = inject<(any) => any>('getPageBlockList');
|
||||
@ -42,7 +42,7 @@ const getPageBlockList = inject<(any) => any>('getPageBlockList');
|
||||
async function rename() {
|
||||
const { canceled, result: title } = await os.inputText({
|
||||
title: 'Enter title',
|
||||
default: props.value.title
|
||||
default: props.value.title,
|
||||
});
|
||||
if (canceled) return;
|
||||
props.value.title = title;
|
||||
@ -51,7 +51,7 @@ async function rename() {
|
||||
async function add() {
|
||||
const { canceled, result: type } = await os.select({
|
||||
title: i18n.ts._pages.chooseBlock,
|
||||
groupedItems: getPageBlockList()
|
||||
groupedItems: getPageBlockList(),
|
||||
});
|
||||
if (canceled) return;
|
||||
|
||||
|
@ -22,8 +22,8 @@ withDefaults(defineProps<{
|
||||
value: any
|
||||
}>(), {
|
||||
value: {
|
||||
name: ''
|
||||
}
|
||||
name: '',
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -21,7 +21,7 @@ withDefaults(defineProps<{
|
||||
value: any
|
||||
}>(), {
|
||||
value: {
|
||||
name: ''
|
||||
}
|
||||
name: '',
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
@ -18,8 +18,8 @@ withDefaults(defineProps<{
|
||||
value: any
|
||||
}>(), {
|
||||
value: {
|
||||
text: ''
|
||||
}
|
||||
text: '',
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -22,7 +22,7 @@ withDefaults(defineProps<{
|
||||
value: any
|
||||
}>(), {
|
||||
value: {
|
||||
name: ''
|
||||
}
|
||||
name: '',
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
@ -18,8 +18,8 @@ withDefaults(defineProps<{
|
||||
value: any
|
||||
}>(), {
|
||||
value: {
|
||||
text: ''
|
||||
}
|
||||
text: '',
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -31,24 +31,24 @@ export default defineComponent({
|
||||
props: {
|
||||
expanded: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
default: true,
|
||||
},
|
||||
removable: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
default: true,
|
||||
},
|
||||
draggable: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
default: false,
|
||||
},
|
||||
error: {
|
||||
required: false,
|
||||
default: null
|
||||
default: null,
|
||||
},
|
||||
warn: {
|
||||
required: false,
|
||||
default: null
|
||||
}
|
||||
default: null,
|
||||
},
|
||||
},
|
||||
emits: ['toggle', 'remove'],
|
||||
data() {
|
||||
@ -63,8 +63,8 @@ export default defineComponent({
|
||||
},
|
||||
remove() {
|
||||
this.$emit('remove');
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -78,17 +78,17 @@ export default defineComponent({
|
||||
props: {
|
||||
getExpectedType: {
|
||||
required: false,
|
||||
default: null
|
||||
default: null,
|
||||
},
|
||||
modelValue: {
|
||||
required: true
|
||||
required: true,
|
||||
},
|
||||
title: {
|
||||
required: false
|
||||
required: false,
|
||||
},
|
||||
removable: {
|
||||
required: false,
|
||||
default: false
|
||||
default: false,
|
||||
},
|
||||
hpml: {
|
||||
required: true,
|
||||
@ -101,8 +101,8 @@ export default defineComponent({
|
||||
},
|
||||
draggable: {
|
||||
required: false,
|
||||
default: false
|
||||
}
|
||||
default: false,
|
||||
},
|
||||
},
|
||||
|
||||
data() {
|
||||
@ -131,11 +131,11 @@ export default defineComponent({
|
||||
handler() {
|
||||
this.modelValue.value.slots = this.slots.split('\n').map(x => ({
|
||||
name: x,
|
||||
type: null
|
||||
type: null,
|
||||
}));
|
||||
},
|
||||
deep: true
|
||||
}
|
||||
deep: true,
|
||||
},
|
||||
},
|
||||
|
||||
created() {
|
||||
@ -150,7 +150,7 @@ export default defineComponent({
|
||||
const id = uuid();
|
||||
this.modelValue.value = {
|
||||
slots: [],
|
||||
expression: { id, type: null }
|
||||
expression: { id, type: null },
|
||||
};
|
||||
return;
|
||||
}
|
||||
@ -194,13 +194,13 @@ export default defineComponent({
|
||||
const emptySlotIndex = args.findIndex(x => x.type === null);
|
||||
if (emptySlotIndex !== -1 && emptySlotIndex < args.length) {
|
||||
this.warn = {
|
||||
slot: emptySlotIndex
|
||||
slot: emptySlotIndex,
|
||||
};
|
||||
} else {
|
||||
this.warn = null;
|
||||
}
|
||||
}, {
|
||||
deep: true
|
||||
deep: true,
|
||||
});
|
||||
|
||||
this.$watch(() => this.hpml.variables, () => {
|
||||
@ -208,7 +208,7 @@ export default defineComponent({
|
||||
this.error = this.hpml.typeCheck(this.modelValue);
|
||||
}
|
||||
}, {
|
||||
deep: true
|
||||
deep: true,
|
||||
});
|
||||
},
|
||||
|
||||
@ -216,7 +216,7 @@ export default defineComponent({
|
||||
async changeType() {
|
||||
const { canceled, result: type } = await os.select({
|
||||
title: this.$ts._pages.selectType,
|
||||
groupedItems: this.getScriptBlockList(this.getExpectedType ? this.getExpectedType() : null)
|
||||
groupedItems: this.getScriptBlockList(this.getExpectedType ? this.getExpectedType() : null),
|
||||
});
|
||||
if (canceled) return;
|
||||
this.modelValue.type = type;
|
||||
@ -224,8 +224,8 @@ export default defineComponent({
|
||||
|
||||
_getExpectedType(slot: number) {
|
||||
return this.hpml.getExpectedType(this.modelValue, slot);
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -82,7 +82,7 @@ export default defineComponent({
|
||||
|
||||
os.api('hashtags/list', {
|
||||
sort: '+mentionedLocalUsers',
|
||||
limit: 8
|
||||
limit: 8,
|
||||
}).then(tags => {
|
||||
this.tags = tags;
|
||||
});
|
||||
@ -91,13 +91,13 @@ export default defineComponent({
|
||||
methods: {
|
||||
signin() {
|
||||
os.popup(XSigninDialog, {
|
||||
autoSet: true
|
||||
autoSet: true,
|
||||
}, {}, 'closed');
|
||||
},
|
||||
|
||||
signup() {
|
||||
os.popup(XSignupDialog, {
|
||||
autoSet: true
|
||||
autoSet: true,
|
||||
}, {}, 'closed');
|
||||
},
|
||||
|
||||
@ -107,24 +107,24 @@ export default defineComponent({
|
||||
icon: 'ti ti-info-circle',
|
||||
action: () => {
|
||||
os.pageWindow('/about');
|
||||
}
|
||||
},
|
||||
}, {
|
||||
text: this.$ts.aboutMisskey,
|
||||
icon: 'ti ti-info-circle',
|
||||
action: () => {
|
||||
os.pageWindow('/about-misskey');
|
||||
}
|
||||
},
|
||||
}, null, {
|
||||
text: this.$ts.help,
|
||||
icon: 'ti ti-question-circle',
|
||||
action: () => {
|
||||
window.open(`https://misskey-hub.net/help.md`, '_blank');
|
||||
}
|
||||
},
|
||||
}], ev.currentTarget ?? ev.target);
|
||||
},
|
||||
|
||||
number
|
||||
}
|
||||
number,
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -102,7 +102,7 @@ export default defineComponent({
|
||||
|
||||
os.api('hashtags/list', {
|
||||
sort: '+mentionedLocalUsers',
|
||||
limit: 8
|
||||
limit: 8,
|
||||
}).then(tags => {
|
||||
this.tags = tags;
|
||||
});
|
||||
@ -111,13 +111,13 @@ export default defineComponent({
|
||||
methods: {
|
||||
signin() {
|
||||
os.popup(XSigninDialog, {
|
||||
autoSet: true
|
||||
autoSet: true,
|
||||
}, {}, 'closed');
|
||||
},
|
||||
|
||||
signup() {
|
||||
os.popup(XSignupDialog, {
|
||||
autoSet: true
|
||||
autoSet: true,
|
||||
}, {}, 'closed');
|
||||
},
|
||||
|
||||
@ -127,24 +127,24 @@ export default defineComponent({
|
||||
icon: 'ti ti-info-circle',
|
||||
action: () => {
|
||||
os.pageWindow('/about');
|
||||
}
|
||||
},
|
||||
}, {
|
||||
text: this.$ts.aboutMisskey,
|
||||
icon: 'ti ti-info-circle',
|
||||
action: () => {
|
||||
os.pageWindow('/about-misskey');
|
||||
}
|
||||
},
|
||||
}, null, {
|
||||
text: this.$ts.help,
|
||||
icon: 'ti ti-question-circle',
|
||||
action: () => {
|
||||
window.open(`https://misskey-hub.net/help.md`, '_blank');
|
||||
}
|
||||
},
|
||||
}], ev.currentTarget ?? ev.target);
|
||||
},
|
||||
|
||||
number
|
||||
}
|
||||
number,
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -32,7 +32,7 @@ export default defineComponent({
|
||||
components: {
|
||||
XReactionsViewer,
|
||||
XMediaList,
|
||||
XPoll
|
||||
XPoll,
|
||||
},
|
||||
|
||||
data() {
|
||||
@ -52,7 +52,7 @@ export default defineComponent({
|
||||
if (this.$refs.scroll.clientHeight > window.innerHeight) {
|
||||
this.isScrolling = true;
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -12,7 +12,7 @@ export function install(plugin) {
|
||||
|
||||
const aiscript = new AiScript(createPluginEnv({
|
||||
plugin: plugin,
|
||||
storageKey: 'plugins:' + plugin.id
|
||||
storageKey: 'plugins:' + plugin.id,
|
||||
}), {
|
||||
in: (q) => {
|
||||
return new Promise(ok => {
|
||||
@ -86,7 +86,7 @@ function registerPostFormAction({ pluginId, title, handler }) {
|
||||
pluginContexts.get(pluginId).execFn(handler, [utils.jsToVal(form), values.FN_NATIVE(([key, value]) => {
|
||||
update(key.value, value.value);
|
||||
})]);
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
@ -94,7 +94,7 @@ function registerUserAction({ pluginId, title, handler }) {
|
||||
userActions.push({
|
||||
title, handler: (user) => {
|
||||
pluginContexts.get(pluginId).execFn(handler, [utils.jsToVal(user)]);
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
@ -102,7 +102,7 @@ function registerNoteAction({ pluginId, title, handler }) {
|
||||
noteActions.push({
|
||||
title, handler: (note) => {
|
||||
pluginContexts.get(pluginId).execFn(handler, [utils.jsToVal(note)]);
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
@ -110,7 +110,7 @@ function registerNoteViewInterruptor({ pluginId, handler }) {
|
||||
noteViewInterruptors.push({
|
||||
handler: async (note) => {
|
||||
return utils.valToJs(await pluginContexts.get(pluginId).execFn(handler, [utils.jsToVal(note)]));
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
@ -118,6 +118,6 @@ function registerNotePostInterruptor({ pluginId, handler }) {
|
||||
notePostInterruptors.push({
|
||||
handler: async (note) => {
|
||||
return utils.valToJs(await pluginContexts.get(pluginId).execFn(handler, [utils.jsToVal(note)]));
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
|
@ -7,15 +7,15 @@ export function byteify(string: string, encoding: 'ascii' | 'base64' | 'hex') {
|
||||
atob(
|
||||
string
|
||||
.replace(/-/g, '+')
|
||||
.replace(/_/g, '/')
|
||||
.replace(/_/g, '/'),
|
||||
),
|
||||
c => c.charCodeAt(0)
|
||||
c => c.charCodeAt(0),
|
||||
);
|
||||
case 'hex':
|
||||
return new Uint8Array(
|
||||
string
|
||||
.match(/.{1,2}/g)
|
||||
.map(byte => parseInt(byte, 16))
|
||||
.map(byte => parseInt(byte, 16)),
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -24,7 +24,7 @@ export function hexify(buffer: ArrayBuffer) {
|
||||
return Array.from(new Uint8Array(buffer))
|
||||
.reduce(
|
||||
(str, byte) => str + byte.toString(16).padStart(2, '0'),
|
||||
''
|
||||
'',
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -171,7 +171,7 @@ export class Autocomplete {
|
||||
}, {
|
||||
done: (res) => {
|
||||
this.complete(res);
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
this.suggestion = {
|
||||
|
@ -4,7 +4,7 @@ export function focusPrev(el: Element | null, self = false, scroll = true) {
|
||||
if (el) {
|
||||
if (el.hasAttribute('tabindex')) {
|
||||
(el as HTMLElement).focus({
|
||||
preventScroll: !scroll
|
||||
preventScroll: !scroll,
|
||||
});
|
||||
} else {
|
||||
focusPrev(el.previousElementSibling, true);
|
||||
@ -18,7 +18,7 @@ export function focusNext(el: Element | null, self = false, scroll = true) {
|
||||
if (el) {
|
||||
if (el.hasAttribute('tabindex')) {
|
||||
(el as HTMLElement).focus({
|
||||
preventScroll: !scroll
|
||||
preventScroll: !scroll,
|
||||
});
|
||||
} else {
|
||||
focusPrev(el.nextElementSibling, true);
|
||||
|
@ -7,7 +7,7 @@ const defaultLocaleStringFormats: {[index: string]: string} = {
|
||||
'hour': 'numeric',
|
||||
'minute': 'numeric',
|
||||
'second': 'numeric',
|
||||
'timeZoneName': 'short'
|
||||
'timeZoneName': 'short',
|
||||
};
|
||||
|
||||
function formatLocaleString(date: Date, format: string): string {
|
||||
|
@ -25,6 +25,6 @@ export async function genSearchQuery(v: any, q: string) {
|
||||
return {
|
||||
query: q.split(' ').filter(x => !x.startsWith('/') && !x.startsWith('@')).join(' '),
|
||||
host: host,
|
||||
userId: userId
|
||||
userId: userId,
|
||||
};
|
||||
}
|
||||
|
@ -11,6 +11,6 @@ export function getStaticImageUrl(baseUrl: string): string {
|
||||
const dummy = `${u.host}${u.pathname}`; // 拡張子がないとキャッシュしてくれないCDNがあるので
|
||||
return `${instanceUrl}/proxy/${dummy}?${url.query({
|
||||
url: u.href,
|
||||
static: '1'
|
||||
static: '1',
|
||||
})}`;
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ const parseKeymap = (keymap: Keymap) => Object.entries(keymap).map(([patterns, c
|
||||
const result = {
|
||||
patterns: [],
|
||||
callback,
|
||||
allowRepeat: true
|
||||
allowRepeat: true,
|
||||
} as Action;
|
||||
|
||||
if (patterns.match(/^\(.*\)$/) !== null) {
|
||||
@ -34,7 +34,7 @@ const parseKeymap = (keymap: Keymap) => Object.entries(keymap).map(([patterns, c
|
||||
which: [],
|
||||
ctrl: false,
|
||||
alt: false,
|
||||
shift: false
|
||||
shift: false,
|
||||
} as Pattern;
|
||||
|
||||
const keys = part.trim().split('+').map(x => x.trim().toLowerCase());
|
||||
@ -61,7 +61,7 @@ function match(ev: KeyboardEvent, patterns: Action['patterns']): boolean {
|
||||
pattern.ctrl === ev.ctrlKey &&
|
||||
pattern.shift === ev.shiftKey &&
|
||||
pattern.alt === ev.altKey &&
|
||||
!ev.metaKey
|
||||
!ev.metaKey,
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -35,7 +35,7 @@ export class Hpml {
|
||||
|
||||
if (this.opts.enableAiScript) {
|
||||
this.aiscript = markRaw(new AiScript({ ...createAiScriptEnv({
|
||||
storageKey: 'pages:' + this.page.id
|
||||
storageKey: 'pages:' + this.page.id,
|
||||
}), ...initAiLib(this) }, {
|
||||
in: (q) => {
|
||||
return new Promise(ok => {
|
||||
@ -75,7 +75,7 @@ export class Hpml {
|
||||
SEED: opts.randomSeed ? opts.randomSeed : '',
|
||||
YMD: `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}`,
|
||||
AISCRIPT_DISABLED: !this.opts.enableAiScript,
|
||||
NULL: null
|
||||
NULL: null,
|
||||
};
|
||||
|
||||
this.eval();
|
||||
@ -198,7 +198,7 @@ export class Hpml {
|
||||
slots: expr.value.slots.map(x => x.name),
|
||||
exec: (slotArg: Record<string, any>) => {
|
||||
return this.evaluate(expr.value.expression, scope.createChildScope(slotArg, expr.id));
|
||||
}
|
||||
},
|
||||
} as Fn;
|
||||
}
|
||||
return;
|
||||
|
@ -14,22 +14,22 @@ export type Fn = {
|
||||
export type Type = 'string' | 'number' | 'boolean' | 'stringArray' | null;
|
||||
|
||||
export const literalDefs: Record<string, { out: any; category: string; icon: any; }> = {
|
||||
text: { out: 'string', category: 'value', icon: 'ti ti-quote', },
|
||||
multiLineText: { out: 'string', category: 'value', icon: 'fas fa-align-left', },
|
||||
textList: { out: 'stringArray', category: 'value', icon: 'fas fa-list', },
|
||||
number: { out: 'number', category: 'value', icon: 'fas fa-sort-numeric-up', },
|
||||
ref: { out: null, category: 'value', icon: 'fas fa-magic', },
|
||||
aiScriptVar: { out: null, category: 'value', icon: 'fas fa-magic', },
|
||||
fn: { out: 'function', category: 'value', icon: 'fas fa-square-root-alt', },
|
||||
text: { out: 'string', category: 'value', icon: 'ti ti-quote' },
|
||||
multiLineText: { out: 'string', category: 'value', icon: 'fas fa-align-left' },
|
||||
textList: { out: 'stringArray', category: 'value', icon: 'fas fa-list' },
|
||||
number: { out: 'number', category: 'value', icon: 'fas fa-sort-numeric-up' },
|
||||
ref: { out: null, category: 'value', icon: 'fas fa-magic' },
|
||||
aiScriptVar: { out: null, category: 'value', icon: 'fas fa-magic' },
|
||||
fn: { out: 'function', category: 'value', icon: 'fas fa-square-root-alt' },
|
||||
};
|
||||
|
||||
export const blockDefs = [
|
||||
...Object.entries(literalDefs).map(([k, v]) => ({
|
||||
type: k, out: v.out, category: v.category, icon: v.icon
|
||||
type: k, out: v.out, category: v.category, icon: v.icon,
|
||||
})),
|
||||
...Object.entries(funcDefs).map(([k, v]) => ({
|
||||
type: k, out: v.out, category: v.category, icon: v.icon
|
||||
}))
|
||||
type: k, out: v.out, category: v.category, icon: v.icon,
|
||||
})),
|
||||
];
|
||||
|
||||
export type PageVar = { name: string; value: any; type: Type; };
|
||||
@ -82,7 +82,7 @@ export class HpmlScope {
|
||||
|
||||
throw new HpmlError(
|
||||
`No such variable '${name}' in scope '${this.name}'`, {
|
||||
scope: this.layerdStates
|
||||
scope: this.layerdStates,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -19,7 +19,7 @@ export async function lookupUser() {
|
||||
if (_notFound) {
|
||||
os.alert({
|
||||
type: 'error',
|
||||
text: i18n.ts.noSuchUser
|
||||
text: i18n.ts.noSuchUser,
|
||||
});
|
||||
} else {
|
||||
_notFound = true;
|
||||
|
@ -29,7 +29,7 @@ export function physics(container: HTMLElement) {
|
||||
height: containerHeight,
|
||||
background: 'transparent', // transparent to hide
|
||||
wireframeBackground: 'transparent', // transparent to hide
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
// Disable to hide debug
|
||||
@ -43,7 +43,7 @@ export function physics(container: HTMLElement) {
|
||||
const ground = Matter.Bodies.rectangle(containerCenterX, containerHeight + (groundThickness / 2), containerWidth, groundThickness, {
|
||||
isStatic: true,
|
||||
restitution: 0.1,
|
||||
friction: 2
|
||||
friction: 2,
|
||||
});
|
||||
|
||||
//const wallRight = Matter.Bodies.rectangle(window.innerWidth+50, window.innerHeight/2, 100, window.innerHeight, wallopts);
|
||||
@ -68,8 +68,8 @@ export function physics(container: HTMLElement) {
|
||||
top + (objEl.offsetHeight / 2),
|
||||
Math.max(objEl.offsetWidth, objEl.offsetHeight) / 2,
|
||||
{
|
||||
restitution: 0.5
|
||||
}
|
||||
restitution: 0.5,
|
||||
},
|
||||
);
|
||||
} else {
|
||||
const style = window.getComputedStyle(objEl);
|
||||
@ -80,8 +80,8 @@ export function physics(container: HTMLElement) {
|
||||
objEl.offsetHeight,
|
||||
{
|
||||
chamfer: { radius: parseInt(style.borderRadius || '0', 10) },
|
||||
restitution: 0.5
|
||||
}
|
||||
restitution: 0.5,
|
||||
},
|
||||
);
|
||||
}
|
||||
objEl.id = obj.id.toString();
|
||||
@ -98,9 +98,9 @@ export function physics(container: HTMLElement) {
|
||||
constraint: {
|
||||
stiffness: 0.1,
|
||||
render: {
|
||||
visible: false
|
||||
}
|
||||
}
|
||||
visible: false,
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
Matter.World.add(engine.world, mouseConstraint);
|
||||
@ -147,6 +147,6 @@ export function physics(container: HTMLElement) {
|
||||
stop = true;
|
||||
Matter.Runner.stop(runner);
|
||||
window.clearInterval(intervalId);
|
||||
}
|
||||
},
|
||||
};
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ export function pleaseLogin(path?: string) {
|
||||
|
||||
popup(defineAsyncComponent(() => import('@/components/MkSigninDialog.vue')), {
|
||||
autoSet: true,
|
||||
message: i18n.ts.signinRequired
|
||||
message: i18n.ts.signinRequired,
|
||||
}, {
|
||||
cancelled: () => {
|
||||
if (path) {
|
||||
|
@ -15,7 +15,7 @@ class ReactionPicker {
|
||||
await popup(defineAsyncComponent(() => import('@/components/MkEmojiPickerDialog.vue')), {
|
||||
src: this.src,
|
||||
asReactionPicker: true,
|
||||
manualShowing: this.manualShowing
|
||||
manualShowing: this.manualShowing,
|
||||
}, {
|
||||
done: reaction => {
|
||||
this.onChosen!(reaction);
|
||||
@ -26,7 +26,7 @@ class ReactionPicker {
|
||||
closed: () => {
|
||||
this.src.value = null;
|
||||
this.onClosed!();
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -5,6 +5,6 @@ export function showSuspendedDialog() {
|
||||
return os.alert({
|
||||
type: 'error',
|
||||
title: i18n.ts.yourAccountSuspendedTitle,
|
||||
text: i18n.ts.yourAccountSuspendedDescription
|
||||
text: i18n.ts.yourAccountSuspendedDescription,
|
||||
});
|
||||
}
|
||||
|
@ -61,7 +61,7 @@ export const convertToMisskeyTheme = (vm: ThemeViewModel, name: string, desc: st
|
||||
|
||||
return {
|
||||
id: uuid(),
|
||||
name, desc, author, props, base
|
||||
name, desc, author, props, base,
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -60,8 +60,8 @@ export function useNoteCapture(props: {
|
||||
...choices[choice],
|
||||
votes: choices[choice].votes + 1,
|
||||
...($i && (body.userId === $i.id) ? {
|
||||
isVoted: true
|
||||
} : {})
|
||||
isVoted: true,
|
||||
} : {}),
|
||||
};
|
||||
|
||||
note.value.poll.choices = choices;
|
||||
|
@ -14,13 +14,13 @@ import XWidgets from '@/components/MkWidgets.vue';
|
||||
|
||||
export default defineComponent({
|
||||
components: {
|
||||
XWidgets
|
||||
XWidgets,
|
||||
},
|
||||
|
||||
props: {
|
||||
place: {
|
||||
type: String,
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
emits: ['mounted'],
|
||||
@ -57,10 +57,10 @@ export default defineComponent({
|
||||
updateWidgets(widgets) {
|
||||
this.$store.set('widgets', [
|
||||
...this.$store.state.widgets.filter(w => w.place !== this.place),
|
||||
...widgets
|
||||
...widgets,
|
||||
]);
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -25,7 +25,7 @@ const pagination = {
|
||||
endpoint: 'notes/mentions' as const,
|
||||
limit: 10,
|
||||
params: {
|
||||
visibility: 'specified'
|
||||
visibility: 'specified',
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
@ -47,7 +47,7 @@ props.activity.slice().forEach((d, i) => {
|
||||
year: date.getFullYear(),
|
||||
month: date.getMonth(),
|
||||
day: date.getDate(),
|
||||
weekday: date.getDay()
|
||||
weekday: date.getDay(),
|
||||
};
|
||||
|
||||
d.v = peak === 0 ? 0 : d.total / (peak / 2);
|
||||
|
@ -100,7 +100,7 @@ onMounted(() => {
|
||||
props.connection.on('stats', onStats);
|
||||
props.connection.on('statsLog', onStatsLog);
|
||||
props.connection.send('requestLog', {
|
||||
id: Math.random().toString().substr(2, 8)
|
||||
id: Math.random().toString().substr(2, 8),
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -70,7 +70,7 @@ onMounted(() => {
|
||||
props.connection.on('stats', onStats);
|
||||
props.connection.on('statsLog', onStatsLog);
|
||||
props.connection.send('requestLog', {
|
||||
id: Math.random().toString().substr(2, 8)
|
||||
id: Math.random().toString().substr(2, 8),
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -82,7 +82,7 @@ const choose = async (ev) => {
|
||||
menuOpened.value = true;
|
||||
const [antennas, lists] = await Promise.all([
|
||||
os.api('antennas/list'),
|
||||
os.api('users/lists/list')
|
||||
os.api('users/lists/list'),
|
||||
]);
|
||||
const antennaItems = antennas.map(antenna => ({
|
||||
text: antenna.name,
|
||||
@ -90,7 +90,7 @@ const choose = async (ev) => {
|
||||
action: () => {
|
||||
widgetProps.antenna = antenna;
|
||||
setSrc('antenna');
|
||||
}
|
||||
},
|
||||
}));
|
||||
const listItems = lists.map(list => ({
|
||||
text: list.name,
|
||||
@ -98,24 +98,24 @@ const choose = async (ev) => {
|
||||
action: () => {
|
||||
widgetProps.list = list;
|
||||
setSrc('list');
|
||||
}
|
||||
},
|
||||
}));
|
||||
os.popupMenu([{
|
||||
text: i18n.ts._timelines.home,
|
||||
icon: 'ti ti-home',
|
||||
action: () => { setSrc('home'); }
|
||||
action: () => { setSrc('home'); },
|
||||
}, {
|
||||
text: i18n.ts._timelines.local,
|
||||
icon: 'ti ti-messages',
|
||||
action: () => { setSrc('local'); }
|
||||
action: () => { setSrc('local'); },
|
||||
}, {
|
||||
text: i18n.ts._timelines.social,
|
||||
icon: 'ti ti-share',
|
||||
action: () => { setSrc('social'); }
|
||||
action: () => { setSrc('social'); },
|
||||
}, {
|
||||
text: i18n.ts._timelines.global,
|
||||
icon: 'ti ti-world',
|
||||
action: () => { setSrc('global'); }
|
||||
action: () => { setSrc('global'); },
|
||||
}, antennaItems.length > 0 ? null : undefined, ...antennaItems, listItems.length > 0 ? null : undefined, ...listItems], ev.currentTarget ?? ev.target).then(() => {
|
||||
menuOpened.value = false;
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user