Compare commits

..

38 Commits

Author SHA1 Message Date
272a4f9b81 Merge branch 'develop' 2022-09-18 16:07:24 +09:00
a6ec46fe65 Merge branch 'develop' 2022-09-17 00:32:39 +09:00
23c0fe7fe2 Merge branch 'develop' 2022-09-13 21:13:33 +09:00
424bdfa9bf Merge branch 'develop' 2022-09-13 21:13:07 +09:00
62e461e02c Merge branch 'develop' 2022-09-12 02:42:48 +09:00
94c362cbb6 Merge branch 'develop' 2022-09-12 01:39:40 +09:00
f1ef1d83d8 Merge branch 'develop' 2022-09-11 23:07:53 +09:00
b730f49652 Merge branch 'develop' 2022-09-10 22:48:17 +09:00
e07272b1de Merge branch 'develop' 2022-09-10 22:03:40 +09:00
9fcb205364 Merge branch 'develop' 2022-09-04 03:47:52 +09:00
a3862af515 Merge branch 'develop' 2022-08-24 17:21:20 +09:00
e8385487ed
fix: backend note test (文字数オーバー) 2022-08-12 04:12:40 +09:00
f676bd069d Merge branch 'develop' 2022-08-12 03:57:46 +09:00
13ff53e3a5 Merge branch 'develop' 2022-07-19 17:28:25 +09:00
ab13bb419b Merge branch 'develop' 2022-07-17 18:35:27 +09:00
7ffc58ccd8 Merge branch 'develop' 2022-07-17 15:46:11 +09:00
58fbe015be Merge branch 'develop' 2022-06-18 18:25:27 +09:00
c2f4b08c1b Merge branch 'develop' 2022-06-17 01:47:04 +09:00
d9c04a1df3 Merge branch 'develop' 2022-06-17 00:03:25 +09:00
cfc1016ac7 Merge branch 'develop' 2022-06-16 19:05:27 +09:00
8624730752 Merge branch 'develop' 2022-06-16 18:58:56 +09:00
3e5feaee3d Merge branch 'develop' 2022-06-16 18:42:10 +09:00
d7e9ed7301 Merge remote-tracking branch 'origin/develop' 2022-06-16 04:52:03 +09:00
7ff4f3d30f Merge branch 'develop' 2022-06-16 00:59:03 +09:00
52c06b5b2a Merge branch 'develop' 2022-06-16 00:33:54 +09:00
ebcd23ba0c Merge branch 'develop' 2022-06-16 00:25:02 +09:00
7e24765ccf Merge branch 'develop' 2022-06-15 23:37:32 +09:00
03ac1c18a7 Merge branch 'develop' 2022-06-13 23:32:32 +09:00
4c1104241a Merge branch 'develop' 2022-06-13 23:24:24 +09:00
d304f94cdd Merge branch 'develop' 2022-06-13 23:18:02 +09:00
fbe2d7dc69 Merge branch 'develop' 2022-06-13 22:39:24 +09:00
b10be4ee89 Merge branch 'develop' 2022-06-13 22:12:12 +09:00
df5c410295 Merge branch 'develop' 2022-06-13 16:31:46 +09:00
c38c0bd6b0 Merge branch 'develop' 2022-06-11 20:37:28 +09:00
cab9229e45
update package.json3 2022-05-24 22:58:19 +09:00
2aa081423e
update package.json2 2022-05-24 22:52:56 +09:00
b6357750b0
update package.json 2022-05-24 22:46:16 +09:00
70267e2a9f Merge branch 'develop' 2022-05-24 22:45:31 +09:00
2 changed files with 36 additions and 31 deletions

View File

@ -1,6 +1,6 @@
{
"name": "misskey",
"version": "12.119.0-simkey-v10111",
"version": "12.119.0-simkey-v8",
"codename": "indigo",
"repository": {
"type": "git",

View File

@ -1,19 +1,15 @@
import { defineAsyncComponent } from 'vue';
import { $i } from '@/account';
import { i18n } from '@/i18n';
import * as os from '@/os';
import copyToClipboard from '@/scripts/copy-to-clipboard';
import { defineAsyncComponent } from 'vue';
import { entities } from 'misskey-js';
import { MenuItem } from '@/types/menu';
import { CustomEmoji } from 'misskey-js/built/entities';
export async function openReactionImportMenu(ev: MouseEvent, reaction: string): Promise<void> {
if (!reaction) return;
export async function openReactionImportMenu(ev: MouseEvent, reaction: string) {
const host = reaction.match(/(?<=@).*\.*(?=:)/g)?.[0];
const name = reaction.match(/(?<=:).*(?=@.*\.*(?=:))/g)?.[0];
const isLocal = (host === null || host === '.');
const isCustom = reaction.startsWith(':');
const getEmojiObject = (emojiId): Promise<Record<string, any> | null> => new Promise<Record<string, any> | null>(async resolve => {
const getEmojiObject = emojiId => new Promise<Record<string, any> | null>(async resolve => {
const sinceId = await os.api('admin/emoji/list', {
limit: 1,
untilId: emojiId.id,
@ -37,9 +33,14 @@ export async function openReactionImportMenu(ev: MouseEvent, reaction: string):
resolve(id[0]);
});
const getEmojiId = async (): Promise<string | null> => {
const getEmojiId = async (emojiName: string) => {
const isLocal = (emojiName.match(/(?<=@).*\.*(?=:)/g) == null || emojiName.match(/(?<=@).*\.*(?=:)/g)[0] == '.');
if (isLocal) return null;
if (!host || !name) return null;
const host = emojiName.match(/(?<=@).*\.*(?=:)/g)[0];
const name = emojiName.match(/(?<=:).*(?=@.*\.*(?=:))/g)[0];
if (!host || !name) return;
const resList: Record<string, any>[] = await os.api('admin/emoji/list-remote', {
host,
@ -47,13 +48,13 @@ export async function openReactionImportMenu(ev: MouseEvent, reaction: string):
limit: 100,
});
const emojiId = await resList.find(emoji => emoji.name === name && emoji.host === host)?.id;
const emojiId = await resList.find(emoji => emoji.name == name && emoji.host == host)?.id;
return emojiId;
};
}
const importEmoji = async (): Promise<void> => {
const emojiId = await getEmojiId();
const importEmoji = async (emojiName: string) => {
const emojiId = await getEmojiId(emojiName);
if (!await emojiId) return;
os.api('admin/emoji/copy', {
emojiId: emojiId,
@ -62,6 +63,9 @@ export async function openReactionImportMenu(ev: MouseEvent, reaction: string):
}));
};
if (!($i?.isAdmin || $i?.isModerator)) return;
if (!reaction) return;
const menuItems: MenuItem[] = [{
type: 'label',
text: reaction,
@ -69,19 +73,18 @@ export async function openReactionImportMenu(ev: MouseEvent, reaction: string):
type: 'button',
icon: 'fas fa-copy',
text: i18n.ts.copy,
action: (): void => {
copyToClipboard(isCustom ? `:${name}:` : reaction);
action: () => {
copyToClipboard(reaction => {
if (reaction.startsWith(':')) {
return `:${reaction.match(/(?<=:).*(?=@.*\.*(?=:))/g)[0]}:` || reaction;
} else {
return reaction;
}
});
},
}];
const emojiId = await getEmojiId() ? await getEmojiId() : reaction;
if (
isCustom &&
emojiId &&
($i?.isAdmin || $i?.isModerator) &&
!isLocal
) {
}];
const emojiId = await getEmojiId(reaction) ? await getEmojiId(reaction) : reaction;
if (reaction.startsWith(':') && emojiId) {
menuItems.push({
type: 'button',
icon: 'fas fa-download',
@ -90,7 +93,7 @@ export async function openReactionImportMenu(ev: MouseEvent, reaction: string):
const duplication: boolean = await os.api('meta').then(meta => {
const emojis = meta.emojis;
return emojis.some((emoji) => {
return (emoji.name === name);
return (emoji.name === reaction.match(/(?<=:).*(?=@.*\.*(?=:))/g)[0]);
});
});
@ -100,15 +103,17 @@ export async function openReactionImportMenu(ev: MouseEvent, reaction: string):
text: i18n.ts.duplicateEmoji,
}).then(res => {
if (res.canceled) return;
importEmoji();
importEmoji(reaction);
});
} else {
importEmoji();
importEmoji(reaction);
}
},
});
}
os.contextMenu(menuItems, ev);
}