Compare commits
2 Commits
64d52b071d
...
1dea2f76ad
Author | SHA1 | Date | |
---|---|---|---|
1dea2f76ad | |||
01fe023d06 |
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="event">
|
||||
<div v-if="event.type==='m.room.message'" :class="type==='send'?'messageSend':'messageReceive'" class="message">
|
||||
<reply-event :event="replyEvent"/>
|
||||
<reply-event :event="replyEvent" v-if="replyEvent"/>
|
||||
|
||||
<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)"/>
|
||||
|
@ -8,12 +8,21 @@ export function solveTextLinks(text){
|
||||
}
|
||||
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,6 +26,7 @@ export function getPreviewUrl(mxcUrl, size = 64, resizeMethod = 'crop'){
|
||||
}
|
||||
|
||||
export function getMediaUrl(mxcUrl){
|
||||
if (!mxcUrl) return undefined;
|
||||
let mxc = parseMXC.parse(mxcUrl);
|
||||
return `${matrix.baseUrl}/_matrix/media/r0/download/${
|
||||
mxc.homeserver}/${mxc.id}`;
|
||||
|
Loading…
Reference in New Issue
Block a user