Incoming nuke event filter (#2092)

## Description:

I have found most attack information to not be very useful, particularly
during the late game when MIRVs are flying and cities and ports are
being gained/lost by the hundreds.

However, even in these circumstances I would still like to see incoming
nuke messages.

Attacks filtered out, incoming atom bomb message still appears:
<img width="425" height="166" alt="Screenshot 2025-09-24 at 12 13 07 AM"
src="https://github.com/user-attachments/assets/242f4552-4509-487a-8ac2-bdd7f9cd1d40"
/>

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [ ] I have added relevant tests to the test directory
- [ ] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

JohnnyBravo13
This commit is contained in:
John Harkendorff
2025-09-24 11:09:44 -07:00
committed by GitHub
parent eeb9f0c279
commit 7a31cd5037
2 changed files with 20 additions and 3 deletions
@@ -5,6 +5,7 @@ import { unsafeHTML, UnsafeHTMLDirective } from "lit/directives/unsafe-html.js";
import allianceIcon from "../../../../resources/images/AllianceIconWhite.svg";
import chatIcon from "../../../../resources/images/ChatIconWhite.svg";
import donateGoldIcon from "../../../../resources/images/DonateGoldIconWhite.svg";
import nukeIcon from "../../../../resources/images/NukeIconWhite.svg";
import swordIcon from "../../../../resources/images/SwordIconWhite.svg";
import { EventBus } from "../../../core/EventBus";
import {
@@ -91,6 +92,7 @@ export class EventsDisplay extends LitElement implements Layer {
private goldAmountTimeoutId: ReturnType<typeof setTimeout> | null = null;
@state() private eventsFilters: Map<MessageCategory, boolean> = new Map([
[MessageCategory.ATTACK, false],
[MessageCategory.NUKE, false],
[MessageCategory.TRADE, false],
[MessageCategory.ALLIANCE, false],
[MessageCategory.CHAT, false],
@@ -947,6 +949,20 @@ export class EventsDisplay extends LitElement implements Layer {
this.toggleEventFilter(MessageCategory.ATTACK),
className: "cursor-pointer pointer-events-auto",
})}
${this.renderButton({
content: html`<img
src="${nukeIcon}"
class="w-5 h-5"
style="filter: ${this.eventsFilters.get(
MessageCategory.NUKE,
)
? "grayscale(1) opacity(0.5)"
: "none"}"
/>`,
onClick: () =>
this.toggleEventFilter(MessageCategory.NUKE),
className: "cursor-pointer pointer-events-auto",
})}
${this.renderButton({
content: html`<img
src="${donateGoldIcon}"