diff --git a/README.md b/README.md
index 033c7bb..cf1c415 100644
--- a/README.md
+++ b/README.md
@@ -5,4 +5,3 @@
При переходе на #!id:homeserver.ru если комната разрешает просмотр гостям, то появляется "список постов"
Можно получить отдельное событие через #id:homeserver.ru/!event_id:homeserver.ru
-[![Made with Bulma](https://bulma.io/images/made-with-bulma.png)](https://bulma.io)
diff --git a/blog.js b/blog.js
index ce18fe7..e092fc1 100644
--- a/blog.js
+++ b/blog.js
@@ -1,6 +1,5 @@
let posts = [];
const table = document.querySelector("table");
-
function getReactions(posts,p){
let reactions = [];
const preReactions = posts.filter(f => f.type == "m.reaction" && f.content["m.relates_to"].event_id == p.event_id).map(m => m.content["m.relates_to"]);
@@ -23,8 +22,8 @@ function getReactions(posts,p){
}
function printPost(post,roomId,noButton){
let body = DOMPurify.sanitize(post.content.formatted_body ?? post.content.body);
-body = body.split("\n").join("
");
- table.innerHTML += `
${body}${post.content.msgtype == "m.image" ? ` ` : ''}${!noButton ? `Открыть` : ''} |
`;
+ body = body.split("\n").join("
");
+ table.innerHTML += `${post.sender} ${body}${post.content.msgtype == "m.image" ? ` ` : ''}${!noButton ? ` Открыть` : ''} |
`;
}
function loadPosts(roomId,start){
@@ -41,11 +40,17 @@ if(!["m.room.message","m.reaction"].includes(c.type)) return;
if(c.redacted_because) return;
if(ignored_events.includes(c.event_id)) return;
if(c.type == "m.room.message"){
+if(c.content.formatted_body != undefined){
+ c.content.body = "";
+ if(c.content["m.new_content"]) c.content["m.new_content"].body = "";
+ }
+
+ }
+
if(c.content.formatted_body != undefined){
c.content.body = "";
if(c.content["m.new_content"]) c.content["m.new_content"].body = "";
}
- }
if(c.content["m.new_content"]){
if(ignored_events.includes(c.content["m.relates_to"].event_id)) return;
@@ -53,19 +58,26 @@ if(c.type == "m.room.message"){
c.content = c.content["m.new_content"];
}
posts.push(c);
- });
+ })
posts.forEach((p,i,a) => {
printPost(p,roomId);
});
if(json.end) table.innerHTML += ``;
-});
+})
}
}
-
window.onhashchange = () => {
let hash = location.hash.slice(1);
if(hash.startsWith("!") && !hash.includes("/")){
return loadPosts(hash,undefined);
+ }else if(('#' + hash).match(/\#(.*)\:(\w*)\.(\w*)/gm)){
+ fetch(`https://matrix.org/_matrix/client/v3/directory/room/%23${hash.replace(":","%3A")}`).then(r => r.json()).then(json => {
+ if(!json.room_id){
+ table.innerHTML = `Ошибка! |
---|
Алиас не найден |
`;
+ }else{
+ loadPosts(json.room_id)
+ }
+ })
}
if(hash.includes("/")){
hash = hash.split("/");
@@ -81,10 +93,10 @@ table.innerHTML = `Контент |
`;
}
});
}else{
-//loadPosts("roomId");
-table.innerHTML = "Добро пожаловать |
---|
Это блог работающий поверх децентрализованного мессенджера Matrix |
"
+
+table.innerHTML = 'Добро пожаловать |
---|
Это блог работающий поверх децентрализованного мессенджера Matrix |
'
}
};
window.addEventListener("load", () => {
window.onhashchange();
-});
\ No newline at end of file
+});
diff --git a/index.html b/index.html
index c9cede3..50e792d 100644
--- a/index.html
+++ b/index.html
@@ -3,18 +3,12 @@
-
Blog
-
-
- АААААААААААААААААААААААААААААААА |
-
-
+
-