diff --git a/src/client/graphics/layers/EventsDisplay.ts b/src/client/graphics/layers/EventsDisplay.ts index 5285c9106..12854d5a3 100644 --- a/src/client/graphics/layers/EventsDisplay.ts +++ b/src/client/graphics/layers/EventsDisplay.ts @@ -29,13 +29,13 @@ interface Event { className: string action: () => void }[]; + type: MessageType; highlight?: boolean; createdAt: number onDelete?: () => void } export class EventsDisplay implements Layer { - private container: HTMLElement; private events: Event[]; private tableContainer: HTMLDivElement; @@ -44,7 +44,6 @@ export class EventsDisplay implements Layer { const element = document.getElementById("app"); element.style.zIndex = "1000" if (!element) throw new Error(`Container element with id app not found`); - this.container = element; this.events = []; this.createTableContainer() } @@ -92,6 +91,7 @@ export class EventsDisplay implements Layer { description: event.message, createdAt: this.game.ticks(), highlight: true, + type: event.type, }) this.renderTable() } @@ -121,6 +121,7 @@ export class EventsDisplay implements Layer { } ], highlight: true, + type: MessageType.INFO, createdAt: this.game.ticks(), onDelete: () => this.eventBus.emit(new AllianceRequestReplyUIEvent(event.allianceRequest, false)) }); @@ -139,6 +140,7 @@ export class EventsDisplay implements Layer { } this.addEvent({ description: `${event.allianceRequest.recipient().name()} ${event.accepted ? "accepted" : "rejected"} your alliance request`, + type: event.accepted ? MessageType.SUCCESS : MessageType.ERROR, highlight: true, createdAt: this.game.ticks(), }); @@ -161,27 +163,45 @@ export class EventsDisplay implements Layer { renderTable(): void { let tableHtml = ` -
|
- ${event.description}
- ${event.buttons ? ' ' + event.buttons.map((btn, btnIndex) => + |
|
+ ${event.description}
+ ${event.buttons ? ' ' + event.buttons.map((btn, btnIndex) => `` ).join('') : ''} - |
-