закреп сообщений и еще че та
This commit is contained in:
parent
6c2bbb9431
commit
60d838af59
3 changed files with 34 additions and 53 deletions
|
@ -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){
|
||||||
|
|
|
@ -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) => {
|
||||||
|
|
|
@ -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>
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue