(function() { document.addEventListener('DOMContentLoaded', function() { var mediaBtn = document.getElementById('pfeai-media-button'); if (mediaBtn) { mediaBtn.addEventListener('click', function(e) { e.preventDefault(); if (window.PFEditorialAI) { PFEditorialAI.togglePanel(); } }); } }); if (typeof tinymce === 'undefined') { return; } tinymce.create('tinymce.plugins.PFEditorialAI', { init: function(editor, url) { editor.on('init', function() { PFEditorialAI.createPanel(editor); PFEditorialAI.bindTooltipEvents(); PFEditorialAI.preloadSavedData(); }); }, getInfo: function() { return { longname: 'PF Editorial AI', author: 'PatsFans + AI', version: '5.2.7' }; } }); tinymce.PluginManager.add('pfeai_plugin', tinymce.plugins.PFEditorialAI); window.PFEditorialAI = { panelCreated: false, panelEl: null, loadingEl: null, analysisEl: null, titlesEl: null, ideasEl: null, transcriptEl: null, socialEl: null, savedEl: null, factsEl: null, linksEl: null, isMinimized: false, // Cache window tracking cacheWindowStart: null, cacheWindowTimer: null, cacheWindowDuration: 4 * 60 * 1000, // 4 minutes (conservative estimate) tasksInWindow: 0, /** * SECURITY: Escape HTML to prevent XSS * This function must be used for ALL user/API data inserted into the DOM */ escapeHtml: function(str) { if (str === null || str === undefined) return ''; return String(str) .replace(/&/g, '&') .replace(//g, '>') .replace(/"/g, '"') .replace(/'/g, '''); }, /** * SECURITY: Sanitize for textarea/input values */ escapeAttr: function(str) { if (str === null || str === undefined) return ''; return String(str) .replace(/&/g, '&') .replace(/"/g, '"') .replace(/'/g, ''') .replace(//g, '>'); }, /** * Cache Window Indicator - shows when implicit caching is active */ startCacheWindow: function(fromCache) { var self = this; // If result was from app cache, don't start/extend the API cache window if (fromCache) return; this.tasksInWindow++; // Start or extend the cache window this.cacheWindowStart = Date.now(); // Clear existing timer if (this.cacheWindowTimer) { clearInterval(this.cacheWindowTimer); } // Update indicator immediately this.updateCacheIndicator(); // Update every second this.cacheWindowTimer = setInterval(function() { self.updateCacheIndicator(); }, 1000); }, updateCacheIndicator: function() { var indicator = document.getElementById('pfeai-cache-indicator'); if (!indicator) return; if (!this.cacheWindowStart) { indicator.style.display = 'none'; return; } var elapsed = Date.now() - this.cacheWindowStart; var remaining = this.cacheWindowDuration - elapsed; if (remaining <= 0) { // Cache window expired indicator.style.display = 'none'; this.cacheWindowStart = null; this.tasksInWindow = 0; if (this.cacheWindowTimer) { clearInterval(this.cacheWindowTimer); this.cacheWindowTimer = null; } return; } // Show indicator indicator.style.display = 'block'; var minutes = Math.floor(remaining / 60000); var seconds = Math.floor((remaining % 60000) / 1000); var timeStr = minutes + ':' + (seconds < 10 ? '0' : '') + seconds; var savingsText = this.tasksInWindow > 1 ? ' · ' + (this.tasksInWindow - 1) + ' task' + (this.tasksInWindow > 2 ? 's' : '') + ' cached' : ''; indicator.innerHTML = '⚡ Cache active: ' + timeStr + ' remaining' + savingsText + '
Run more tasks now to save tokens'; }, getProvider: function() { var select = document.getElementById('pfeai-provider-select'); return select ? select.value : 'gemini'; }, getSafeContent: function(editor) { try { if (editor && !editor.isHidden()) return editor.getContent({ format: 'raw' }); var textArea = document.getElementById('content'); return textArea ? textArea.value : ''; } catch (e) { return ''; } }, getSafeText: function(editor) { try { if (editor && !editor.isHidden()) return editor.getContent({ format: 'text' }); var textArea = document.getElementById('content'); return textArea ? textArea.value : ''; } catch (e) { return ''; } }, createPanel: function(editor) { if (this.panelCreated) return; // FIX: Inject Layout Push Styles directly to ensure they work var style = document.createElement('style'); style.innerHTML = 'body.pfeai-panel-open #wpbody-content { margin-right: 360px !important; transition: margin-right 0.3s ease; } body.pfeai-panel-open .pfeai-panel { right: 0; box-shadow: -2px 0 5px rgba(0,0,0,0.1); }'; document.head.appendChild(style); var panel = document.createElement('div'); panel.id = 'pfeai-panel'; var html = ''; html += '
'; html += '
'; html += '
'; html += '
'; html += ' '; html += '
'; html += '
PF Editorial AI
'; html += '
'; html += ' '; html += '
'; html += '
'; html += '
'; html += '
'; html += ' '; html += ' '; html += '
'; html += '
'; html += '
Click to expand
'; html += '
'; html += ' '; html += '
'; html += '
'; if (PFEAI.saved_data.clipboard) { html += '
'; html += ''; html += ''; html += '
'; } html += ' '; html += ' '; html += ' '; html += ' '; html += ' '; html += ' '; html += ' '; html += ' '; html += ' '; // Only show Clear Topics button if there's cached ideas data if (PFEAI.saved_data.ideas && PFEAI.saved_data.ideas.ideas) { html += '
'; html += ''; html += ''; html += '
'; } else { html += ' '; } html += ' '; html += '
'; html += '
'; html += ' '; html += '
'; html += ' '; html += ' '; html += ' '; html += ' '; html += ' '; html += ' '; html += ' '; html += ' '; html += ' '; html += ' '; html += ' '; if (PFEAI.saved_data.clipboard) { html += ' '; } html += '
'; html += '
'; html += ' '; html += ' '; html += ' '; html += ' '; html += ' '; html += ' '; html += ' '; html += ' '; html += ' '; html += ' '; html += ' '; html += ' '; html += '
'; html += '
'; html += '
'; panel.innerHTML = html; document.body.appendChild(panel); this.panelEl = panel; this.loadingEl = panel.querySelector('.pfeai-loading'); this.analysisEl = { highlights: panel.querySelector('.pfeai-tab-content[data-tab="highlights"]'), suggestions: panel.querySelector('.pfeai-tab-content[data-tab="suggestions"]'), gaps: panel.querySelector('.pfeai-tab-content[data-tab="gaps"]') }; this.titlesEl = panel.querySelector('.pfeai-tab-content[data-tab="titles"]'); this.seoEl = panel.querySelector('.pfeai-tab-content[data-tab="seo"]'); this.ideasEl = panel.querySelector('.pfeai-tab-content[data-tab="ideas"]'); this.transcriptEl = panel.querySelector('.pfeai-tab-content[data-tab="transcript"]'); this.socialEl = panel.querySelector('.pfeai-tab-content[data-tab="social"]'); this.savedEl = panel.querySelector('.pfeai-tab-content[data-tab="saved"]'); this.factsEl = panel.querySelector('.pfeai-tab-content[data-tab="facts"]'); this.linksEl = panel.querySelector('.pfeai-tab-content[data-tab="links"]'); this.faqEl = panel.querySelector('.pfeai-tab-content[data-tab="faq"]'); panel.querySelector('.pfeai-faq-btn').addEventListener('click', function() { self.runFAQ(editor); }); panel.querySelector('#btn-internal-links').addEventListener('click', function() { var btnText = this.innerText; if (btnText.indexOf('View Links') !== -1) { self.showResults('links'); } else { self.runInternalLinks(editor); } }); panel.querySelector('#btn-search').addEventListener('click', function() { self.showResults('search'); }); var self = this; panel.querySelector('.pfeai-close').addEventListener('click', function(e) { e.stopPropagation(); self.togglePanel(false); }); panel.querySelector('.pfeai-minimize-btn').addEventListener('click', function(e) { e.stopPropagation(); self.toggleMinimize(); }); panel.querySelector('.pfeai-back-btn').addEventListener('click', function(e) { e.stopPropagation(); self.showMenu(); }); var viewSavedBtn = document.getElementById('btn-view-saved'); if (viewSavedBtn) { viewSavedBtn.addEventListener('click', function() { self.showResults('saved'); }); } var clearSavedBtn = document.getElementById('btn-clear-saved'); if (clearSavedBtn) { clearSavedBtn.addEventListener('click', function() { if (confirm('Are you sure you want to clear your saved draft? This cannot be undone.')) { self.clearClipboard(); } }); } panel.querySelector('#btn-scan').addEventListener('click', function() { var btnText = this.innerText; if (btnText.indexOf('View Analysis') !== -1) { self.showResults('highlights'); } else { self.runAnalysis(editor); } }); panel.querySelector('#btn-social').addEventListener('click', function() { var btnText = this.innerText; if (btnText.indexOf('View Social') !== -1) { self.showResults('social'); } else { self.runSocialPack(editor); } }); panel.querySelector('#btn-transcript').addEventListener('click', function() { var btnText = this.innerText; if (btnText.indexOf('View Transcript') !== -1) { self.showResults('transcript'); } else { self.runTranscriptScan(editor); } }); panel.querySelector('#btn-titles').addEventListener('click', function() { var btnText = this.innerText; if (btnText.indexOf('View Titles') !== -1) { self.showResults('titles'); } else { self.runTitles(editor); } }); panel.querySelector('#btn-ideas').addEventListener('click', function() { var btnText = this.innerText; if (btnText.indexOf('View Topics') !== -1) { self.showResults('ideas'); } else { self.runArticleIdeas(editor); } }); var clearIdeasBtn = panel.querySelector('#btn-clear-ideas'); if (clearIdeasBtn) { clearIdeasBtn.addEventListener('click', function() { if (confirm('Clear cached Topic Ideas? This will reset the Topics tab.')) { self.clearIdeasCache(); } }); } panel.querySelector('.pfeai-tagline-btn').addEventListener('click', function() { self.runTagline(editor); }); panel.querySelector('.pfeai-tags-btn').addEventListener('click', function() { self.runTagSuggestions(editor); }); panel.querySelector('.pfeai-meta-btn').addEventListener('click', function() { self.runMetaDescFromMenu(editor); }); panel.querySelectorAll('.pfeai-tab').forEach(function(btn) { btn.addEventListener('click', function() { self.switchTab(this.getAttribute('data-tab')); }); }); this.panelCreated = true; }, runSocialPack: function(editor, forceRefresh) { var self = this; var contentHtml = this.getSafeContent(editor); var title = (document.getElementById('title') || {}).value || ''; if (!title) { alert('Please enter a title.'); return; } this.showResults('social'); this.setLoading(true); fetch(PFEAI.rest_url + 'social-pack?_t=' + Date.now(), { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-WP-Nonce': PFEAI.nonce }, body: JSON.stringify({ content: contentHtml, title: title, post_id: PFEAI.post_id, provider: this.getProvider(), force_refresh: forceRefresh || false }) }) .then(function(r){return r.json()}).then(function(json){ self.setLoading(false); if(json.tweets) { self.renderSocialPack(json); var timestamp = json.generated_at || Date.now()/1000; self.setCachedState('btn-social', 'View Social Posts', 'social', timestamp, json.from_cache); self.startCacheWindow(json.from_cache); } else if (json.code) { self.socialEl.innerHTML = '

Error: ' + self.escapeHtml(json.message) + '

'; } }).catch(function(e) { self.setLoading(false); console.error(e); }); }, renderSocialPack: function(data) { var self = this; this.socialEl.innerHTML = '

Social Posts

'; (data.tweets || []).forEach(function(t, idx) { self.createSocialCard('Twitter / X ('+(idx+1)+')', t, self.socialEl); }); if (data.facebook) self.createSocialCard('Facebook', data.facebook, self.socialEl); if (data.meta_desc) self.createSocialCard('Meta Description (SEO)', data.meta_desc, self.socialEl); }, createSocialCard: function(label, text, container) { var card = document.createElement('div'); card.className = 'pfeai-card'; card.style.background = '#f5f5f5'; var labelEl = document.createElement('strong'); labelEl.textContent = label; card.appendChild(labelEl); var textEl = document.createElement('p'); textEl.style.fontSize = '12px'; textEl.style.marginBottom = '5px'; textEl.textContent = text; card.appendChild(textEl); var copyBtn = document.createElement('button'); copyBtn.className = 'button button-small'; copyBtn.textContent = 'Copy'; copyBtn.onclick = function() { navigator.clipboard.writeText(text); copyBtn.textContent = 'Copied!'; setTimeout(function(){ copyBtn.textContent = 'Copy'; }, 1500); }; card.appendChild(copyBtn); container.appendChild(card); }, runAnalysis: function(editor, forceRefresh) { var self = this; var contentHtml = this.getSafeContent(editor); var title = (document.getElementById('title') || {}).value || ''; if (!title) { alert('Please enter a title.'); return; } this.showResults('highlights'); this.setLoading(true); fetch(PFEAI.rest_url + 'analyze?_t=' + Date.now(), { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-WP-Nonce': PFEAI.nonce }, body: JSON.stringify({ content: contentHtml, title: title, post_id: PFEAI.post_id, provider: this.getProvider(), force_refresh: forceRefresh || false }) }) .then(function(r){return r.json()}).then(function(json){ self.setLoading(false); if(json.highlights) { self.renderAnalysis(json); var timestamp = json.generated_at || Date.now()/1000; self.setCachedState('btn-scan', 'View Analysis Results', 'highlights', timestamp, json.from_cache); self.startCacheWindow(json.from_cache); } else if (json.code) { self.analysisEl.highlights.innerHTML = '

Error: ' + self.escapeHtml(json.message) + '

'; } }).catch(function(e) { self.setLoading(false); console.error(e); }); }, runTitles: function(editor, forceRefresh) { var self = this; var contentHtml = this.getSafeContent(editor); var title = (document.getElementById('title') || {}).value || ''; this.showResults('titles'); this.setLoading(true); fetch(PFEAI.rest_url + 'seo-titles?_t=' + Date.now(), { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-WP-Nonce': PFEAI.nonce }, body: JSON.stringify({ content: contentHtml, title: title, post_id: PFEAI.post_id, provider: this.getProvider(), force_refresh: forceRefresh || false }) }) .then(function(r){return r.json()}).then(function(json){ self.setLoading(false); if(json.titles) { self.renderTitles(json); var timestamp = json.generated_at || Date.now()/1000; self.setCachedState('btn-titles', 'View Titles', 'titles', timestamp, json.from_cache); self.startCacheWindow(json.from_cache); } else if (json.code) { self.titlesEl.innerHTML = '

Error: ' + self.escapeHtml(json.message) + '

'; } }); }, runTranscriptScan: function(editor, forceRefresh) { var self = this; var contentText = this.getSafeText(editor); if (contentText.length < 50) { alert('Please paste transcript.'); return; } this.showResults('transcript'); this.setLoading(true); fetch(PFEAI.rest_url + 'transcript-scan?_t=' + Date.now(), { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-WP-Nonce': PFEAI.nonce }, body: JSON.stringify({ content: contentText, post_id: PFEAI.post_id, provider: this.getProvider(), force_refresh: forceRefresh || false }) }) .then(function(r){return r.json()}) .then(function(json){ self.setLoading(false); var suggestions = null; if (json.suggestions && Array.isArray(json.suggestions)) { suggestions = json.suggestions; } else if (json.title && json.context) { suggestions = [json]; } if (suggestions && suggestions.length > 0) { self.renderTranscriptSuggestions(suggestions, contentText); var timestamp = json.generated_at || Date.now()/1000; self.setCachedState('btn-transcript', 'View Transcript Results', 'transcript', timestamp, json.from_cache); self.startCacheWindow(json.from_cache); } else if (json.code) { self.transcriptEl.innerHTML = '

Error: ' + self.escapeHtml(json.message) + '

'; } else { self.transcriptEl.innerHTML = '

Unexpected response format. Please click "Rescan" to refresh.

'; } }) .catch(function(err) { self.setLoading(false); self.transcriptEl.innerHTML = '

Request failed: ' + self.escapeHtml(err.message) + '

'; }); }, runTranscriptOutline: function(title, content, clickedCard) { var self = this; var resDiv = document.getElementById('pfeai-transcript-result'); resDiv.innerHTML = '

Generating outline...

This may take up to 30 seconds for longer transcripts.

'; if (!title) { resDiv.innerHTML = '

Error: No headline selected. Please click a headline above.

'; return; } if (!content || content.length < 50) { resDiv.innerHTML = '

Error: Transcript content is too short or missing.

'; return; } var controller = new AbortController(); var timeoutId = setTimeout(function() { controller.abort(); }, 180000); fetch(PFEAI.rest_url + 'transcript-outline?_t=' + Date.now(), { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-WP-Nonce': PFEAI.nonce }, body: JSON.stringify({ selected_title: title, content: content, provider: this.getProvider() }), signal: controller.signal }) .then(function(r) { clearTimeout(timeoutId); if (!r.ok) { throw new Error('Server returned status ' + r.status); } return r.json(); }) .then(function(json) { if (json.code) { resDiv.innerHTML = '

Error: ' + self.escapeHtml(json.message) + '

Try selecting a different headline or click Rescan.

'; return; } if (json.blurb) { self.renderTranscriptOutlineResult(json, title); } else { resDiv.innerHTML = '

AI response was incomplete. Please try again.

Response received but missing required content.

'; } }) .catch(function(err) { clearTimeout(timeoutId); var errorMsg = 'Error generating outline.'; if (err.name === 'AbortError') { errorMsg = 'Request timed out. The transcript may be too long.'; } else if (err.message) { errorMsg = err.message; } resDiv.innerHTML = '

' + self.escapeHtml(errorMsg) + '

Try again or select a different headline.

'; }); }, runArticleIdeas: function(editor, forceRefresh) { var self = this; var title = (document.getElementById('title') || {}).value || ''; var contentText = this.getSafeText(editor).trim(); if (!forceRefresh && (title.length > 0 || contentText.length > 5)) { alert('To generate fresh Topic Inspiration, please clear the Title and Content editor first.'); return; } this.showResults('ideas'); this.setLoading(true); var fetchIdeas = function() { fetch(PFEAI.rest_url + 'article-ideas?_t=' + Date.now(), { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-WP-Nonce': PFEAI.nonce }, body: JSON.stringify({ title: '', post_id: PFEAI.post_id, provider: self.getProvider(), force_refresh: forceRefresh || false }) }) .then(function(r){return r.json()}).then(function(json){ self.setLoading(false); if(json.ideas) { self.renderIdeasInteractive(json); self.setCachedState('btn-ideas', 'View Topics', 'ideas', Date.now()/1000); } else if (json.code) { self.ideasEl.innerHTML = '

Error: ' + self.escapeHtml(json.message) + '

'; } }).catch(function(e) { self.setLoading(false); console.error(e); }); }; if (forceRefresh) { fetch(PFEAI.rest_url + 'clear-ideas-cache?_t=' + Date.now(), { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-WP-Nonce': PFEAI.nonce }, body: JSON.stringify({ post_id: PFEAI.post_id }) }) .then(function() { fetchIdeas(); }) .catch(function() { fetchIdeas(); }); } else { fetchIdeas(); } }, runIdeaOutline: function(title, context) { var self = this; var resDiv = document.getElementById('pfeai-idea-result'); if(!resDiv) return; resDiv.innerHTML = '

Drafting outline...

This may take up to 30 seconds.

'; var controller = new AbortController(); var timeoutId = setTimeout(function() { controller.abort(); }, 180000); fetch(PFEAI.rest_url + 'idea-outline?_t=' + Date.now(), { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-WP-Nonce': PFEAI.nonce }, body: JSON.stringify({ idea_title: title, context: context, provider: this.getProvider() }), signal: controller.signal }) .then(function(r) { clearTimeout(timeoutId); if (!r.ok) { throw new Error('Server returned status ' + r.status); } return r.json(); }) .then(function(json) { if (json.code) { resDiv.innerHTML = '

Error: ' + self.escapeHtml(json.message) + '

'; return; } if(json.blurb) { self.renderIdeaOutlineResult(json, title); } else { resDiv.innerHTML = '

AI response was incomplete. Please try again.

'; } }) .catch(function(err) { clearTimeout(timeoutId); var errorMsg = 'Error generating outline.'; if (err.name === 'AbortError') { errorMsg = 'Request timed out. Please try again.'; } else if (err.message) { errorMsg = err.message; } resDiv.innerHTML = '

' + self.escapeHtml(errorMsg) + '

'; }); }, runTagline: function(editor) { var self = this; var c = this.getSafeContent(editor); var t = (document.getElementById('title') || {}).value || ''; if (!t) { alert('Enter title first'); return; } var btn = this.panelEl.querySelector('.pfeai-tagline-btn'); var originalText = btn ? btn.textContent : ''; if (btn) { btn.disabled = true; btn.innerHTML = ' Thinking...'; } fetch(PFEAI.rest_url + 'generate-tagline?_t=' + Date.now(), { method: 'POST', headers: {'Content-Type':'application/json','X-WP-Nonce':PFEAI.nonce}, body:JSON.stringify({content:c, title:t, provider: this.getProvider()}) }) .then(function(r){ return r.json(); }) .then(function(j){ if (btn) { btn.disabled = false; btn.textContent = originalText; } if(j.tagline) { document.getElementById('pftwt_tagline').value = j.tagline; self.startCacheWindow(false); } else if (j.code) { alert('Error: ' + j.message); } else { alert('No tagline was generated. Please try again.'); } }) .catch(function(e) { if (btn) { btn.disabled = false; btn.textContent = originalText; } alert('Error: ' + e.message); }); }, runTagSuggestions: function(editor) { var self = this; var c = this.getSafeContent(editor); var t = (document.getElementById('title') || {}).value || ''; if (!c || c.length < 50) { alert('Please add more content before generating tags.'); return; } var btn = this.panelEl.querySelector('.pfeai-tags-btn'); var originalText = btn ? btn.textContent : ''; if (btn) { btn.disabled = true; btn.innerHTML = ' Thinking...'; } fetch(PFEAI.rest_url + 'suggest-tags?_t=' + Date.now(), { method: 'POST', headers: {'Content-Type':'application/json','X-WP-Nonce':PFEAI.nonce}, body:JSON.stringify({content:c, title:t, provider: this.getProvider()}) }) .then(function(r){ return r.json(); }) .then(function(j){ if (btn) { btn.disabled = false; btn.textContent = originalText; } if (j.code) { alert('Error generating tags: ' + (j.message || j.code)); return; } if(j.tags && j.tags.length > 0 && jQuery) { var $ = jQuery; var tagsAdded = 0; var tagBox = $('#post_tag'); if (window.tagBox && typeof window.tagBox.flushTags === 'function') { var $input = $('#new-tag-post_tag'); j.tags.forEach(function(tag) { $input.val(tag); window.tagBox.flushTags(tagBox, false, 1); tagsAdded++; }); } else { var $input = $('#new-tag-post_tag'); var $addBtn = $('#post_tag .tagadd'); j.tags.forEach(function(tag, index) { setTimeout(function() { $input.val(tag); $addBtn.trigger('click'); var e = $.Event('keypress'); e.which = 13; $input.trigger(e); tagsAdded++; if (index === j.tags.length - 1) { setTimeout(function() { if (window.tagBox && typeof window.tagBox.get === 'function') { window.tagBox.get('post_tag'); } }, 100); } }, index * 50); }); } self.startCacheWindow(false); if (btn) { btn.textContent = 'Added ' + j.tags.length + ' tags!'; setTimeout(function() { btn.textContent = originalText; }, 2000); } } else { alert('No tags were generated. Please try again.'); } }) .catch(function(e) { if (btn) { btn.disabled = false; btn.textContent = originalText; } alert('Error: ' + e.message); }); }, runMetaDescFromMenu: function(editor) { var self = this; var title = (document.getElementById('title') || {}).value || ''; var content = this.getSafeContent(editor); if (!title && !content) { alert('Please add a title or content first.'); return; } var btn = this.panelEl.querySelector('.pfeai-meta-btn'); var originalText = btn ? btn.textContent : ''; if (btn) { btn.disabled = true; btn.innerHTML = ' Thinking...'; } fetch(PFEAI.rest_url + 'generate-meta-desc?_t=' + Date.now(), { method: 'POST', headers: {'Content-Type':'application/json','X-WP-Nonce':PFEAI.nonce}, body: JSON.stringify({content: content, title: title, provider: this.getProvider()}) }) .then(function(r){return r.json()}) .then(function(j){ if (btn) { btn.disabled = false; btn.textContent = originalText; } if(j.meta_description) { self.showResults('seo'); var textarea = document.getElementById('pfeai-meta-description'); if (textarea) { textarea.value = j.meta_description; self.updateSerpPreview(); } self.startCacheWindow(false); if (btn) { btn.textContent = 'Generated!'; setTimeout(function() { btn.textContent = originalText; }, 2000); } } else if (j.code) { alert('Error: ' + j.message); } else { alert('No meta description was generated. Please try again.'); } }) .catch(function(e) { if (btn) { btn.disabled = false; btn.textContent = originalText; } alert('Error: ' + e.message); }); }, runMetaDescription: function() { var self = this; var title = (document.getElementById('title') || {}).value || ''; var content = this.getSafeContent(tinymce.activeEditor); if (!title && !content) { alert('Please add a title or content first.'); return; } var btn = document.getElementById('pfeai-generate-meta-btn'); if (btn) { btn.textContent = 'Generating...'; btn.disabled = true; } fetch(PFEAI.rest_url + 'generate-meta-desc?_t=' + Date.now(), { method: 'POST', headers: {'Content-Type':'application/json','X-WP-Nonce':PFEAI.nonce}, body: JSON.stringify({content: content, title: title, provider: this.getProvider()}) }) .then(function(r){return r.json()}) .then(function(j){ if (btn) { btn.innerHTML = '✨ Generate New Meta Description'; btn.disabled = false; } if(j.meta_description) { var textarea = document.getElementById('pfeai-meta-description'); if (textarea) { textarea.value = j.meta_description; self.updateSerpPreview(); } self.startCacheWindow(false); } else if (j.code) { alert('Error: ' + j.message); } }) .catch(function(e) { if (btn) { btn.innerHTML = '✨ Generate New Meta Description'; btn.disabled = false; } }); }, runFAQ: function(editor) { var self = this; var c = this.getSafeContent(editor); var t = (document.getElementById('title') || {}).value || ''; if (!c || c.length < 100) { alert('Please write or paste the article content first so the AI can generate accurate FAQs.'); return; } this.showResults('faq'); this.setLoading(true); fetch(PFEAI.rest_url + 'generate-faq?_t=' + Date.now(), { method: 'POST', headers: {'Content-Type':'application/json','X-WP-Nonce':PFEAI.nonce}, body: JSON.stringify({content: c, title: t, provider: this.getProvider()}) }) .then(function(r){ return r.json(); }) .then(function(j){ self.setLoading(false); if(j.faq && j.faq.length > 0) { self.renderFAQ(j.faq, editor); self.startCacheWindow(false); } else if (j.code) { self.faqEl.innerHTML = '

Error: ' + self.escapeHtml(j.message) + '

'; } else { self.faqEl.innerHTML = '

Failed to generate FAQ. Please try again.

'; } }) .catch(function(e) { self.setLoading(false); self.faqEl.innerHTML = '

Error: ' + self.escapeHtml(e.message) + '

'; }); }, renderFAQ: function(faqData, editor) { var self = this; if (!this.faqEl) return; this.faqEl.innerHTML = ''; var header = document.createElement('h4'); header.style.margin = '0 0 10px 0'; header.textContent = 'Review & Edit FAQ'; this.faqEl.appendChild(header); var instruction = document.createElement('p'); instruction.style.fontSize = '11px'; instruction.style.color = '#666'; instruction.textContent = 'Review your FAQs below. Clicking the button will send them down to the "Article FAQ & Schema" box at the bottom of your post screen. Remember to click the WordPress Update/Publish button to save them!'; this.faqEl.appendChild(instruction); var faqContainer = document.createElement('div'); faqContainer.id = 'pfeai-faq-inputs-container'; faqData.forEach(function(item, index) { var box = document.createElement('div'); box.style.background = '#fff'; box.style.padding = '10px'; box.style.marginBottom = '10px'; box.style.border = '1px solid #ddd'; box.style.borderRadius = '4px'; var qLabel = document.createElement('strong'); qLabel.style.fontSize = '11px'; qLabel.textContent = 'Question ' + (index + 1); box.appendChild(qLabel); var qInput = document.createElement('input'); qInput.type = 'text'; qInput.className = 'pfeai-faq-q'; qInput.style.width = '100%'; qInput.style.marginBottom = '8px'; qInput.value = item.question || ''; box.appendChild(qInput); var aLabel = document.createElement('strong'); aLabel.style.fontSize = '11px'; aLabel.textContent = 'Answer ' + (index + 1); box.appendChild(aLabel); var aInput = document.createElement('textarea'); aInput.className = 'pfeai-faq-a'; aInput.style.width = '100%'; aInput.style.height = '50px'; aInput.style.fontSize = '12px'; aInput.value = item.answer || ''; box.appendChild(aInput); faqContainer.appendChild(box); }); this.faqEl.appendChild(faqContainer); var insertBtn = document.createElement('button'); insertBtn.type = 'button'; insertBtn.className = 'button button-primary'; insertBtn.style.width = '100%'; insertBtn.innerHTML = '↓ Send to FAQ Meta Box'; insertBtn.onclick = function() { var qInputs = faqContainer.querySelectorAll('.pfeai-faq-q'); var aInputs = faqContainer.querySelectorAll('.pfeai-faq-a'); var transferCount = 0; for (var i = 0; i < qInputs.length; i++) { var qText = qInputs[i].value.trim(); var aText = aInputs[i].value.trim(); var metaQ = document.getElementById('pfeai_meta_q_' + i); var metaA = document.getElementById('pfeai_meta_a_' + i); if (metaQ && metaA) { metaQ.value = qText; metaA.value = aText; if (qText && aText) transferCount++; } } if (transferCount === 0) { alert('Could not locate the FAQ Meta Box on the screen. Please ensure "Article FAQ & Schema" is checked in your Screen Options at the top right.'); return; } insertBtn.innerHTML = '✓ Sent to Meta Box!'; setTimeout(function() { insertBtn.innerHTML = '↓ Send to FAQ Meta Box'; }, 2000); }; this.faqEl.appendChild(insertBtn); }, updateSerpPreview: function(selectedTitle) { var titleEl = document.getElementById('pfeai-serp-title'); var descEl = document.getElementById('pfeai-serp-desc'); var charCount = document.getElementById('pfeai-meta-char-count'); var titleCharNote = document.getElementById('pfeai-title-char-note'); var metaTextarea = document.getElementById('pfeai-meta-description'); if (selectedTitle && titleEl) { titleEl.textContent = selectedTitle; if (selectedTitle.length > 60) { titleEl.textContent = selectedTitle.substring(0, 57) + '...'; } } if (titleCharNote && titleEl) { var currentTitle = selectedTitle || titleEl.textContent; if (currentTitle === '(Select a title above)') currentTitle = ''; var titleLen = currentTitle.length; var titleColor = titleLen <= 60 ? '#2e7d32' : '#c62828'; titleCharNote.innerHTML = 'Title: ' + titleLen + '/60 chars ' + (titleLen <= 60 ? '✓' : '(may be truncated)'); } if (metaTextarea && descEl) { var desc = metaTextarea.value; if (desc) { descEl.textContent = desc.length > 155 ? desc.substring(0, 152) + '...' : desc; } else { descEl.textContent = '(Enter a meta description above)'; } } if (metaTextarea && charCount) { var len = metaTextarea.value.length; var color = '#666'; var status = ''; if (len === 0) { color = '#666'; } else if (len < 120) { color = '#e65100'; status = ' (too short)'; } else if (len >= 120 && len <= 155) { color = '#2e7d32'; status = ' ✓ optimal'; } else if (len > 155 && len <= 160) { color = '#e65100'; status = ' (slightly long)'; } else { color = '#c62828'; status = ' (will be truncated)'; } charCount.innerHTML = '' + len + ' / 155 characters' + status + ''; } }, saveToClipboard: function(title, html, redirectToNew) { fetch(PFEAI.rest_url + 'save-clipboard?_t=' + Date.now(), { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-WP-Nonce': PFEAI.nonce }, body: JSON.stringify({ title: title, content: html }) }) .then(function(){ if (redirectToNew) { window.open('/patriots/blog/wp-admin/post-new.php', '_blank'); } else { alert('Saved! You can now access this draft in the "Saved" tab on any new post.'); location.reload(); } }); }, clearClipboard: function() { fetch(PFEAI.rest_url + 'clear-clipboard?_t=' + Date.now(), { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-WP-Nonce': PFEAI.nonce } }) .then(function(r) { return r.json(); }) .then(function(json) { if (json.success) { alert('Saved draft cleared.'); location.reload(); } }) .catch(function(e) { console.error(e); }); }, clearIdeasCache: function() { fetch(PFEAI.rest_url + 'clear-ideas-cache?_t=' + Date.now(), { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-WP-Nonce': PFEAI.nonce }, body: JSON.stringify({ post_id: PFEAI.post_id }) }) .then(function(r) { return r.json(); }) .then(function(json) { if (json.success) { alert('Topics cache cleared.'); location.reload(); } }) .catch(function(e) { console.error(e); }); }, togglePanel: function(forceState) { if (!this.panelEl) return; var open = this.panelEl.classList.contains('pfeai-open'); var shouldOpen = (typeof forceState === 'boolean') ? forceState : !open; if (shouldOpen) { this.panelEl.classList.add('pfeai-open'); document.body.classList.add('pfeai-panel-open'); this.updateTranscriptVisibility(); if (this.isMinimized) document.body.classList.add('pfeai-panel-minimized'); else document.body.classList.remove('pfeai-panel-minimized'); } else { this.panelEl.classList.remove('pfeai-open'); document.body.classList.remove('pfeai-panel-open'); } }, showMenu: function() { this.panelEl.classList.remove('pfeai-show-results'); }, showResults: function(activeTab) { this.panelEl.classList.add('pfeai-show-results'); if (activeTab) this.switchTab(activeTab); }, updateTranscriptVisibility: function() { var isTranscript = false; var labels = document.querySelectorAll('.categorychecklist label'); for (var i = 0; i < labels.length; i++) { if (labels[i].innerText.indexOf('Patriots Transcripts') !== -1) { var input = labels[i].querySelector('input[type="checkbox"]'); if (input && input.checked) isTranscript = true; } } var btn = document.getElementById('btn-transcript'); var tab = document.getElementById('tab-transcript'); if (isTranscript) { if (btn) btn.style.display = 'block'; if (tab) tab.style.display = 'inline-block'; } else { if (btn) btn.style.display = 'none'; if (tab) tab.style.display = 'none'; } }, preloadSavedData: function() { if (!PFEAI.saved_data) return; if (PFEAI.saved_data.transcript && PFEAI.saved_data.transcript.suggestions) { this.renderTranscriptSuggestions(PFEAI.saved_data.transcript.suggestions, ''); this.setCachedState('btn-transcript', 'View Transcript Results', 'transcript', PFEAI.saved_data.transcript.generated_at); } if (PFEAI.saved_data.analysis && PFEAI.saved_data.analysis.highlights) { this.renderAnalysis(PFEAI.saved_data.analysis); this.setCachedState('btn-scan', 'View Analysis Results', 'highlights', PFEAI.saved_data.analysis.generated_at); } if (PFEAI.saved_data.titles && PFEAI.saved_data.titles.titles) { this.renderTitles(PFEAI.saved_data.titles); this.setCachedState('btn-titles', 'View Titles', 'titles', PFEAI.saved_data.titles.generated_at); } if (PFEAI.saved_data.ideas && PFEAI.saved_data.ideas.ideas) { this.renderIdeasInteractive(PFEAI.saved_data.ideas); this.setCachedState('btn-ideas', 'View Topics', 'ideas', PFEAI.saved_data.ideas.generated_at); } if (PFEAI.saved_data.social && PFEAI.saved_data.social.tweets) { this.renderSocialPack(PFEAI.saved_data.social); this.setCachedState('btn-social', 'View Social Posts', 'social', PFEAI.saved_data.social.generated_at); } if (PFEAI.saved_data.clipboard && this.savedEl) { this.renderSavedDraft(PFEAI.saved_data.clipboard); } if (PFEAI.saved_data.fact_check && PFEAI.saved_data.fact_check.factChecks) { this.renderFacts(PFEAI.saved_data.fact_check.factChecks); this.setCachedState('btn-fact-check', 'View Fact Check', 'facts', PFEAI.saved_data.fact_check.generated_at); } if (PFEAI.saved_data.links && PFEAI.saved_data.links.links) { this.renderInternalLinks(PFEAI.saved_data.links, null); this.setCachedState('btn-internal-links', '\uD83D\uDD17 View Links', 'links', PFEAI.saved_data.links.generated_at); } // Always render the SEO tab this.renderSeoTab(); // Render the Search Insights data this.renderGSCPanel(); }, setCachedState: function(btnId, newText, tabName, timestamp) { var btn = document.getElementById(btnId); if (btn) { if (btnId === 'btn-transcript' || btnId === 'btn-ideas' || btnId === 'btn-social') { btn.innerHTML = '' + this.escapeHtml(newText) + '
(Click to see saved)'; } else { btn.textContent = newText; } } var container = this.panelEl.querySelector('.pfeai-tab-content[data-tab="' + tabName + '"]'); if (container) { var existingHeader = container.querySelector('.pfeai-cache-header'); if (existingHeader) existingHeader.remove(); var dateStr = timestamp ? new Date(timestamp * 1000).toLocaleTimeString([], {hour:'2-digit', minute:'2-digit'}) : ''; var header = document.createElement('div'); header.className = 'pfeai-cache-header'; header.style.background = '#e1f5fe'; header.style.padding = '8px'; header.style.marginBottom = '10px'; header.style.display = 'flex'; header.style.justifyContent = 'space-between'; header.style.alignItems = 'center'; header.style.borderRadius = '4px'; var savedSpan = document.createElement('span'); savedSpan.style.fontSize = '11px'; savedSpan.style.color = '#0277bd'; savedSpan.textContent = 'Saved ' + dateStr; header.appendChild(savedSpan); var rescanBtn = document.createElement('button'); rescanBtn.className = 'button button-small'; rescanBtn.textContent = 'Rescan / Start Over'; (function(name) { rescanBtn.onclick = function() { if (name === 'highlights') window.PFEditorialAI.runAnalysis(tinymce.activeEditor, true); if (name === 'transcript') window.PFEditorialAI.runTranscriptScan(tinymce.activeEditor, true); if (name === 'titles') window.PFEditorialAI.runTitles(tinymce.activeEditor, true); if (name === 'ideas') window.PFEditorialAI.runArticleIdeas(tinymce.activeEditor, true); if (name === 'social') window.PFEditorialAI.runSocialPack(tinymce.activeEditor, true); if (name === 'facts') window.PFEditorialAI.runFactCheck(tinymce.activeEditor, true); if (name === 'links') window.PFEditorialAI.runInternalLinks(tinymce.activeEditor, true); }; })(tabName); header.appendChild(rescanBtn); container.insertBefore(header, container.firstChild); } }, renderAnalysis: function(data) { var self = this; var hEl = this.analysisEl.highlights; hEl.innerHTML = ''; (data.highlights || []).forEach(function(h) { var c = document.createElement('div'); c.className = 'pfeai-card'; var typeEl = document.createElement('strong'); typeEl.textContent = (h.type || '').toUpperCase(); c.appendChild(typeEl); var msgEl = document.createElement('p'); msgEl.textContent = h.message || ''; c.appendChild(msgEl); var quoteEl = document.createElement('div'); quoteEl.className = 'pfeai-card-quote'; quoteEl.textContent = '"' + (h.quote || '') + '"'; c.appendChild(quoteEl); var suggEl = document.createElement('div'); suggEl.className = 'pfeai-card-suggestion'; suggEl.textContent = h.suggestion || ''; c.appendChild(suggEl); hEl.appendChild(c); }); var sEl = this.analysisEl.suggestions; sEl.innerHTML = ''; var ulS = document.createElement('ul'); ulS.className = 'pfeai-list'; (data.summarySuggestions || []).forEach(function(s){ var li = document.createElement('li'); li.textContent = s; ulS.appendChild(li); }); sEl.appendChild(ulS); var gEl = this.analysisEl.gaps; gEl.innerHTML = ''; var ulG = document.createElement('ul'); ulG.className = 'pfeai-list'; (data.contentGaps || []).forEach(function(g){ var li = document.createElement('li'); li.textContent = g; ulG.appendChild(li); }); gEl.appendChild(ulG); var fEl = self.factsEl; if (fEl) { fEl.innerHTML = ''; var checks = data.factChecks || []; var factsHeading = document.createElement('h4'); factsHeading.style.margin = '0 0 4px 0'; factsHeading.style.color = '#1A2635'; factsHeading.textContent = 'Stats & Data Verification'; fEl.appendChild(factsHeading); var factsNote = document.createElement('p'); factsNote.style.fontSize = '11px'; factsNote.style.color = '#666'; factsNote.style.margin = '0 0 12px 0'; factsNote.textContent = 'AI-reviewed claims found in the article. Always cross-check flagged items before publishing.'; fEl.appendChild(factsNote); if (checks.length === 0) { var noFacts = document.createElement('p'); noFacts.style.color = '#666'; noFacts.style.fontSize = '13px'; noFacts.textContent = 'No specific stats or data claims detected in this article.'; fEl.appendChild(noFacts); } else { var counts = { 'Likely Accurate': 0, 'Needs Verification': 0, 'Potentially Incorrect': 0, 'May Be Outdated': 0 }; checks.forEach(function(fc) { if (counts[fc.verdict] !== undefined) counts[fc.verdict]++; }); var badgeRow = document.createElement('div'); badgeRow.style.cssText = 'display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px;'; var badgeDefs = [ { key: 'Likely Accurate', bg: '#e8f5e9', color: '#2e7d32', icon: '✓' }, { key: 'Needs Verification', bg: '#fff8e1', color: '#f57c00', icon: '⚠' }, { key: 'May Be Outdated', bg: '#e3f2fd', color: '#1565c0', icon: '📅' }, { key: 'Potentially Incorrect', bg: '#ffebee', color: '#c62828', icon: '✗' } ]; badgeDefs.forEach(function(bd) { if (!counts[bd.key]) return; var badge = document.createElement('span'); badge.style.cssText = 'background:' + bd.bg + '; color:' + bd.color + '; border:1px solid ' + bd.color + '; border-radius:12px; padding:2px 8px; font-size:11px; font-weight:700;'; badge.textContent = bd.icon + ' ' + counts[bd.key] + ' ' + bd.key; badgeRow.appendChild(badge); }); fEl.appendChild(badgeRow); var styleMap = { 'Likely Accurate': { border: '#4caf50', bg: '#f9fbe7', tagBg: '#e8f5e9', tagColor: '#2e7d32', icon: '✓' }, 'Needs Verification': { border: '#ff9800', bg: '#fffde7', tagBg: '#fff3e0', tagColor: '#e65100', icon: '⚠' }, 'May Be Outdated': { border: '#2196f3', bg: '#e8f4fd', tagBg: '#e3f2fd', tagColor: '#1565c0', icon: '📅' }, 'Potentially Incorrect': { border: '#f44336', bg: '#fff5f5', tagBg: '#ffebee', tagColor: '#c62828', icon: '✗' } }; checks.forEach(function(fc) { var verdict = fc.verdict || 'Needs Verification'; var s = styleMap[verdict] || styleMap['Needs Verification']; var card = document.createElement('div'); card.className = 'pfeai-fact-card'; card.style.cssText = 'background:' + s.bg + '; border-left:4px solid ' + s.border + '; border-radius:3px; padding:8px 10px; margin-bottom:8px;'; var tag = document.createElement('span'); tag.style.cssText = 'display:inline-block; background:' + s.tagBg + '; color:' + s.tagColor + '; border:1px solid ' + s.border + '; border-radius:10px; padding:1px 7px; font-size:10px; font-weight:700; margin-bottom:5px;'; tag.textContent = s.icon + ' ' + verdict; card.appendChild(tag{"id":56310,"date":"2024-11-04T11:16:02","date_gmt":"2024-11-04T16:16:02","guid":{"rendered":"https:\/\/www.patsfans.com\/patriots\/blog\/?p=56310"},"modified":"2024-11-04T11:33:20","modified_gmt":"2024-11-04T16:33:20","slug":"five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor","status":"publish","type":"post","link":"https:\/\/www.patsfans.com\/patriots\/blog\/2024\/11\/04\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\/","title":{"rendered":"Five Thoughts After Sunday’s Patriots Loss in Tennessee: Maye’s Got the “It” Factor"},"content":{"rendered":"

Heading into Sunday’s game, the New England Patriots<\/strong><\/a> certainly seemed like they were in a position to beat a woeful 1-6 Titans team and make it two-straight wins for the first time all year.<\/p>\n

Instead, New England ended up continuing its streak of making mistakes in key moments, which ultimately allowed Tennessee to walk away with a 20-17 overtime win at home, handing the Patriots their 7th loss of the season.<\/p>\n

Here are some thoughts coming off of yesterday:<\/p>\n

1) Maye’s got the “it” this team has needed:<\/strong> If anyone thought Maye would be more conservative after ending up in the concussion protocol last week, the rookie certainly didn’t show any hesitation yesterday as he repeatedly took matters into his own hands.<\/p>\n

Maye racked up 95 yards on 8 rushes on the ground, with the rookie taking off each time he saw no one was open to throw to.\u00a0 He showed zero hesitation and definitely didn’t shy away from any contact, including one play where he dropped his shoulder to pick up whatever additional yards he could muster.<\/p>\n

As a result, it was obvious that if there was any thought about dialing it back, that didn’t appear to be an option.<\/p>\n

After the game reporters asked Maye if there was any hesitation to run despite the hit he took against the Jets.\u00a0 Maye immediately brushed off the question and shot down any notion of concern.<\/p>\n

\u201cYeah, never,” said Maye.\u00a0 “I should have probably broke that first one. Had one-on-one with the safety.\u00a0 I got to make somebody miss, man. So that\u2019s on me.\u201d<\/p>\n

The fact Maye actually believes he should have been able to slip the coverage and head off to the races was eye-opening, showing off just how competitive the rookie really is.<\/p>\n

Maye also had a fairly solid game throwing the football, finishing Sunday’s game 29-of-41 (70.7%) for 206 yards along with a touchdown and two interceptions.\u00a0 The first interception happened when he was hit as he was letting go of the football on a pass across the middle of the field.\u00a0 The second was obviously the game-ending pick he threw on a deep ball to Kayshon Boutte that he threw into the wind and didn’t quite get enough on.<\/p>\n

The one encouraging factor was that Maye made the right read.\u00a0 Boutte had gotten behind the defender and had Maye been able to get more on the throw to allow Boutte to stay vertical, it might have potentially been a game-winning touchdown.<\/p>\n

Instead, the wind knocked the pass down, and the Titans ended up with the turnover to end the game.<\/p>\n

Still, Maye admitted that given the fact it was a first down play, it was a risk he shouldn’t have taken.<\/p>\n

\u201cFirst down and see the safety. I think we\u2019re throwing into the wind. I got to put some more on it,” said Maye.\u00a0 “Just a dumb decision. Something you\u2019d like to have back, especially in that situation. We\u2019re going to go at least tie it up. We\u2019re on, like I said, our own 40. Sometimes the best players throw it away. It\u2019s a bad decision on my part.\u201d<\/p>\n

\n

\"Drake<\/p>\n

(PHOTO: Steve Roberts-Imagn Images)<\/span><\/strong><\/div>\n<\/div>\n

When it comes to whether or not Maye should have been more careful when he did run, the rookie explained that it’s a tough balance but when it comes to how he’s going to play, he’s not going to change who he is.<\/p>\n

\u201cI tried to slide head first a little bit. Sometimes I think that\u2019s just as dangerous diving at people\u2019s legs,” said Maye. “But I\u2019m not going to change the player that I am. When I\u2019m past the protocol and cleared, I\u2019m going to be the player. If they\u2019re dropping out guys and there\u2019s some rush lanes up front, I\u2019m going to make them pay. That\u2019s my mindset. Maybe I\u2019ll make some better throws and maybe I\u2019ll miss some guys, but at the same time, I\u2019m going to play how I\u2019m going to play.\u201d<\/p>\n

The “I’m going to make them pay” comment is exactly what you want to hear from your starting quarterback.<\/p>\n

One final quote that stood out is the fact that Maye admitted he’s still a work in progress, and he’s already shown more humility and self-awareness than former Patriots QB, Mac Jones.\u00a0 When asked whether or not he’s getting more comfortable as a player, Maye admitted that he’s making progress but that he’s still got some work to do.<\/p>\n

\u201cYeah, no doubt,” said Maye.\u00a0 “I think sometimes I get a little hoppy back there in the pocket but I feel like I\u2019ve always felt pressure well and moved well, and that\u2019s not really something that\u2026 I feel like I did that well in college, so just trying to keep on doing the same.\u201d<\/p>\n

For now, the one bright spot, despite how things have gone so far, is they seem to have finally found the right guy to lead them moving forward.\u00a0 Maye’s a kid who has that killer instinct, and he went for the jugular on Sunday on that final throw.\u00a0 Unfortunately, that gust from the Gods caused this one to go the other way.<\/p>\n

But if his trajectory continues where it’s at, the offense might soon get to the point where the Patriots may no longer find themselves looking for a last-gasp effort.\u00a0 With 9 games left, Maye has plenty of time to grow and judging by what we’ve already seen, it feels likely that he’ll at least help his football team potentially finish on a high note.<\/p>\n

\n

\"Rhamondre<\/p>\n

(PHOTO: Andrew Nelles \/ The Tennessean \/ USA TODAY NETWORK via Imagn Images)<\/span><\/strong><\/div>\n<\/div>\n

2) The running game is stuck in neutral: <\/strong>One thing that was clearly an issue on Sunday was the fact the Patriots ground game wasn’t able to do much of anything against the Titans’ defense.<\/p>\n

It was obvious that Tennessee came into this game with the intent of shutting down the run and forcing Maye to beat them.\u00a0 While the rookie played relatively well and gave them a shot at the end, the fact things were as bad as they were in the run game was staggering.<\/p>\n

Rhamondre Stevenson finished the contest carrying 10 times for just 16 yards (1.6 avg), along with a rushing touchdown and a receiving touchdown.\u00a0 But overall, he wasn’t able to find any daylight and gained more than 2 yards just three times the entire contest.<\/p>\n

To make matters worse, the playcalling certainly didn’t help.\u00a0 The Titans made it apparent that they knew the Patriots were a team that liked to run the football on first down, with five of Rhamondre Stevenson’s six first-half rushes all coming on first down for just 8-yards (1.6 avg).<\/p>\n

Overall, in the first half, they held Stevenson to six carries for just 7 yards, while JaMycal Hasty carried once for no gain.<\/p>\n

In the second half, they finally started mixing things up, with Stevenson carrying just twice on first down for 5 yards, while Antonio Gibson had one rush that went for -1 yards.\u00a0 From there, Stevenson carried twice for four yards on second down, including a touchdown.<\/p>\n

But overall, of the 7 total rushing first downs the club had for the entire game, Maye was responsible for 5 of them, while Stevenson had two – one of which was his touchdown (the NFL counts a touchdown as a first down conversion on the stat sheet).<\/p>\n

“You never really want your quarterback to be the leading rusher, and that\u2019s in all facets,” said Jerod Mayo after the game.\u00a0 “We got to be able to move guys off the line.”<\/p>\n

They didn’t do that on Sunday, and it definitely played a factor for an offense that battled all afternoon.<\/p>\n

3) Untimely penalties continue to be an issue:\u00a0<\/strong>The Patriots continue to kill themselves with untimely penalties, which ended up being the case again on Sunday.<\/p>\n

New England finished Sunday’s game with 8 penalties for 58 yards, several of which put them in long yardage and made things tough for an offense that already doesn’t have much margin for error.<\/p>\n

The most glaring example came early in the third quarter on their first offensive possession of the second half.\u00a0 Ben Brown was called for a holding penalty on a 3rd-and-5, which came after Maye took off and picked up 5 yards to seemingly move the chains.<\/p>\n

Instead, the play was called back, and they faced a 3rd-and-15.<\/p>\n

Fortunately, Maye willed his way to a 22-yard run that again moved the sticks, bailing them out of what seemed to be a tough situation.<\/p>\n

However, Jalen Polk was then flagged on the next play for an illegal shift, which pushed them back, facing 1st-and-15.\u00a0 But Maye came through again on the next play, hitting Demario Douglas on a pass that went for 21 yards, getting New England into Titans territory.<\/p>\n

But again, the Patriots were flagged on the next play, with Demontrey Jacobs being called for a false start, putting them in another 1st-and-15.\u00a0 After a one-yard loss on the next play by Gibson that set up 2nd-and-16, Maye took off for 13 yards on second down, and was aided by the Titans committing a defensive holding penalty that got them the first down.<\/p>\n

The drive ultimately ended in Stevenson’s touchdown run, but it was an example of this team making things far harder on itself than it needed to.<\/p>\n

Another holding call on a 3rd-and-7 in the fourth quarter following Tennessee’s touchdown – which put them up 17-10 with 4:27 remaining in the game – was brutal.\u00a0 After Maye hit Kendrick Bourne for a 22-yard completion that would have put them at the Titans’ 35 yard line, Brown was again called for offensive holding.<\/p>\n

That wiped out Bourne’s reception and instead set up a 3rd-and-17 back at their own 33.\u00a0 Maye couldn’t pull off any magic for that one, as he faced pressure and overthrew Douglas, which forced a punt and ended the drive.<\/p>\n

Fortunately, the defense came up with a stop on the next possession and Maye ultimately pulled off his game-tying touchdown pass after an 11 play, 50 yard drive that ended in his unbelievable throw to Rhamondre Stevenson, which saw the rookie buy himself 12 seconds as he scrambled and finally connected with the running back to force overtime.<\/p>\n

Still, had it not been for Maye’s heroics, this game might not have ended up being as close as it was and it’s a trend that absolutely cannot continue.<\/p>\n

\n

\"Marcus<\/p>\n

(PHOTO: Andrew Nelles \/ The Tennessean \/ USA TODAY NETWORK via Imagn Images)<\/span><\/strong><\/div>\n<\/div>\n

4) Marcus Jones continues to shine:<\/strong> While Jones had a couple of shaky moments on defense, he still made a couple of nice plays but more importantly, he was a huge force on special teams Sunday.<\/p>\n

Jones had a 44-yard punt return early in the first quarter, along with a 25-yard punt return ahead of New England’s game-tying drive at the end of regulation.<\/p>\n

He’s been outstanding in recent weeks, with Mayo admitting that special teams needed to step up, and he’s disappointed that they weren’t able to take advantage of Jones’ efforts.<\/p>\n

“They had to make plays, and we had the big returns by Marcus [Jones], and those guys out there are blocking for them,” said Mayo.\u00a0 “Too bad we let this one slip away.”<\/p>\n

\n

\"Tony<\/p>\n

(PHOTO: Andrew Nelles \/ The Tennessean \/ USA TODAY NETWORK via Imagn Image)<\/span><\/strong><\/div>\n<\/div>\n

5) Defense needs to take itself “to the hill” after yesterday: <\/strong>One thing that was obvious down the stretch was the fact it ended up being the Titans – not the Patriots -who were the better conditioned team late in this one.<\/p>\n

Tennessee had its way with New England’s defense for most of the game, but they really took it to that group in the second half.\u00a0 They were clearly the tougher team down the stretch, and it’s an indictment on a unit that, despite the injuries, has seemingly dropped off in an area they had taken a lot of pride in coming off that win over the Bengals in Week 1.<\/p>\n

By the time overtime came around, that unit was clearly gassed as the Titans put together a 13 play, 72 yard drive that lasted over seven minutes.\u00a0 Had Mason Rudolph not fumbled the snap on a 3rd-and-2 from the Patriots’ 7-yard line, it’s entirely possible that the game would have been over because the Titans were running the ball at will and likely would have taken it in for the touchdown.<\/p>\n

Instead, they caught a break and former Patriots kicker Nick Folk hit the field goal, giving New England’s offense one final shot before Maye’s game-ending interception.<\/p>\n

However, they were poor against the run all game after allowing 167 yards rushing, 128 yards of which came at the hands of Tony Pollard, who gashed them all afternoon.\u00a0 They were pushed around by Tennessee’s offensive line, which Mayo talked about after the game.<\/p>\n

\u201cDefensively, again, leaky run defense,” said Mayo.\u00a0 “There were times where it goes back to fundamentals. We spent a lot of time talking about the Xs and O\u2019s, but I thought the tackling still needs to improve.”<\/p>\n

Granted, they did make a timely play after Jahlani Tavai stopped a would-be touchdown for the Titans with an interception in the end zone early in the second quarter.\u00a0 That turnover was huge, because it would have put New England down 14-3 had they scored on that possession.<\/p>\n

But for a group that talked itself up as being the better-conditioned team, they’ve fallen off in a big way in recent weeks.\u00a0 It’s obviously an area that they need to improve on, especially with another challenging road game ahead next Sunday out in Chicago.<\/p>\n","protected":false},"excerpt":{"rendered":"

Heading into Sunday’s game, the New England Patriots certainly seemed like they were in a position to beat a woeful 1-6 Titans team and make it two-straight wins for the first time all year. Instead, New England ended up continuing its streak of mistakes in key moments, which ultimately allowed Tennessee to walk away with an overtime win at home, handing the Patriots their 7th loss of the season.<\/p>\n","protected":false},"author":3,"featured_media":56297,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[11,23152],"tags":[],"class_list":["post-56310","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-patriots-commentary","category-pf"],"yoast_head":"\nFive Thoughts After Sunday's Patriots Loss in Tennessee: Maye's Got the "It" Factor<\/title>\n<meta name=\"description\" content=\"Heading into Sunday's game, the New England Patriots certainly seemed like they were in a position to beat a woeful 1-6 Titans team and make it two-straight wins for the first time all year. Instead, New England ended up continuing its streak of mistakes in key moments, which ultimately allowed Tennessee to walk away with an overtime win at home, handing the Patriots their 7th loss of the season.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.patsfans.com\/patriots\/blog\/2024\/11\/04\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Five Thoughts After Sunday's Patriots Loss in Tennessee: Maye's Got the "It" Factor | PatsFans.com\" \/>\n<meta property=\"og:description\" content=\"Heading into Sunday's game, the New England Patriots certainly seemed like they were in a position to beat a woeful 1-6 Titans team and make it two-straight wins for the first time all year. Instead, New England ended up continuing its streak of mistakes in key moments, which ultimately allowed Tennessee to walk away with an overtime win at home, handing the Patriots their 7th loss of the season.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.patsfans.com\/patriots\/blog\/2024\/11\/04\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\/\" \/>\n<meta property=\"og:site_name\" content=\"PatsFans.com\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/pfans\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-04T16:16:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-04T16:33:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/www.patsfans.com\/patriots\/blog\/wp-content\/uploads\/2024\/11\/USATSI_24666001_168390408_lowres.jpg?fit=2048%2C1364&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"2048\" \/>\n\t<meta property=\"og:image:height\" content=\"1364\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Ian Logue\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ianlogue\" \/>\n<meta name=\"twitter:site\" content=\"@patsfans\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"NewsArticle\",\"@id\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/2024\\\/11\\\/04\\\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/2024\\\/11\\\/04\\\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\\\/\"},\"author\":{\"name\":\"Ian Logue\",\"@id\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/#\\\/schema\\\/person\\\/2785562a57e86e99346895c90e0f5459\"},\"headline\":\"Five Thoughts After Sunday’s Patriots Loss in Tennessee: Maye’s Got the “It” Factor\",\"datePublished\":\"2024-11-04T16:16:02+00:00\",\"dateModified\":\"2024-11-04T16:33:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/2024\\\/11\\\/04\\\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\\\/\"},\"wordCount\":2320,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/2024\\\/11\\\/04\\\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/USATSI_24666001_168390408_lowres.jpg\",\"articleSection\":[\"Patriots Commentary\",\"PF\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/2024\\\/11\\\/04\\\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/2024\\\/11\\\/04\\\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\\\/\",\"url\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/2024\\\/11\\\/04\\\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\\\/\",\"name\":\"Five Thoughts After Sunday's Patriots Loss in Tennessee: Maye's Got the \\\"It\\\" Factor\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/2024\\\/11\\\/04\\\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/2024\\\/11\\\/04\\\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/USATSI_24666001_168390408_lowres.jpg\",\"datePublished\":\"2024-11-04T16:16:02+00:00\",\"dateModified\":\"2024-11-04T16:33:20+00:00\",\"description\":\"Heading into Sunday's game, the New England Patriots certainly seemed like they were in a position to beat a woeful 1-6 Titans team and make it two-straight wins for the first time all year. Instead, New England ended up continuing its streak of mistakes in key moments, which ultimately allowed Tennessee to walk away with an overtime win at home, handing the Patriots their 7th loss of the season.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/2024\\\/11\\\/04\\\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/2024\\\/11\\\/04\\\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/2024\\\/11\\\/04\\\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/USATSI_24666001_168390408_lowres.jpg\",\"contentUrl\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/USATSI_24666001_168390408_lowres.jpg\",\"width\":2048,\"height\":1364,\"caption\":\"Andrew Nelles \\\/ The Tennessean \\\/ USA TODAY NETWORK via Imagn Images\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/2024\\\/11\\\/04\\\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Patriots Commentary\",\"item\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/category\\\/patriots-commentary\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Five Thoughts After Sunday’s Patriots Loss in Tennessee: Maye’s Got the “It” Factor\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/\",\"name\":\"PatsFans.com\",\"description\":\"Patriots Blog with News and Analysis\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/#organization\",\"name\":\"PatsFans.com\",\"url\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/01\\\/PF_Social_Logo.webp\",\"contentUrl\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/01\\\/PF_Social_Logo.webp\",\"width\":300,\"height\":300,\"caption\":\"PatsFans.com\"},\"image\":{\"@id\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/pfans\",\"https:\\\/\\\/x.com\\\/patsfans\",\"https:\\\/\\\/www.instagram.com\\\/patsfans\",\"https:\\\/\\\/www.pinterest.com\\\/patsfans\\\/\",\"https:\\\/\\\/www.youtube.com\\\/patsfans\",\"https:\\\/\\\/www.tiktok.com\\\/@patsfans.official\"],\"foundingDate\":\"2000-06-17\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/#\\\/schema\\\/person\\\/2785562a57e86e99346895c90e0f5459\",\"name\":\"Ian Logue\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7b2113f449563ae600081c59c6ab854ff66f15920ebfefc0fcb643c764d4ad94?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7b2113f449563ae600081c59c6ab854ff66f15920ebfefc0fcb643c764d4ad94?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7b2113f449563ae600081c59c6ab854ff66f15920ebfefc0fcb643c764d4ad94?s=96&d=mm&r=g\",\"caption\":\"Ian Logue\"},\"description\":\"Ian Logue is a Seacoast native and owner and senior writer for PatsFans.com, an independent media site covering the New England Patriots and has been running this site in one form or another since 1997.\",\"sameAs\":[\"http:\\\/\\\/www.patsfans.com\",\"https:\\\/\\\/x.com\\\/ianlogue\"],\"url\":\"https:\\\/\\\/www.patsfans.com\\\/patriots\\\/blog\\\/author\\\/ian\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Five Thoughts After Sunday's Patriots Loss in Tennessee: Maye's Got the \"It\" Factor","description":"Heading into Sunday's game, the New England Patriots certainly seemed like they were in a position to beat a woeful 1-6 Titans team and make it two-straight wins for the first time all year. Instead, New England ended up continuing its streak of mistakes in key moments, which ultimately allowed Tennessee to walk away with an overtime win at home, handing the Patriots their 7th loss of the season.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.patsfans.com\/patriots\/blog\/2024\/11\/04\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\/","og_locale":"en_US","og_type":"article","og_title":"Five Thoughts After Sunday's Patriots Loss in Tennessee: Maye's Got the \"It\" Factor | PatsFans.com","og_description":"Heading into Sunday's game, the New England Patriots certainly seemed like they were in a position to beat a woeful 1-6 Titans team and make it two-straight wins for the first time all year. Instead, New England ended up continuing its streak of mistakes in key moments, which ultimately allowed Tennessee to walk away with an overtime win at home, handing the Patriots their 7th loss of the season.","og_url":"https:\/\/www.patsfans.com\/patriots\/blog\/2024\/11\/04\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\/","og_site_name":"PatsFans.com","article_publisher":"https:\/\/www.facebook.com\/pfans","article_published_time":"2024-11-04T16:16:02+00:00","article_modified_time":"2024-11-04T16:33:20+00:00","og_image":[{"width":2048,"height":1364,"url":"https:\/\/i0.wp.com\/www.patsfans.com\/patriots\/blog\/wp-content\/uploads\/2024\/11\/USATSI_24666001_168390408_lowres.jpg?fit=2048%2C1364&ssl=1","type":"image\/jpeg"}],"author":"Ian Logue","twitter_card":"summary_large_image","twitter_creator":"@ianlogue","twitter_site":"@patsfans","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/www.patsfans.com\/patriots\/blog\/2024\/11\/04\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\/#article","isPartOf":{"@id":"https:\/\/www.patsfans.com\/patriots\/blog\/2024\/11\/04\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\/"},"author":{"name":"Ian Logue","@id":"https:\/\/www.patsfans.com\/patriots\/blog\/#\/schema\/person\/2785562a57e86e99346895c90e0f5459"},"headline":"Five Thoughts After Sunday’s Patriots Loss in Tennessee: Maye’s Got the “It” Factor","datePublished":"2024-11-04T16:16:02+00:00","dateModified":"2024-11-04T16:33:20+00:00","mainEntityOfPage":{"@id":"https:\/\/www.patsfans.com\/patriots\/blog\/2024\/11\/04\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\/"},"wordCount":2320,"commentCount":0,"publisher":{"@id":"https:\/\/www.patsfans.com\/patriots\/blog\/#organization"},"image":{"@id":"https:\/\/www.patsfans.com\/patriots\/blog\/2024\/11\/04\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\/#primaryimage"},"thumbnailUrl":"https:\/\/www.patsfans.com\/patriots\/blog\/wp-content\/uploads\/2024\/11\/USATSI_24666001_168390408_lowres.jpg","articleSection":["Patriots Commentary","PF"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.patsfans.com\/patriots\/blog\/2024\/11\/04\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.patsfans.com\/patriots\/blog\/2024\/11\/04\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\/","url":"https:\/\/www.patsfans.com\/patriots\/blog\/2024\/11\/04\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\/","name":"Five Thoughts After Sunday's Patriots Loss in Tennessee: Maye's Got the \"It\" Factor","isPartOf":{"@id":"https:\/\/www.patsfans.com\/patriots\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.patsfans.com\/patriots\/blog\/2024\/11\/04\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\/#primaryimage"},"image":{"@id":"https:\/\/www.patsfans.com\/patriots\/blog\/2024\/11\/04\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\/#primaryimage"},"thumbnailUrl":"https:\/\/www.patsfans.com\/patriots\/blog\/wp-content\/uploads\/2024\/11\/USATSI_24666001_168390408_lowres.jpg","datePublished":"2024-11-04T16:16:02+00:00","dateModified":"2024-11-04T16:33:20+00:00","description":"Heading into Sunday's game, the New England Patriots certainly seemed like they were in a position to beat a woeful 1-6 Titans team and make it two-straight wins for the first time all year. Instead, New England ended up continuing its streak of mistakes in key moments, which ultimately allowed Tennessee to walk away with an overtime win at home, handing the Patriots their 7th loss of the season.","breadcrumb":{"@id":"https:\/\/www.patsfans.com\/patriots\/blog\/2024\/11\/04\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.patsfans.com\/patriots\/blog\/2024\/11\/04\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.patsfans.com\/patriots\/blog\/2024\/11\/04\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\/#primaryimage","url":"https:\/\/www.patsfans.com\/patriots\/blog\/wp-content\/uploads\/2024\/11\/USATSI_24666001_168390408_lowres.jpg","contentUrl":"https:\/\/www.patsfans.com\/patriots\/blog\/wp-content\/uploads\/2024\/11\/USATSI_24666001_168390408_lowres.jpg","width":2048,"height":1364,"caption":"Andrew Nelles \/ The Tennessean \/ USA TODAY NETWORK via Imagn Images"},{"@type":"BreadcrumbList","@id":"https:\/\/www.patsfans.com\/patriots\/blog\/2024\/11\/04\/five-thoughts-after-sundays-patriots-loss-in-tennessee-mayes-got-the-it-factor\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.patsfans.com\/patriots\/blog\/"},{"@type":"ListItem","position":2,"name":"Patriots Commentary","item":"https:\/\/www.patsfans.com\/patriots\/blog\/category\/patriots-commentary\/"},{"@type":"ListItem","position":3,"name":"Five Thoughts After Sunday’s Patriots Loss in Tennessee: Maye’s Got the “It” Factor"}]},{"@type":"WebSite","@id":"https:\/\/www.patsfans.com\/patriots\/blog\/#website","url":"https:\/\/www.patsfans.com\/patriots\/blog\/","name":"PatsFans.com","description":"Patriots Blog with News and Analysis","publisher":{"@id":"https:\/\/www.patsfans.com\/patriots\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.patsfans.com\/patriots\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.patsfans.com\/patriots\/blog\/#organization","name":"PatsFans.com","url":"https:\/\/www.patsfans.com\/patriots\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.patsfans.com\/patriots\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.patsfans.com\/patriots\/blog\/wp-content\/uploads\/2023\/01\/PF_Social_Logo.webp","contentUrl":"https:\/\/www.patsfans.com\/patriots\/blog\/wp-content\/uploads\/2023\/01\/PF_Social_Logo.webp","width":300,"height":300,"caption":"PatsFans.com"},"image":{"@id":"https:\/\/www.patsfans.com\/patriots\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/pfans","https:\/\/x.com\/patsfans","https:\/\/www.instagram.com\/patsfans","https:\/\/www.pinterest.com\/patsfans\/","https:\/\/www.youtube.com\/patsfans","https:\/\/www.tiktok.com\/@patsfans.official"],"foundingDate":"2000-06-17"},{"@type":"Person","@id":"https:\/\/www.patsfans.com\/patriots\/blog\/#\/schema\/person\/2785562a57e86e99346895c90e0f5459","name":"Ian Logue","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/7b2113f449563ae600081c59c6ab854ff66f15920ebfefc0fcb643c764d4ad94?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/7b2113f449563ae600081c59c6ab854ff66f15920ebfefc0fcb643c764d4ad94?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7b2113f449563ae600081c59c6ab854ff66f15920ebfefc0fcb643c764d4ad94?s=96&d=mm&r=g","caption":"Ian Logue"},"description":"Ian Logue is a Seacoast native and owner and senior writer for PatsFans.com, an independent media site covering the New England Patriots and has been running this site in one form or another since 1997.","sameAs":["http:\/\/www.patsfans.com","https:\/\/x.com\/ianlogue"],"url":"https:\/\/www.patsfans.com\/patriots\/blog\/author\/ian\/"}]}},"jetpack_featured_media_url":"https:\/\/www.patsfans.com\/patriots\/blog\/wp-content\/uploads\/2024\/11\/USATSI_24666001_168390408_lowres.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.patsfans.com\/patriots\/blog\/wp-json\/wp\/v2\/posts\/56310","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.patsfans.com\/patriots\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.patsfans.com\/patriots\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.patsfans.com\/patriots\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.patsfans.com\/patriots\/blog\/wp-json\/wp\/v2\/comments?post=56310"}],"version-history":[{"count":28,"href":"https:\/\/www.patsfans.com\/patriots\/blog\/wp-json\/wp\/v2\/posts\/56310\/revisions"}],"predecessor-version":[{"id":56349,"href":"https:\/\/www.patsfans.com\/patriots\/blog\/wp-json\/wp\/v2\/posts\/56310\/revisions\/56349"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.patsfans.com\/patriots\/blog\/wp-json\/wp\/v2\/media\/56297"}],"wp:attachment":[{"href":"https:\/\/www.patsfans.com\/patriots\/blog\/wp-json\/wp\/v2\/media?parent=56310"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.patsfans.com\/patriots\/blog\/wp-json\/wp\/v2\/categories?post=56310"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.patsfans.com\/patriots\/blog\/wp-json\/wp\/v2\/tags?post=56310"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}