закреп сообщений и еще че та

This commit is contained in:
uniknow 2024-06-09 19:26:26 +04:00
parent 6c2bbb9431
commit 60d838af59
3 changed files with 34 additions and 53 deletions

View file

@ -11,23 +11,17 @@
}) })
if(response.ok){ if(response.ok){
let msgMassive = await response.json(); let data = await response.json()
msgMassive = msgMassive.messages let msgMassive = data.messages
let localTime console.log(msgMassive, " аа сообщения", chatId, " - айди")
for(let i = 0; i < msgMassive.length; i++){
localTime = new Date(msgMassive[i].created_at)
msgMassive[i].created_at = localTime
if(msgMassive[i].answer_id != null){
let answer = await getMessageById(chatId,msgMassive[i].answer_id) if(msgMassive === null){
msgMassive[i].answerMessage = answer.message return []
//console.log(answer.message)
} }
else{
msgMassive.reverse();
return msgMassive
} }
msgMassive.reverse();
return msgMassive
} }
else if(response.status === 404){ else if(response.status === 404){

View file

@ -68,7 +68,7 @@
export default function createWebSocket(url, token, onMessageCallback) { export default function createWebSocket(url, token, onMessageCallback) {
token = token.split(" ")[1] token = token.split(" ")[1]
console.log(token) //console.log(token)
const socket = new WebSocket(url, [token]) const socket = new WebSocket(url, [token])
socket.addEventListener('message', (event) => { socket.addEventListener('message', (event) => {

View file

@ -49,7 +49,8 @@
// Проверяем, что текущий хэш соответствует шаблону для чата // Проверяем, что текущий хэш соответствует шаблону для чата
if (window.location.hash.startsWith('#id=')) { if (window.location.hash.startsWith('#id=')) {
chatId = window.location.hash.slice(4); chatId = window.location.hash.slice(4);
console.log(chatId, " chatId") msgLoaded = 0
console.log(chatId, " chatId", msgLoaded)
messages = await getLastMessages(chatId,msgLoaded) messages = await getLastMessages(chatId,msgLoaded)
setTimeout(scrollDown,50) setTimeout(scrollDown,50)
@ -69,14 +70,12 @@
socket = createWebSocket(websocketUrl, token, async (message) => { socket = createWebSocket(websocketUrl, token, async (message) => {
//console.log(message, "сообщение!!!!!") console.log(message, "сообщение!!!!!")
if(message.flag === "pin" ){
if(message.answer_id != null){ console.log("ЗАКРЕП!!!!!!!!!!!")
let answer = await getMessageById(chatId,message.answer_id) pinnedMsg = [message, ...pinnedMsg]
message.answerMessage = answer.message }
//console.log(answer.message) else if(message.flag === "delete"){
}
if(message.flag === "delete"){
let messageToDelete = messages.findIndex(msg => msg.id === message.id) let messageToDelete = messages.findIndex(msg => msg.id === message.id)
console.log(messageToDelete, "индекс сообщения, которое нужно делитнуть") console.log(messageToDelete, "индекс сообщения, которое нужно делитнуть")
messages.splice(messageToDelete,1) messages.splice(messageToDelete,1)
@ -103,7 +102,7 @@
if((messageText != "") || image != null){ if((messageText != "") || image != null){
console.log(image) console.log(image, " картинка")
socket.send(JSON.stringify({flag: flag, socket.send(JSON.stringify({flag: flag,
message: messageText, message: messageText,
@ -116,7 +115,7 @@
answer = null answer = null
answerMessageTextShow = false answerMessageTextShow = false
answerMessageImgShow = false answerMessageImgShow = false
answerMessage = "" answerMessage = ""
answerMessageImg = "" answerMessageImg = ""
} }
@ -161,7 +160,6 @@ let PickedImg = ""
let PickedName = "" let PickedName = ""
$: console.log(pickedId) $: console.log(pickedId)
$: console.log(answer) $: console.log(answer)
$: console.log(answerMessage)
function helperDivShow(event, id, text, img, username) { function helperDivShow(event, id, text, img, username) {
event.preventDefault(); event.preventDefault();
@ -186,7 +184,6 @@ function helperDivShow(event, id, text, img, username) {
function hideHelperDiv(event){ function hideHelperDiv(event){
if ((event.target !== helperDiv) && (helperDiv)) { if ((event.target !== helperDiv) && (helperDiv)) {
helperDiv.style.opacity = "0"; helperDiv.style.opacity = "0";
} }
} }
@ -206,30 +203,20 @@ function helperDivShow(event, id, text, img, username) {
} }
async function pinFunc(event){ async function pinFunc(event){
let findPinMsg
let alreadyPinned = false
if(pinnedMsg != null){ if(pinnedMsg != null){
findPinMsg = pinnedMsg.find(msg => msg.id === pickedId) let findPinMsg = pinnedMsg.find(msg => msg.id === pickedId)
console.log(findPinMsg) if(findPinMsg != null)
alreadyPinned = true
if(findPinMsg != undefined){ }
console.log("удаляю сообщение") if(alreadyPinned === false){
unpinMessage(chatId,pickedId) socket.send(JSON.stringify({"flag": "pin",
pinnedMsg = await getPinnedMsg(chatId) "user_id": userId,
console.log(pinnedMsg) "id": pickedId
} else { }));
}
console.log("добавляю сообщение, потому что такого еще не было") }
await pinMessage(chatId,pickedId)
pinnedMsg = await getPinnedMsg(chatId)
}} else {
console.log("добавляю сообщение, потому что сообщений нет")
await pinMessage(chatId,pickedId)
pinnedMsg = await getPinnedMsg(chatId)
console.log(pinmsg, " сообщения для закрепа", pinnedMsg, "массив закреп сообщений")
}}
function delFunc(event){ function delFunc(event){
socket.send(JSON.stringify({"flag": "delete", socket.send(JSON.stringify({"flag": "delete",
@ -371,9 +358,9 @@ function helperDivShow(event, id, text, img, username) {
<div class="nameAnswerDiv"> <div class="nameAnswerDiv">
<h3>{message.username}</h3> <h3>{message.username}</h3>
{#if message.answerMessage != null} {#if message.answer_message != null}
<img src="./icon/answerMsg.png" alt=""> <img src="./icon/answerMsg.png" alt="">
<p>{message.answerMessage.substr(0, 20)}</p> <p>{message.answer_message.substr(0, 20)}</p>
{/if} {/if}
</div> </div>