11<script setup lang="ts">
22import { replaceAsideItem } from ' ../aside/asideItemStore'
3- import type { Message } from ' ~/types/api/chat-message'
3+ import type { ChatMessage } from ' ~/types/api/chat-message'
44
55const props = defineProps <{
6- uid : number
6+ userId : number
77}>()
88
99const socket = useSocketIO ()
1010useSocketIOErrorHandler ()
1111
1212const historyContainer = ref <HTMLDivElement | null >(null )
1313const messageInput = ref (' ' )
14- const messages = ref <Message []>([])
14+ const messages = ref <ChatMessage []>([])
1515const isLoadHistoryMessageComplete = ref (false )
1616const isShowLoader = computed (() => {
1717 if (isLoadHistoryMessageComplete .value ) {
@@ -22,8 +22,8 @@ const isShowLoader = computed(() => {
2222 }
2323 return true
2424})
25- const currentUserUid = usePersistUserStore ().uid
26- const uid = props .uid
25+ const currentUserUid = usePersistUserStore ().id
26+ const uid = props .userId
2727const pageData = reactive ({
2828 page: 1 ,
2929 limit: 30
@@ -69,15 +69,15 @@ watch(
6969onMounted (async () => {
7070 socket .emit (' private:join' , uid )
7171
72- socket .on (' message:sent' , (newMessage : Message ) => {
72+ socket .on (' message:sent' , (newMessage : ChatMessage ) => {
7373 messages .value .push (newMessage )
7474 replaceAsideItem (newMessage )
7575 messageInput .value = ' '
7676 nextTick (() => scrollToBottom ())
7777 })
7878
79- socket .on (' message:received' , (msg : Message ) => {
80- if (msg .receiverUid === currentUserUid && msg .sender .uid === uid ) {
79+ socket .on (' message:received' , (msg : ChatMessage ) => {
80+ if (msg .receiverUid === currentUserUid && msg .sender .id === uid ) {
8181 messages .value .push (msg )
8282 replaceAsideItem (msg )
8383 nextTick (() => {
@@ -97,7 +97,7 @@ onMounted(async () => {
9797const onKeydown = async (event : KeyboardEvent ) => {
9898 if (event .key === ' Enter' ) {
9999 event .preventDefault ()
100- await sendMessage ()
100+ sendMessage ()
101101 }
102102}
103103
@@ -156,7 +156,7 @@ const handleLoadHistoryMessages = async () => {
156156 v-for =" (message , index ) in messages "
157157 :key =" index "
158158 :message =" message "
159- :is-sent =" uid !== message .sender .uid "
159+ :is-sent =" uid !== message .sender .id "
160160 />
161161 </div >
162162
0 commit comments