Save instance emojis

This commit is contained in:
Natsumi
2025-06-26 19:25:51 +12:00
parent bbe7120380
commit 97cc2dc81a
7 changed files with 178 additions and 27 deletions

View File

@@ -162,7 +162,7 @@
<span>{{ t('dialog.gallery_icons.recommended_image_size') }}: 1024x1024px (1:1)</span>
<br />
<br />
<div style="display: flex; align-items: center">
<div>
<el-button-group style="margin-right: 10px">
<el-button type="default" size="small" @click="refreshEmojiTable" icon="el-icon-refresh">
{{ t('dialog.gallery_icons.refresh') }}
@@ -237,7 +237,7 @@
@click="
showFullscreenImageDialog(
image.versions[image.versions.length - 1].file.url,
getEmojiFileName(image)
getEmojiName(image)
)
">
<template v-if="image.frames">
@@ -271,7 +271,7 @@
@click="
showFullscreenImageDialog(
image.versions[image.versions.length - 1].file.url,
getEmojiFileName(image)
getEmojiName(image)
)
"
size="mini"
@@ -489,6 +489,7 @@
@click="consumeInventoryBundle(item.id)"
size="mini"
icon="el-icon-plus"
style="float: right"
circle>
{{ t('dialog.gallery_icons.consume_bundle') }}
</el-button>
@@ -504,7 +505,7 @@
import { inventoryRequest, miscRequest, userRequest, vrcPlusIconRequest, vrcPlusImageRequest } from '../../api';
import { extractFileId } from '../../composables/shared/utils';
import { emojiAnimationStyleList, emojiAnimationStyleUrl } from '../../composables/user/constants/emoji';
import { getPrintFileName } from '../../composables/user/utils';
import { getPrintFileName, getEmojiFileName } from '../../composables/user/utils';
import Location from '../Location.vue';
const { t } = useI18n();
@@ -822,7 +823,7 @@
emojiAnimFps.value = parseInt(value.replace('fps', ''));
}
if (value.endsWith('loopStyle')) {
emojiAnimLoopPingPong.value = value === 'pingpong';
emojiAnimLoopPingPong.value = value.replace('loopStyle', '').toLowerCase() === 'pingpong';
}
}
}
@@ -891,13 +892,8 @@
document.getElementById('EmojiUploadButton').click();
}
function getEmojiFileName(emoji) {
if (emoji.frames) {
const loopStyle = emoji.loopStyle || 'linear';
return `${emoji.name}_${emoji.animationStyle}animationStyle_${emoji.frames}frames_${emoji.framesOverTime}fps_${loopStyle}loopStyle.png`;
} else {
return `${emoji.name}_${emoji.animationStyle}animationStyle.png`;
}
function getEmojiName(emoji) {
getEmojiFileName(emoji);
}
function generateEmojiStyle(url, fps, frameCount, loopStyle) {