Compare commits
No commits in common. "1dea2f76addf8008679be6c210d17ca40f0ca697" and "64d52b071db2621a4e7efb8f16ed71350215226c" have entirely different histories.
1dea2f76ad
...
64d52b071d
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="event">
|
<div class="event">
|
||||||
<div v-if="event.type==='m.room.message'" :class="type==='send'?'messageSend':'messageReceive'" class="message">
|
<div v-if="event.type==='m.room.message'" :class="type==='send'?'messageSend':'messageReceive'" class="message">
|
||||||
<reply-event :event="replyEvent" v-if="replyEvent"/>
|
<reply-event :event="replyEvent"/>
|
||||||
|
|
||||||
<div v-if="event.content.msgtype==='m.text'" v-html="parseMessage(event.content.body)"/>
|
<div v-if="event.content.msgtype==='m.text'" v-html="parseMessage(event.content.body)"/>
|
||||||
<div v-else-if="event.content.msgtype==='m.notice'" class="notice" v-html="parseMessage(event.content.body)"/>
|
<div v-else-if="event.content.msgtype==='m.notice'" class="notice" v-html="parseMessage(event.content.body)"/>
|
||||||
|
@ -8,21 +8,12 @@ export function solveTextLinks(text){
|
|||||||
}
|
}
|
||||||
return `${space}<a href="${hyperlink}" target="_blank">${url}</a>`;
|
return `${space}<a href="${hyperlink}" target="_blank">${url}</a>`;
|
||||||
}
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
export function parseMessage(msg){
|
||||||
|
return solveTextLinks(
|
||||||
|
msg.replace(/>.*\n/gm, '').trim()
|
||||||
|
.replace(/</g, '<')
|
||||||
|
.replace(/>/g, '>')
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
export function solveMarkdownLinks(text){
|
|
||||||
return (text || '').replace(
|
|
||||||
/\[([\w\s\d/\\._+-]+)]\(((?:\/|https?:\/\/)[\w\d/.?=#_+-]+)\)/gi,
|
|
||||||
(match, text, url)=>{
|
|
||||||
return `<a href="${url}" target="_blank">${text}</a>`;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
|
||||||
export function fixHtml(text){
|
|
||||||
return text.replace(/>.*\n/gm, '').trim()
|
|
||||||
.replace(/</g, '<')
|
|
||||||
.replace(/>/g, '>');
|
|
||||||
}
|
|
||||||
export function parseMessage(text){
|
|
||||||
return solveMarkdownLinks(solveTextLinks(fixHtml(text)));
|
|
||||||
}
|
|
@ -26,7 +26,6 @@ export function getPreviewUrl(mxcUrl, size = 64, resizeMethod = 'crop'){
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function getMediaUrl(mxcUrl){
|
export function getMediaUrl(mxcUrl){
|
||||||
if (!mxcUrl) return undefined;
|
|
||||||
let mxc = parseMXC.parse(mxcUrl);
|
let mxc = parseMXC.parse(mxcUrl);
|
||||||
return `${matrix.baseUrl}/_matrix/media/r0/download/${
|
return `${matrix.baseUrl}/_matrix/media/r0/download/${
|
||||||
mxc.homeserver}/${mxc.id}`;
|
mxc.homeserver}/${mxc.id}`;
|
||||||
|
Loading…
Reference in New Issue
Block a user