Flatten threads: don't show reply button when appropriate

This CL also refactors the response interceptors to use the new
ThreadModel.

Fixed: twpowertools:160
Change-Id: I859e0fa1b8f5f4057bd66af3d167e4b21c6d12ed
diff --git a/src/contentScripts/communityConsole/flattenThreads/flattenThreads.js b/src/contentScripts/communityConsole/flattenThreads/flattenThreads.js
index e8585d0..557a533 100644
--- a/src/contentScripts/communityConsole/flattenThreads/flattenThreads.js
+++ b/src/contentScripts/communityConsole/flattenThreads/flattenThreads.js
@@ -3,7 +3,7 @@
 export const kReplyPayloadSelector =
     '.scTailwindThreadMessageMessagecardcontent:not(.scTailwindThreadMessageMessagecardpromoted) .scTailwindThreadPostcontentroot html-blob';
 export const kReplyActionButtonsSelector =
-  '.scTailwindThreadMessageMessagecardcontent:not(.scTailwindThreadMessageMessagecardpromoted) sc-tailwind-thread-message-message-actions';
+    '.scTailwindThreadMessageMessagecardcontent:not(.scTailwindThreadMessageMessagecardpromoted) sc-tailwind-thread-message-message-actions';
 export const kAdditionalInfoSelector = '.ck-indent-9996300035194';
 export const kMatchingSelectors = [
   kReplyPayloadSelector,
@@ -66,7 +66,7 @@
         node.closest('.scTailwindThreadMessageMessagecardcontent')
             .querySelector('.scTailwindThreadMessageMessagecardbody html-blob');
     const extraInfo = this.getExtraInfo(root);
-    if (!extraInfo) return;
+    if (!extraInfo || !extraInfo.canComment) return;
 
     this.injectReplyBtn(node, extraInfo);
   }