chore: split content into content, system

This commit is contained in:
Paul Makles 2022-04-21 17:46:14 +01:00
parent d129d9816d
commit 48558dd5e4
6 changed files with 46 additions and 48 deletions

View file

@ -147,7 +147,7 @@
"react-scroll": "^1.8.2", "react-scroll": "^1.8.2",
"react-virtualized-auto-sizer": "^1.0.5", "react-virtualized-auto-sizer": "^1.0.5",
"react-virtuoso": "^1.10.4", "react-virtuoso": "^1.10.4",
"revolt.js": "6.0.0-rc.3", "revolt.js": "6.0.0-rc.11",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",
"sass": "^1.35.1", "sass": "^1.35.1",
"shade-blend-color": "^1.0.0", "shade-blend-color": "^1.0.0",

View file

@ -228,7 +228,7 @@ export default observer(({ channel }: Props) => {
); );
renderer.messages.reverse(); renderer.messages.reverse();
if (msg) { if (msg?.content) {
// eslint-disable-next-line prefer-const // eslint-disable-next-line prefer-const
let [_, toReplace, newText, flags] = content.split(/\//); let [_, toReplace, newText, flags] = content.split(/\//);

View file

@ -77,11 +77,8 @@ export const SystemMessage = observer(
iconDictionary[data.type as API.SystemMessage["type"]] ?? iconDictionary[data.type as API.SystemMessage["type"]] ??
InfoCircle; InfoCircle;
let children; let children = null;
switch (data.type) { switch (data.type) {
case "text":
children = <span>{data.content}</span>;
break;
case "user_added": case "user_added":
case "user_remove": case "user_remove":
children = ( children = (

View file

@ -82,7 +82,7 @@ function Notifier() {
} }
let body, icon; let body, icon;
if (typeof msg.content === "string") { if (msg.content) {
body = client.markdownToText(msg.content); body = client.markdownToText(msg.content);
if (msg.masquerade?.avatar) { if (msg.masquerade?.avatar) {
@ -90,22 +90,23 @@ function Notifier() {
} else { } else {
icon = msg.author?.generateAvatarURL({ max_side: 256 }); icon = msg.author?.generateAvatarURL({ max_side: 256 });
} }
} else { } else if (msg.system) {
const users = client.users; const users = client.users;
switch (msg.content.type) {
switch (msg.system.type) {
case "user_added": case "user_added":
case "user_remove": case "user_remove":
{ {
const user = users.get(msg.content.id); const user = users.get(msg.system.id);
body = translate( body = translate(
`app.main.channel.system.${ `app.main.channel.system.${
msg.content.type === "user_added" msg.system.type === "user_added"
? "added_by" ? "added_by"
: "removed_by" : "removed_by"
}`, }`,
{ {
user: user?.username, user: user?.username,
other_user: users.get(msg.content.by) other_user: users.get(msg.system.by)
?.username, ?.username,
}, },
); );
@ -119,9 +120,9 @@ function Notifier() {
case "user_kicked": case "user_kicked":
case "user_banned": case "user_banned":
{ {
const user = users.get(msg.content.id); const user = users.get(msg.system.id);
body = translate( body = translate(
`app.main.channel.system.${msg.content.type}`, `app.main.channel.system.${msg.system.type}`,
{ user: user?.username }, { user: user?.username },
); );
icon = user?.generateAvatarURL({ icon = user?.generateAvatarURL({
@ -131,12 +132,12 @@ function Notifier() {
break; break;
case "channel_renamed": case "channel_renamed":
{ {
const user = users.get(msg.content.by); const user = users.get(msg.system.by);
body = translate( body = translate(
`app.main.channel.system.channel_renamed`, `app.main.channel.system.channel_renamed`,
{ {
user: users.get(msg.content.by)?.username, user: users.get(msg.system.by)?.username,
name: msg.content.name, name: msg.system.name,
}, },
); );
icon = user?.generateAvatarURL({ icon = user?.generateAvatarURL({
@ -147,10 +148,10 @@ function Notifier() {
case "channel_description_changed": case "channel_description_changed":
case "channel_icon_changed": case "channel_icon_changed":
{ {
const user = users.get(msg.content.by); const user = users.get(msg.system.by);
body = translate( body = translate(
`app.main.channel.system.${msg.content.type}`, `app.main.channel.system.${msg.system.type}`,
{ user: users.get(msg.content.by)?.username }, { user: users.get(msg.system.by)?.username },
); );
icon = user?.generateAvatarURL({ icon = user?.generateAvatarURL({
max_side: 256, max_side: 256,

View file

@ -6,23 +6,23 @@ import { Children } from "../../types/Preact";
// eslint-disable-next-line @typescript-eslint/no-explicit-any // eslint-disable-next-line @typescript-eslint/no-explicit-any
export function takeError(error: any): string { export function takeError(error: any): string {
const type = error?.response?.data?.type; if (error.response) {
const id = type; const status = error.response.status;
if (!type) { switch (status) {
if ( case 429:
error?.response?.status === 401 || return "TooManyRequests";
error?.response?.status === 403 case 401:
) { case 403:
return "Unauthorized"; return "Unauthorized";
} else if (error && !!error.isAxiosError && !error.response) { default:
return error.response.type ?? "UnknownError";
}
} else if (error.request) {
return "NetworkError"; return "NetworkError";
} }
console.error(error); console.error(error);
return "UnknownError"; return "UnknownError";
}
return id;
} }
export function getChannelName( export function getChannelName(

View file

@ -1375,10 +1375,10 @@
resolved "https://registry.yarnpkg.com/@insertish/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#5bcd6f73b93efa9ccdb6abf887ae808d40827169" resolved "https://registry.yarnpkg.com/@insertish/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#5bcd6f73b93efa9ccdb6abf887ae808d40827169"
integrity sha512-kFD/p8T4Hkqr992QrdkbW/cQ/W/q2d9MPCobwzBv2PwTKLkCD9RaYDy6m17qRnSLQQ5PU0kHCG8kaOwAqzj1vQ== integrity sha512-kFD/p8T4Hkqr992QrdkbW/cQ/W/q2d9MPCobwzBv2PwTKLkCD9RaYDy6m17qRnSLQQ5PU0kHCG8kaOwAqzj1vQ==
"@insertish/oapi@0.1.13": "@insertish/oapi@0.1.15":
version "0.1.13" version "0.1.15"
resolved "https://registry.yarnpkg.com/@insertish/oapi/-/oapi-0.1.13.tgz#92579172bd6896152e9b68ef5bafcf8cc2048492" resolved "https://registry.yarnpkg.com/@insertish/oapi/-/oapi-0.1.15.tgz#ee58b82d879ed5af54db846699941b8ad0262e7b"
integrity sha512-yj1Jk3VlNCjp0hNOsknevyR7PwVzSzc5pbUTuyhtyPlbuHRTv1b9DWs8Ki7xbF/mrIy2DzkHoUu4Ik/Q4oS93w== integrity sha512-2G8eFxrojF651tBoRutQ8CJOw0u8UjYSlw/LQU+xycw5KpXslhWp/KSR86uIFyDIPddwfMCNA91vwHGCFRA63w==
dependencies: dependencies:
typescript "^4.6.2" typescript "^4.6.2"
optionalDependencies: optionalDependencies:
@ -4364,19 +4364,19 @@ reusify@^1.0.4:
resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
revolt-api@0.5.3-rc.7: revolt-api@0.5.3-rc.13:
version "0.5.3-rc.7" version "0.5.3-rc.13"
resolved "https://registry.yarnpkg.com/revolt-api/-/revolt-api-0.5.3-rc.7.tgz#eed82fcd014a25a4d080c4502c0ae4aa283adddb" resolved "https://registry.yarnpkg.com/revolt-api/-/revolt-api-0.5.3-rc.13.tgz#df6e6f9ee595481f81779fc65a1b2edd9ced1db7"
integrity sha512-72SJ+P19nRRD+xE8bXAV8mFZNBgtKkXogQACDvNSIdATUmszYl91YRPqX+UQ1Oz4ePgKFwyWPxrnmfede7Q83g== integrity sha512-73W2MNj+/hucqhka2P3Q60OUFmL1Z374kMu8VEuldnE1H5GHiRjb1mkzoPVQDfS3TUzBG8StoSnSTF6dnRKJaA==
dependencies: dependencies:
"@insertish/oapi" "0.1.13" "@insertish/oapi" "0.1.15"
axios "^0.26.1" axios "^0.26.1"
lodash.defaultsdeep "^4.6.1" lodash.defaultsdeep "^4.6.1"
revolt.js@6.0.0-rc.3: revolt.js@6.0.0-rc.11:
version "6.0.0-rc.3" version "6.0.0-rc.11"
resolved "https://registry.yarnpkg.com/revolt.js/-/revolt.js-6.0.0-rc.3.tgz#0bf791eebf49b70c0baa2d2bd645c500c40ba737" resolved "https://registry.yarnpkg.com/revolt.js/-/revolt.js-6.0.0-rc.11.tgz#0c3a13add396ce74aeab7c18e03a738df91abcdc"
integrity sha512-b3jh/U80cWHJgjZxhyufCEspsWUOgKHPV+h3/1gWpt3fvpUWC2BPxDtJSVNXKe9AjQOpofpYaNQ8l9wlEfxA4A== integrity sha512-gw5pzbE55RAPISBFlao1e7qC/tNzPUBNQ4yg9IXwqfWSsDJAGd/xrDwpsaVnH2a52zgJWGsdNraIPniGHA/ImQ==
dependencies: dependencies:
"@insertish/exponential-backoff" "3.1.0-patch.0" "@insertish/exponential-backoff" "3.1.0-patch.0"
"@insertish/isomorphic-ws" "^4.0.1" "@insertish/isomorphic-ws" "^4.0.1"
@ -4387,7 +4387,7 @@ revolt.js@6.0.0-rc.3:
lodash.isequal "^4.5.0" lodash.isequal "^4.5.0"
long "^5.2.0" long "^5.2.0"
mobx "^6.3.2" mobx "^6.3.2"
revolt-api "0.5.3-rc.7" revolt-api "0.5.3-rc.13"
ulid "^2.3.0" ulid "^2.3.0"
ws "^8.2.2" ws "^8.2.2"