fix(extra-info): show extra info in the RCE thread page
The extra info feature worked with the old thread pages. This CL brings
support to the new RCE thread pages.
Bug: twpowertools:93
Change-Id: I47e4235afa4f7ec441f5a92edfcc28b1cb5f0419
diff --git a/src/contentScripts/communityConsole/extraInfo/injections/threadQuestion.js b/src/contentScripts/communityConsole/extraInfo/injections/threadQuestion.js
new file mode 100644
index 0000000..1efe6db
--- /dev/null
+++ b/src/contentScripts/communityConsole/extraInfo/injections/threadQuestion.js
@@ -0,0 +1,24 @@
+import {MDCTooltip} from '@material/tooltip';
+
+import ThreadModel from '../../../../models/Thread.js';
+import ThreadExtraInfoService from '../services/thread.js';
+
+import BaseExtraInfoInjection from './base.js';
+
+export default class ThreadQuestionExtraInfoInjection extends
+ BaseExtraInfoInjection {
+ inject(threadInfo, injectionDetails) {
+ const [chips, tooltips] =
+ ThreadExtraInfoService.getThreadChips(threadInfo.body?.['1']);
+ this.#injectChips(chips, injectionDetails.stateChips);
+ for (const tooltip of tooltips) new MDCTooltip(tooltip);
+ }
+
+ #injectChips(chips, stateChipsElement) {
+ const stateChipsContainer = stateChipsElement.querySelector(
+ '.scTailwindThreadQuestionStatechipsroot');
+ const container = stateChipsContainer ?? stateChipsElement;
+ const shouldCreateContainer = stateChipsContainer === null;
+ this.addExtraInfoChips(chips, container, shouldCreateContainer);
+ }
+}