Social Media Monitoring Tool

Social Media Monitoring Tool

Simulate real-time social media monitoring based on your criteria.

Monitoring Setup

to

Awaiting Monitoring Task

Configure your criteria and click "Start Monitoring".

${message}

`; elements.dashboardPlaceholder.classList.remove('hidden'); elements.resultsContainer.classList.add('hidden'); elements.metrics.classList.add('hidden'); } // --- PDF Generation --- function generatePdf() { if (generatedPosts.length === 0) return; const { jsPDF } = window.jspdf; const doc = new jsPDF(); const criteria = getCriteria(); doc.setFont('helvetica', 'bold'); doc.setFontSize(18); doc.text('Social Media Monitoring Report', doc.internal.pageSize.getWidth() / 2, 20, { align: 'center' }); doc.setFontSize(11); doc.setTextColor(100); doc.text(`Report Date: ${new Date().toLocaleDateString('en-US')}`, 14, 30); // Criteria Table doc.autoTable({ startY: 35, head: [['Monitoring Criteria', 'Details']], body: [ ['Keywords', criteria.keywords], ['Platforms', criteria.platforms.join(', ')], ['Date Range', `${criteria.startDate} to ${criteria.endDate}`], ], theme: 'striped', headStyles: { fillColor: '#4338ca' }, }); // Metrics Table const metricsBody = [ ['Total Mentions', elements.totalMentions.textContent], ['Positive Sentiment', elements.positiveCount.textContent], ['Negative Sentiment', elements.negativeCount.textContent], ['Neutral Sentiment', elements.neutralCount.textContent], ]; doc.autoTable({ startY: doc.autoTable.previous.finalY + 10, head: [['Metric', 'Value']], body: metricsBody, theme: 'striped', headStyles: { fillColor: '#0d9488' }, }); // Posts Table const postsBody = generatedPosts.map(p => [ p.platform, p.username, p.content.substring(0, 50) + (p.content.length > 50 ? '...' : ''), p.sentiment, `${p.likes} / ${p.shares}` ]); doc.autoTable({ startY: doc.autoTable.previous.finalY + 10, head: [['Platform', 'Username', 'Content Snippet', 'Sentiment', 'Likes/Shares']], body: postsBody, theme: 'grid', }); doc.save('social-media-report.pdf'); } initialize(); });
Scroll to Top