mirror of
https://github.com/hotomoe/hotomoe
synced 2024-12-01 16:28:12 +09:00
refactor(client): ✨
This commit is contained in:
parent
980a99b6c9
commit
46c0280764
@ -74,7 +74,7 @@ import { formatTimeString } from '@/scripts/format-time-string';
|
||||
import { Autocomplete } from '@/scripts/autocomplete';
|
||||
import { noteVisibilities } from 'misskey-js';
|
||||
import * as os from '@/os';
|
||||
import { selectFile } from '@/scripts/select-file';
|
||||
import { selectFiles } from '@/scripts/select-file';
|
||||
import { defaultStore, notePostInterruptors, postFormActions } from '@/store';
|
||||
import { throttle } from 'throttle-debounce';
|
||||
import MkInfo from '@/components/ui/info.vue';
|
||||
@ -456,7 +456,7 @@ export default defineComponent({
|
||||
},
|
||||
|
||||
chooseFileFrom(ev) {
|
||||
selectFile(ev.currentTarget || ev.target, this.$ts.attachFile, true).then(files => {
|
||||
selectFiles(ev.currentTarget || ev.target, this.$ts.attachFile).then(files => {
|
||||
for (const file of files) {
|
||||
this.files.push(file);
|
||||
}
|
||||
|
@ -53,7 +53,7 @@ import MkButton from '@/components/ui/button.vue';
|
||||
import MkInput from '@/components/form/input.vue';
|
||||
import MkPagination from '@/components/ui/pagination.vue';
|
||||
import MkTab from '@/components/tab.vue';
|
||||
import { selectFile } from '@/scripts/select-file';
|
||||
import { selectFiles } from '@/scripts/select-file';
|
||||
import * as os from '@/os';
|
||||
import * as symbols from '@/symbols';
|
||||
|
||||
@ -117,7 +117,7 @@ export default defineComponent({
|
||||
|
||||
methods: {
|
||||
async add(e) {
|
||||
const files = await selectFile(e.currentTarget || e.target, null, true);
|
||||
const files = await selectFiles(e.currentTarget || e.target, null);
|
||||
|
||||
const promise = Promise.all(files.map(file => os.api('admin/emoji/add', {
|
||||
fileId: file.id,
|
||||
|
@ -112,7 +112,7 @@ export default defineComponent({
|
||||
},
|
||||
|
||||
setBannerImage(e) {
|
||||
selectFile(e.currentTarget || e.target, null, false).then(file => {
|
||||
selectFile(e.currentTarget || e.target, null).then(file => {
|
||||
this.bannerId = file.id;
|
||||
});
|
||||
},
|
||||
|
@ -37,7 +37,7 @@ import FormTuple from '@/components/debobigego/tuple.vue';
|
||||
import FormBase from '@/components/debobigego/base.vue';
|
||||
import FormGroup from '@/components/debobigego/group.vue';
|
||||
import FormSuspense from '@/components/debobigego/suspense.vue';
|
||||
import { selectFile } from '@/scripts/select-file';
|
||||
import { selectFiles } from '@/scripts/select-file';
|
||||
import * as os from '@/os';
|
||||
import * as symbols from '@/symbols';
|
||||
|
||||
@ -95,7 +95,7 @@ export default defineComponent({
|
||||
|
||||
methods: {
|
||||
selectFile(e) {
|
||||
selectFile(e.currentTarget || e.target, null, true).then(files => {
|
||||
selectFiles(e.currentTarget || e.target, null).then(files => {
|
||||
this.files = this.files.concat(files);
|
||||
});
|
||||
},
|
||||
|
@ -152,7 +152,7 @@ export default defineComponent({
|
||||
},
|
||||
|
||||
chooseFile(e) {
|
||||
selectFile(e.currentTarget || e.target, this.$ts.selectFile, false).then(file => {
|
||||
selectFile(e.currentTarget || e.target, this.$ts.selectFile).then(file => {
|
||||
this.file = file;
|
||||
});
|
||||
},
|
||||
|
@ -448,7 +448,7 @@ export default defineComponent({
|
||||
},
|
||||
|
||||
setEyeCatchingImage(e) {
|
||||
selectFile(e.currentTarget || e.target, null, false).then(file => {
|
||||
selectFile(e.currentTarget || e.target, null).then(file => {
|
||||
this.eyeCatchingImageId = file.id;
|
||||
});
|
||||
},
|
||||
|
@ -210,7 +210,7 @@ export default defineComponent({
|
||||
},
|
||||
|
||||
chooseImage(key, e) {
|
||||
selectFile(e.currentTarget || e.target, null, false).then(file => {
|
||||
selectFile(e.currentTarget || e.target, null).then(file => {
|
||||
room.updateProp(key, `/proxy/?${urlQuery({ url: file.thumbnailUrl })}`);
|
||||
this.$refs.preview.selected(room.getSelectedObject());
|
||||
this.changed = true;
|
||||
|
@ -188,7 +188,7 @@ export default defineComponent({
|
||||
themesCount,
|
||||
wallpaper,
|
||||
setWallpaper(e) {
|
||||
selectFile(e.currentTarget || e.target, null, false).then(file => {
|
||||
selectFile(e.currentTarget || e.target, null).then(file => {
|
||||
wallpaper.value = file.url;
|
||||
});
|
||||
},
|
||||
|
@ -1,8 +1,9 @@
|
||||
import * as os from '@/os';
|
||||
import { i18n } from '@/i18n';
|
||||
import { defaultStore } from '@/store';
|
||||
import { DriveFile } from 'misskey-js/built/entities';
|
||||
|
||||
export function selectFile(src: any, label: string | null, multiple = false) {
|
||||
function select(src: any, label: string | null, multiple: boolean): Promise<DriveFile | DriveFile[]> {
|
||||
return new Promise((res, rej) => {
|
||||
const chooseFileFromPc = () => {
|
||||
const input = document.createElement('input');
|
||||
@ -86,3 +87,11 @@ export function selectFile(src: any, label: string | null, multiple = false) {
|
||||
}], src);
|
||||
});
|
||||
}
|
||||
|
||||
export function selectFile(src: any, label: string | null = null): Promise<DriveFile> {
|
||||
return select(src, label, false) as Promise<DriveFile>;
|
||||
}
|
||||
|
||||
export function selectFiles(src: any, label: string | null = null): Promise<DriveFile[]> {
|
||||
return select(src, label, true) as Promise<DriveFile[]>;
|
||||
}
|
||||
|
@ -59,7 +59,7 @@ import * as Acct from 'misskey-js/built/acct';
|
||||
import { formatTimeString } from '@/scripts/format-time-string';
|
||||
import { Autocomplete } from '@/scripts/autocomplete';
|
||||
import * as os from '@/os';
|
||||
import { selectFile } from '@/scripts/select-file';
|
||||
import { selectFiles } from '@/scripts/select-file';
|
||||
import { notePostInterruptors, postFormActions } from '@/store';
|
||||
import { throttle } from 'throttle-debounce';
|
||||
|
||||
@ -342,7 +342,7 @@ export default defineComponent({
|
||||
},
|
||||
|
||||
chooseFileFrom(ev) {
|
||||
selectFile(ev.currentTarget || ev.target, this.$ts.attachFile, true).then(files => {
|
||||
selectFiles(ev.currentTarget || ev.target, this.$ts.attachFile).then(files => {
|
||||
for (const file of files) {
|
||||
this.files.push(file);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user