Skip to content

Commit

Permalink
RoleColorEverywhere: add chat message colour toggle
Browse files Browse the repository at this point in the history
  • Loading branch information
Vendicated committed Sep 22, 2024
1 parent 65069c6 commit b0e2f31
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions src/plugins/roleColorEverywhere/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -51,13 +51,18 @@ const settings = definePluginSettings({
description: "Show role colors in the reactors list",
restartNeeded: true
},
colorChatMessages: {
type: OptionType.BOOLEAN,
default: false,
description: "Color chat messages based on the author's role color",
restartNeeded: true,
},
messageSaturation: {
type: OptionType.SLIDER,
description: "Intensity of message coloring. 0 to disable.",
description: "Intensity of message coloring.",
markers: makeRange(0, 100, 10),
default: 30,
// This is called only once at startup, but late enough that the store is initialized.
get restartNeeded() { return settings.store.messageSaturation === 0; }
restartNeeded: true
},
});

Expand Down Expand Up @@ -133,7 +138,7 @@ export default definePlugin({
match: /(?<=isUnsupported\]:(\i)\.isUnsupported\}\),)(?=children:\[)/,
replace: "style:{color:$self.useMessageColor($1)},"
},
predicate: () => settings.store.messageSaturation !== 0,
predicate: () => settings.store.colorChatMessages,
},
],
settings,
Expand Down Expand Up @@ -176,7 +181,7 @@ export default definePlugin({
const author = useMessageAuthor(message);
if (author.colorString !== undefined && messageSaturation !== 0)
return `color-mix(in oklab, ${author.colorString} ${messageSaturation}%, var(--text-normal))`;
} catch(e) {
} catch (e) {
console.error("[RCE] failed to get message color", e);
}
return undefined;
Expand Down

0 comments on commit b0e2f31

Please sign in to comment.