色々fix

This commit is contained in:
mattyatea 2023-10-12 15:25:41 +09:00
parent 805280874b
commit 592c6e60a9
11 changed files with 388 additions and 6 deletions

View file

@ -86,6 +86,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<button v-if="postFormActions.length > 0" v-tooltip="i18n.ts.plugin" class="_button" :class="$style.footerButton" @click="showActions"><i class="ti ti-plug"></i></button>
<button v-tooltip="i18n.ts.emoji" :class="['_button', $style.footerButton]" @click="insertEmoji"><i class="ti ti-mood-happy"></i></button>
<button v-tooltip="i18n.ts.mfm" :class="['_button', $style.footerButton]" @click="insertMfm"><i class="ti ti-wand"></i></button>
<button v-tooltip="i18n.ts.ruby" :class="['_button', $style.footerButton]" @click="insertRuby"><i class="ti ti-abc"></i></button>
</div>
<div :class="$style.footerRight">
<button v-tooltip="i18n.ts.previewNoteText" class="_button" :class="[$style.footerButton, { [$style.previewButtonActive]: showPreview }]" @click="showPreview = !showPreview"><i class="ti ti-eye"></i></button>
@ -849,6 +850,9 @@ async function insertEmoji(ev: MouseEvent) {
function insertMfm(){
insertTextAtCursor(textareaEl, '$');
}
function insertRuby() {
insertTextAtCursor(textareaEl, '$[ruby 本文 上につくやつ]');
}
function showActions(ev) {
os.popupMenu(postFormActions.map(action => ({
text: action.title,

View file

@ -340,9 +340,24 @@ export default function(props: {
text:base[1]
});
}else if(token.children.length === 2){
let txt,base;
console.log(token.children)
const base = token.children[0].type !== 'unicodeEmoji' ? token.children[0].props.text : token.children[0].props.emoji;
const txt = token.children[1].type !== 'unicodeEmoji' ? token.children[1].props.text : token.children[1].props.emoji;
if (token.children[1].type === 'emojiCode'){
txt = token.children[1].props.name
}else if(token.children[1].type === 'unicodeEmoji'){
txt = token.children[1].props.emoji
}else {
txt = token.children[1].props.text
}
if (token.children[0].type === 'emojiCode'){
base = token.children[0].props.name
}else if(token.children[0].type === 'unicodeEmoji'){
base = token.children[0].props.emoji
}else {
base = token.children[0].props.text
}
return h(MkRuby,{
base:base,
basetype:token.children[0].type,

View file

@ -1,6 +1,7 @@
<script setup lang="ts">
import { computed } from 'vue';
import MkEmoji from './MkEmoji.vue';
import MkCustomEmoji from './MkCustomEmoji.vue';
const props = defineProps<{
base: string;
text: string;
@ -10,9 +11,11 @@ const props = defineProps<{
<template>
<ruby>
<MkEmoji v-if="basetype === 'unicodeEmoji' " class="emoji" :emoji="base" :normal="true"/>
<p v-else >{{base}}</p>
<MkEmoji v-if="basetype === 'unicodeEmoji' " class="emoji" :emoji="base" :normal="true" />
<MkCustomEmoji v-else-if="basetype === 'emojiCode' " :name="base"/>
<span style="white-space: pre-wrap;" v-else >{{base}}</span>
<rt>{{text}}</rt>
</ruby>
</template>
<style>
</style>