diff --git a/src/main.tsx b/src/main.tsx
index 078af19..45c87c2 100644
--- a/src/main.tsx
+++ b/src/main.tsx
@@ -36,6 +36,8 @@ type IrcMessage = {
content: MessageFrag[]
} | {
type: 'day_change'
+} | {
+ type: 'redacted'
};
const URL = /(((?:https?|gopher):\/\/|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/|spotify:track:)((?:\(?[^\s()<>]+\)?)*[^ \s`!\[\]{};:\'".,<>?\xab\xbb\u201c\u201d\u2018\u2019]))/i;
@@ -61,6 +63,10 @@ function parse(s: string): IrcMessage {
return {
type: "day_change"
};
+ } else if (s === "[REDACTED]") {
+ return {
+ type: "redacted"
+ };
}
const time = s.slice(0, 5);
@@ -93,7 +99,7 @@ function parse(s: string): IrcMessage {
}
}
return {
- time: "no:ts",
+ time: "error",
type: 'status',
content: [{
type: 'error',
@@ -106,7 +112,7 @@ const messages = lines.map(l => l.trim()).filter(l => l !== '.' && l !== "").map
type MsgGroup = {
user?: IrcUser,
- type: "status" | "message" | "action" | "day_change",
+ type: "status" | "message" | "action" | "day_change" | "redacted",
messages: IrcMessage[]
}
@@ -118,7 +124,7 @@ function group(messages: IrcMessage[]): MsgGroup[] {
let type: "status" | "action" | "message" | undefined = undefined;
for (const m of messages) {
- if (m.type === "status" || m.type === "day_change") {
+ if (m.type === "status" || m.type === "day_change" || m.type == "redacted") {
groups.push({
user: discrim,
type: type ?? "message",
@@ -188,12 +194,19 @@ const Message = ({ message, inclTs }: { message: IrcMessage, inclTs?: boolean })
};
- const prefix = message.type === "action" ? "* " : "";
+ if (message.type === "redacted") {
+ return
+ [REDACTED]
+
;
+ }
+
return
{
(inclTs === undefined || inclTs === true) ? {message.time} : undefined
}
- {prefix} {message.content.map(c => render(c))}
+
+ { message.content.map(c => render(c)) }
+
}
@@ -209,7 +222,7 @@ function renderMessageGroup(m: MsgGroup): HtmlEnt {
{m.user?.name}
- {m0.type === "day_change" ? "what" : m0.time}
+ {(m0.type === "day_change" || m0.type === "redacted") ? "what" : m0.time}
@@ -223,7 +236,7 @@ function renderMessageGroup(m: MsgGroup): HtmlEnt {
} else {
if (m.messages.length < 1) {
- return
+ return
}
return
@@ -234,7 +247,12 @@ function renderMessageGroup(m: MsgGroup): HtmlEnt {
const rendered = groups.map(renderMessageGroup);
-const elem =
+const elem =
+
+
+
+
+
{rendered}