use codeblocks instead of HTML tables for some admin commands
Signed-off-by: strawberry <strawberry@puppygock.gay>
This commit is contained in:
parent
2fcedad2b1
commit
fc1834d629
2 changed files with 8 additions and 44 deletions
|
@ -1,9 +1,7 @@
|
||||||
use std::fmt::Write;
|
|
||||||
|
|
||||||
use conduit::Result;
|
use conduit::Result;
|
||||||
use ruma::events::room::message::RoomMessageEventContent;
|
use ruma::events::room::message::RoomMessageEventContent;
|
||||||
|
|
||||||
use crate::{admin_command, escape_html, get_room_info, PAGE_SIZE};
|
use crate::{admin_command, get_room_info, PAGE_SIZE};
|
||||||
|
|
||||||
#[admin_command]
|
#[admin_command]
|
||||||
pub(super) async fn list_rooms(
|
pub(super) async fn list_rooms(
|
||||||
|
@ -61,29 +59,14 @@ pub(super) async fn list_rooms(
|
||||||
};
|
};
|
||||||
|
|
||||||
let output_plain = format!(
|
let output_plain = format!(
|
||||||
"Rooms:\n{}",
|
"Rooms ({}):\n```\n{}\n```",
|
||||||
|
rooms.len(),
|
||||||
rooms
|
rooms
|
||||||
.iter()
|
.iter()
|
||||||
.map(|(id, members, name)| format!("{id}\tMembers: {members}\tName: {name}"))
|
.map(|(id, members, name)| format!("{id}\tMembers: {members}\tName: {name}"))
|
||||||
.collect::<Vec<_>>()
|
.collect::<Vec<_>>()
|
||||||
.join("\n")
|
.join("\n")
|
||||||
);
|
);
|
||||||
let output_html = format!(
|
|
||||||
"<table><caption>Room list - page \
|
Ok(RoomMessageEventContent::notice_markdown(output_plain))
|
||||||
{page}</caption>\n<tr><th>id</th>\t<th>members</th>\t<th>name</th></tr>\n{}</table>",
|
|
||||||
rooms
|
|
||||||
.iter()
|
|
||||||
.fold(String::new(), |mut output, (id, members, name)| {
|
|
||||||
writeln!(
|
|
||||||
output,
|
|
||||||
"<tr><td>{}</td>\t<td>{}</td>\t<td>{}</td></tr>",
|
|
||||||
escape_html(id.as_ref()),
|
|
||||||
members,
|
|
||||||
escape_html(name)
|
|
||||||
)
|
|
||||||
.expect("should be able to write to string buffer");
|
|
||||||
output
|
|
||||||
})
|
|
||||||
);
|
|
||||||
Ok(RoomMessageEventContent::text_html(output_plain, output_html))
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@ use ruma::{
|
||||||
use serde_json::value::to_raw_value;
|
use serde_json::value::to_raw_value;
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
admin_command, escape_html, get_room_info,
|
admin_command, get_room_info,
|
||||||
utils::{parse_active_local_user_id, parse_local_user_id},
|
utils::{parse_active_local_user_id, parse_local_user_id},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -320,7 +320,7 @@ pub(super) async fn list_joined_rooms(&self, user_id: String) -> Result<RoomMess
|
||||||
rooms.reverse();
|
rooms.reverse();
|
||||||
|
|
||||||
let output_plain = format!(
|
let output_plain = format!(
|
||||||
"Rooms {user_id} Joined ({}):\n{}",
|
"Rooms {user_id} Joined ({}):\n```\n{}\n```",
|
||||||
rooms.len(),
|
rooms.len(),
|
||||||
rooms
|
rooms
|
||||||
.iter()
|
.iter()
|
||||||
|
@ -329,26 +329,7 @@ pub(super) async fn list_joined_rooms(&self, user_id: String) -> Result<RoomMess
|
||||||
.join("\n")
|
.join("\n")
|
||||||
);
|
);
|
||||||
|
|
||||||
let output_html = format!(
|
Ok(RoomMessageEventContent::notice_markdown(output_plain))
|
||||||
"<table><caption>Rooms {user_id} Joined \
|
|
||||||
({})</caption>\n<tr><th>id</th>\t<th>members</th>\t<th>name</th></tr>\n{}</table>",
|
|
||||||
rooms.len(),
|
|
||||||
rooms
|
|
||||||
.iter()
|
|
||||||
.fold(String::new(), |mut output, (id, members, name)| {
|
|
||||||
writeln!(
|
|
||||||
output,
|
|
||||||
"<tr><td>{}</td>\t<td>{}</td>\t<td>{}</td></tr>",
|
|
||||||
escape_html(id.as_ref()),
|
|
||||||
members,
|
|
||||||
escape_html(name)
|
|
||||||
)
|
|
||||||
.unwrap();
|
|
||||||
output
|
|
||||||
})
|
|
||||||
);
|
|
||||||
|
|
||||||
Ok(RoomMessageEventContent::text_html(output_plain, output_html))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[admin_command]
|
#[admin_command]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue