| 
					
				 | 
			
			
				@@ -4,7 +4,7 @@ import { discordAuthRedirectUri } from '@/http/configAPI' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { reportSrcPublishEvent } from '@/http/publishApi' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import Report from "@/log-center/log" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { fetchAddFinishEvent } from '@/logic/background/fetch/facebook'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { showNFTGroupIcon, hideNFTGroupList, checkUserJoinGroup, elemAddEventListener, addJoinedGroupList } from '@/logic/content/nft'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { showNFTGroupIcon, hideNFTGroupList, checkUserJoinGroup, elemAddEventListener, addJoinedGroupList, setTabGroupIframeStyle, setGroupTabStatus, addGroupTab, groupBtnStyleChange, sendMessageToGroupBanner, setGroupTabSelfStyle } from '@/logic/content/nft'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { jumpTwitterDetailByAlert, showEditTweet } from '@/logic/content/help/twitter.js' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { clearPostContent, setGroupIconStatus } from '@/logic/content/nft.js' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import ToolBox from '@/logic/content/ToolBox' 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -12,19 +12,10 @@ import axios from 'axios'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let dom = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-let tweetAccountBindGroupInfo = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    isBind: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    groupInfo: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    isInit: false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let systemInfo = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     theme: 'light' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-let fixProfileTabAutoTimer = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let pin_login = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function twitterPinLogin() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (pin_login) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -319,16 +310,6 @@ function _addDeNetEditBtn(params = {}) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * 在dialog插入deNet按钮 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * @private 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// function _addDeNetBtnToDialog() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//         let dialogScheduleBtn = _getScheduleDom(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//         _addDeNetEditBtn(dialogScheduleBtn, dom.deBtn2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     }, 800) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * 获取左侧twitter按钮 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1459,19 +1440,6 @@ export function publishNFTTweetEvent({ groupId, postId, srcContent }, callback) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 800) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const sendMessageToGroupBanner = (params) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    chrome.runtime.sendMessage({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        actionType: "SWITCH_GROUP_BANNER_STATUS", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        data: params 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, (res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (!res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Report.reportLog({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                objectType: Report.objectType.chrome_extension_sendmessage_error 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export const publishNFTTweetPost = ({ postId, srcContent, groupId }) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     let inputEle = document.querySelector('div[contenteditable="true"]'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     let textContent = inputEle.innerText 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1794,15 +1762,6 @@ export const tiggerInjectPopupPage = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const onBodyClick = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (window.location.href.indexOf('api.twitter.com') < 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        document.querySelector('body').addEventListener('click', function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            console.log('click') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            // hidePopupPage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export const setPopupConfByPopupPage = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     let iframe = document.getElementById('de-popup-page'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (iframe) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1833,497 +1792,6 @@ export const setPopupConfByPopupPage = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/**  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- *  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * Group Tab List Start  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- *  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * 创建 Group Tab  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const createGroupTabNode = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let groupIcon = document.createElement('img'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    groupIcon.id = 'de-group-tab-icon' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    groupIcon.src = require("@/assets/img/icon-group-tab-item.png"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    groupIcon.style.cssText = 'width:20px;height: 20px;margin-right:4px;'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let divNode = document.createElement('div'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    divNode.style.cssText = 'display: flex; align-items: center;height: 100%'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    divNode.appendChild(groupIcon); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    divNode.appendChild(document.createTextNode('Group')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let lineDom = document.createElement('div'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    lineDom.id = 'de-tab-line'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    lineDom.style.cssText = `border-radius: 9999px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        position: absolute; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        bottom: 0px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        min-width: 56px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        align-self: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        height: 4px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        background-color: rgb(29, 155, 240); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        display: none`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let groupTab = document.createElement('div'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    groupTab.id = 'de-nav-tab-group'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    groupTab.style.cssText = `z-index: 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        position: relative; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        min-width: 56px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        -webkit-box-pack: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        justify-content: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        -webkit-box-align: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        text-align: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        padding: 0px 16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        color: rgb(83, 100, 113); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        font-weight: 700; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        height: 53px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        cursor: pointer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        font: 500 15px / 20px TwitterChirp, -apple-system, "system-ui", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    groupTab.appendChild(divNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    groupTab.appendChild(lineDom); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return groupTab; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const groupBtnStyleChange = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let tab = getGroupTabNode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (tab) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let line = tab.querySelector('#de-tab-line'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (line) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            let { display } = line.style; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (display != 'none') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                sendMessageToGroupBanner({ type: 'btn' }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const getGroupTabNode = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let tab = document.querySelector('#de-nav-tab-group'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return tab; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const addGroupTab = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (!document.querySelector('div[data-testid=UserName]')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let tabListDom = document.querySelector('div[role="tablist"]'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let groupItemTab = getGroupTabNode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (tabListDom && !groupItemTab) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let groupTab = createGroupTabNode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        tabListDom.appendChild(groupTab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        groupTab.addEventListener('mouseenter', function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            groupTab.style.background = 'rgba(15, 20, 25, 0.1)' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        groupTab.addEventListener('mouseleave', function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            groupTab.style.background = 'none' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            let count = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            hiddenMaskWeb3Tab(count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }, 1300) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        addGroupTabEventListener(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    removeTweetTabEvent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        tabListDom 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addTweetTabEventListener({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        tabListDom 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addTabGroupContent(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        checkNeedSelectGroupTab(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const hiddenMaskWeb3Tab = (count) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        count++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (count < 6) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            let tab = getMaskWeb3Tab(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (tab) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                tab.style.display = 'none' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                hiddenMaskWeb3Tab(count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 1000); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * 跳转到个人主页 检查是否需要选中 Group tab 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const checkNeedSelectGroupTab = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (window.location.pathname != '/home') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            getChromeStorage('groupTabData', (res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                console.log('groupTabData', res); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (res && res.deTabVal == 'deGroupTab') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    chrome.storage.local.remove("groupTabData"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        selectGroupTab(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    }, 300) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }, 1300) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/** 选中 Group tab */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-export const selectGroupTab = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let groupTab = getGroupTabNode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (groupTab) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        groupTab.click(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-export const groupTipsSelectGroupTab = (params = {}) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (params.type == 'btn') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let groupTab = getGroupTabNode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (groupTab) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            let line = groupTab.querySelector('#de-tab-line'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (line) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                let { display } = line.style; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (display == 'none') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    groupTab.click(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        selectGroupTab(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- *  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * Group tab点击事件监听 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const addGroupTabEventListener = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let groupTab = getGroupTabNode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    groupTab.addEventListener('click', function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let bgColor = document.querySelector('body').style.backgroundColor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let groupColor = systemInfo.theme == 'dark' && bgColor == 'rgb(0, 0, 0)' ? '#fff' : 'rgb(15, 20, 25)'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // let groupColor = systemInfo.theme == 'light' ? 'rgb(15, 20, 25)' : '#fff'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        setGroupTabSelfStyle({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            groupColor: groupColor, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            groupFontWeight: '700', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            lineDisplay: 'block' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        setTweetActiveTabStyle({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            color: 'rgb(83, 100, 113)', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            display: 'none' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        setTabContentStyle({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            tweetTabContentDisply: 'none', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            iframeContentDisplay: 'block' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        refreshTabGroup(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        window.addEventListener('scroll', addPageScrollEvent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let tipsDom = document.querySelector('#denet_group_banner'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (tipsDom) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            sendMessageToGroupBanner({ type: 'btn' }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            onShowGroupBanner(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const onShowGroupBanner = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    chrome.runtime.onMessage.addListener((req, sender, sendResponse) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        switch (req.actionType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            case 'IFRAME_SHOW_GROUP_TIP': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                sendMessageToGroupBanner({ type: 'btn' }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (!getGroupTabNode()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    addGroupTab(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                break 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const addPageScrollEvent = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let wrapperDom = document.querySelector('html'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let contentDom = document.querySelector('main[role="main"]'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let data = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        wrapperHeight: wrapperDom.offsetHeight, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        wrapperScrollTop: wrapperDom.scrollTop, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        contentHeight: contentDom.offsetHeight 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    chrome.runtime.sendMessage({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        actionType: "CONTENT_GROUP_LIST_SCROLL", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        data: data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, () => { }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const removeTweetTabEvent = (params) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let { tabListDom } = params; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (tabListDom) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let tweetTabItem = tabListDom.querySelectorAll('div[role="presentation"]'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (tweetTabItem.length) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            for (let i = 0; i < tweetTabItem.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                let item = tweetTabItem[i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                item.removeEventListener('click', TweetTabEventHandler) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- *  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * twitter tab点击事件监听 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const addTweetTabEventListener = (params) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let { tabListDom } = params; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let groupItemTab = getGroupTabNode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (tabListDom && groupItemTab) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 监听twitter tab点击事件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let tweetTabItem = tabListDom.querySelectorAll('div[role="presentation"]'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (tweetTabItem.length) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            for (let i = 0; i < tweetTabItem.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                let item = tweetTabItem[i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                item.addEventListener('click', TweetTabEventHandler) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const TweetTabEventHandler = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    window.removeEventListener('scroll', addPageScrollEvent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    setGroupTabSelfStyle({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        groupColor: 'rgb(83, 100, 113)', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        groupFontWeight: '500', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        lineDisplay: 'none' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    setTabContentStyle({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        tweetTabContentDisply: 'block', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        iframeContentDisplay: 'none' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    setTweetActiveTabStyle({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        color: 'rgb(15, 20, 25)', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        display: 'block' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    sendMessageToGroupBanner({ type: 'arrow' }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * 设置 Group Tab 样式  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const setGroupTabSelfStyle = (params = {}) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let { groupColor, groupFontWeight, lineDisplay } = params; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let groupTab = getGroupTabNode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (groupTab) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        groupTab.style.color = groupColor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        groupTab.style.fontWeight = groupFontWeight; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let lineDom = groupTab.querySelector('#de-tab-line'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (lineDom) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            lineDom.style.display = lineDisplay; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * 切换到 Group tab时 刷新列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-export const refreshTabGroup = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    chrome.runtime.sendMessage({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        actionType: "CONTENT_REFRESH_TAB_GROUP_LIST", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        data: {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, () => { }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- *  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * tab选中时设置 激活 的字体样式和选中条 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const setTweetActiveTabStyle = (params) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let { color, display } = params || {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let tab = document.querySelector('a[aria-selected="true"]'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (tab) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let tweetActiveTab = tab.querySelector('div'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (tweetActiveTab) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            tweetActiveTab.style.color = color; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            let tweetTabLine = tweetActiveTab.querySelector('div'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (tweetTabLine) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                tweetTabLine.style.display = display; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- *  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * 设置 tab 切换时 tab内容的样式(显示隐藏) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const setTabContentStyle = (params) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let { tweetTabContentDisply, iframeContentDisplay } = params; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let tweetTabContent = getTweetTabContent(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (tweetTabContent) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (tweetTabContentDisply == 'block') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            let { visibility } = tweetTabContent.style; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (visibility == 'hidden') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                tweetTabContent.style.visibility = 'visible'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                tweetTabContent.style.height = 'auto'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                tweetTabContent.style.overflow = 'auto'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            tweetTabContent.style.visibility = 'hidden'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            tweetTabContent.style.height = '0px'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            tweetTabContent.style.overflow = 'hidden'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            tweetTabContent.style.margin = '0'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let iframeContent = getGroupTabContentNode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (!iframeContent) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        addTabGroupContent(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        iframeContent = getGroupTabContentNode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (iframeContent) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            iframeContent.style.display = iframeContentDisplay; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- *  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * 获取 twitter tab 下的内容 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const getTweetTabContent = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let tweetTabContent = document.querySelector('[data-testid="primaryColumn"] [role="navigation"] + * > div[aria-label]:not([role="progressbar"])') || document.querySelector('div[data-testid="emptyState"]'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return tweetTabContent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * 注入 Group List 内容 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const addTabGroupContent = (cb) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let params = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        windowLocation: window.location 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let iframe = document.createElement('iframe'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    iframe.id = 'de-tab-group-content'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    iframe.src = chrome.runtime.getURL('/iframe/tab-group.html') + `?params=${JSON.stringify(params)}`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    iframe.style.cssText = `border: medium none; height: 500px;display: none` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let iframeContent = getGroupTabContentNode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let tweetTabContent = getTweetTabContent(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (!iframeContent) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (tweetTabContent && tweetTabContent.parentElement) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            tweetTabContent.parentElement.appendChild(iframe); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            cb && cb(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const getGroupTabContentNode = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let content = document.getElementById('de-tab-group-content'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return content; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const setGroupTabStatus = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let groupTab = getGroupTabNode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (groupTab) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let line = groupTab.querySelector('#de-tab-line'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (line) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            let { display } = line.style; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (display != 'none') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                groupTab.click(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            addGroupTab(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }, 2000) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    clearInterval(fixProfileTabAutoTimer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    fixProfileTabAutoSwitch(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const fixProfileTabAutoSwitch = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    fixProfileTabAutoTimer = setInterval(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let groupTab = getGroupTabNode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let tweetTab = document.querySelector('a[aria-selected="true"]'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (groupTab) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            let line = groupTab.querySelector('#de-tab-line'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (line) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                let { display } = line.style; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (display != 'none' && tweetTab) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    let groupContent = getGroupTabContentNode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (groupContent) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        let tweetTabContent = getTweetTabContent(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        let { visibility } = tweetTabContent.style; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        let { display } = groupContent.style; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        if (display == 'block' && visibility != 'hidden') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            groupTab.click(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 1000) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- *  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * 设置Tab Group Iframe 样式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-export const setTabGroupIframeStyle = (params, isReSize = false) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if(!isReSize) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        getSysTheme(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let iframeContent = getGroupTabContentNode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (iframeContent) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let htmlHeight = document.querySelector('html').offsetHeight; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let primaryColumnHeightn = document.querySelector('div[data-testid="primaryColumn"]').offsetHeight; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let height = primaryColumnHeightn > htmlHeight ? primaryColumnHeightn : htmlHeight; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        iframeContent.style.height = height + 'px'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * mask web3 Tab 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- *  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const getMaskWeb3Tab = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let tab = document.querySelector('div[data-testid="ScrollSnap-nextButtonWrapper"] + span'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return tab; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export const pageJumpHandler = (params) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     let { url } = params 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (url) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2342,37 +1810,7 @@ export const getTweetProfileNavTop = (params) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, () => { }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-export const setGroupInfo = (params = {}) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    tweetAccountBindGroupInfo.groupInfo = params; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let groupTab = getGroupTabNode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (!params.nftGroupId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let { pathname = '' } = window.location; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (pathname == "/compose/tweet") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (groupTab) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            groupTab.style.display = 'none'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                groupTab = getGroupTabNode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (groupTab) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    groupTab.style.display = 'none'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }, 800) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (groupTab) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            let { display } = groupTab.style; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (display == 'none') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                groupTab.style.display = 'block'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const getSysTheme = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export const getSysTheme = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const themeMedia = window.matchMedia("(prefers-color-scheme: light)"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (themeMedia.matches) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         systemInfo.theme = 'light' 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2402,12 +1840,6 @@ const sysThemeChange = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 800) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/**  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- *  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * Group Tab List End  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- *  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export const loginSuccessHandle = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 检查是否漏出group图标 
			 |