104 lines
2.1 KiB
Vue
104 lines
2.1 KiB
Vue
<template>
|
||
<div :class="['message-input-button', !isPC && 'message-input-button-h5']">
|
||
<button
|
||
v-if="props.enableSend"
|
||
class="message-input-button-cont"
|
||
data-type="text"
|
||
:disabled="false"
|
||
@click="sendMessage"
|
||
>
|
||
<p
|
||
v-if="displayHover"
|
||
class="message-input-button-hover"
|
||
>
|
||
{{ TUITranslateService.t("TUIChat.按Enter发送,Ctrl+Enter换行") }}
|
||
</p>
|
||
{{ TUITranslateService.t("发送") }}
|
||
</button>
|
||
</div>
|
||
</template>
|
||
<script setup lang="ts">
|
||
import { ref } from '../../../adapter-vue';
|
||
import { TUITranslateService } from '@tencentcloud/chat-uikit-engine';
|
||
import { TUIConstants } from '@tencentcloud/tui-core';
|
||
import { isPC } from '../../../utils/env';
|
||
import TUIChatConfig from '../config';
|
||
|
||
const props = defineProps({
|
||
enableSend: {
|
||
type: Boolean,
|
||
default: true,
|
||
},
|
||
});
|
||
|
||
const displayHover = ref(TUIChatConfig.getChatType() !== TUIConstants.TUIChat.TYPE.ROOM);
|
||
|
||
const emits = defineEmits(['sendMessage']);
|
||
|
||
const sendMessage = () => {
|
||
emits('sendMessage');
|
||
};
|
||
</script>
|
||
<style scoped lang="scss">
|
||
@import "../../../assets/styles/common";
|
||
|
||
.message-input-button {
|
||
position: absolute;
|
||
bottom: 20px;
|
||
right: 20px;
|
||
|
||
&-h5 {
|
||
position: static;
|
||
}
|
||
|
||
&-cont {
|
||
padding: 8px 20px;
|
||
border-radius: 4px;
|
||
border: none;
|
||
font-size: 14px;
|
||
text-align: center;
|
||
line-height: 20px;
|
||
font-weight: 400;
|
||
background: #006eff;
|
||
color: #fff;
|
||
letter-spacing: 0;
|
||
cursor: pointer;
|
||
}
|
||
|
||
&-hover {
|
||
display: none;
|
||
justify-content: center;
|
||
align-items: center;
|
||
position: absolute;
|
||
right: 120%;
|
||
word-break: keep-all;
|
||
height: 30px;
|
||
white-space: nowrap;
|
||
top: 0;
|
||
bottom: 0;
|
||
margin: auto 0;
|
||
padding: 5px 10px;
|
||
border-radius: 3px;
|
||
background: #000;
|
||
color: #fff;
|
||
opacity: 0.3;
|
||
|
||
&::before {
|
||
content: "";
|
||
position: absolute;
|
||
width: 0;
|
||
height: 0;
|
||
right: -20px;
|
||
border: 10px solid transparent;
|
||
border-left: 10px solid #000;
|
||
}
|
||
}
|
||
|
||
&:hover {
|
||
.message-input-button-hover {
|
||
display: flex;
|
||
}
|
||
}
|
||
}
|
||
</style>
|