export default tseslint.config( { ignores: ["dist"] }, { extends: [js.configs.recommended, ...tseslint.configs.recommended], files: ["**/*.{ts,tsx}"], languageOptions: { ecmaVersion: 2020, globals: globals.browser, }, plugins: { "react-hooks": reactHooks, "react-refresh": reactRefresh, }, rules: { ...reactHooks.configs.recommended.rules, "react-refresh/only-export-components": ["warn", { allowConstantExport: true }], "@typescript-eslint/no-unused-vars": "off", }, }, );
// TVG Consulting Managed IT Services Landing Page JavaScript
// Smooth scroll function for contact section function scrollToContact() { const contactSection = document.getElementById('contact'); if (contactSection) { contactSection.scrollIntoView({ behavior: 'smooth', block: 'start' }); } }
// FAQ Toggle functionality function toggleFAQ(element) { const answer = element.nextElementSibling; const toggle = element.querySelector('.faq-toggle');
if (answer.classList.contains('open')) { answer.classList.remove('open'); toggle.textContent = '+'; toggle.style.transform = 'rotate(0deg)'; } else { // Close all other FAQs document.querySelectorAll('.faq-answer').forEach(otherAnswer => { if (otherAnswer !== answer) { otherAnswer.classList.remove('open'); } }); document.querySelectorAll('.faq-toggle').forEach(otherToggle => { if (otherToggle !== toggle) { otherToggle.textContent = '+'; otherToggle.style.transform = 'rotate(0deg)'; } });
// Open clicked FAQ answer.classList.add('open'); toggle.textContent = '−'; toggle.style.transform = 'rotate(180deg)'; } }
// Form submission handler function handleFormSubmit(event) { event.preventDefault();
const formData = new FormData(event.target); const formObject = {};
formData.forEach((value, key) => { formObject[key] = value; });
console.log('Form submitted:', formObject);
// Replace this with your actual form submission logic // For example, send to your CRM, email service, etc.
// Show success message alert('Thank you for your interest! We will contact you within 24 hours to schedule your free IT assessment.');
// Reset form event.target.reset();
// Track form submission (replace with your analytics) trackFormSubmission(formObject); }
// Analytics tracking function function trackFormSubmission(formData) { // Add your analytics tracking here console.log('Form submission tracked:', formData);
// Example Google Analytics event tracking if (typeof gtag !== 'undefined') { gtag('event', 'form_submit', { 'event_category': 'Lead Generation', 'event_label': 'Contact Form', 'value': 1 }); }
// Example Facebook Pixel tracking if (typeof fbq !== 'undefined') { fbq('track', 'Lead', { content_name: 'Managed IT Services Contact Form' }); } }
// Button click tracking function trackButtonClick(buttonText) { console.log('Button clicked:', buttonText);
if (typeof gtag !== 'undefined') { gtag('event', 'click', { 'event_category': 'CTA', 'event_label': buttonText }); } }
// Page load animations and interactions document.addEventListener('DOMContentLoaded', function() { // Fade in animation for hero section const heroSection = document.querySelector('.hero-section'); if (heroSection) { heroSection.style.opacity = '0'; heroSection.style.transform = 'translateY(20px)'; heroSection.style.transition = 'all 0.8s ease';
setTimeout(() => { heroSection.style.opacity = '1'; heroSection.style.transform = 'translateY(0)'; }, 100); }
// Add smooth scrolling to all internal links document.querySelectorAll('a[href^="#"]').forEach(anchor => { anchor.addEventListener('click', function (e) { e.preventDefault(); const target = document.querySelector(this.getAttribute('href')); if (target) { target.scrollIntoView({ behavior: 'smooth', block: 'start' }); } }); });
// Enhanced button interactions document.querySelectorAll('.cta-button, .submit-button').forEach(button => { button.addEventListener('mouseenter', function() { this.style.transform = 'translateY(-3px) scale(1.02)'; });
button.addEventListener('mouseleave', function() { this.style.transform = 'translateY(0) scale(1)'; });
button.addEventListener('click', function() { trackButtonClick(this.textContent.trim()); }); });
// Intersection Observer for animations on scroll const observerOptions = { threshold: 0.1, rootMargin: '0px 0px -50px 0px' };
const observer = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.style.opacity = '1'; entry.target.style.transform = 'translateY(0)'; } }); }, observerOptions);
// Observe sections for scroll animations document.querySelectorAll('.services-overview, .stats-section, .faq-section, .locations-section, .contact-section').forEach(section => { section.style.opacity = '0'; section.style.transform = 'translateY(30px)'; section.style.transition = 'all 0.6s ease'; observer.observe(section); });
// Number counter animation for statistics const statNumbers = document.querySelectorAll('.stat-number'); const statsObserver = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { animateNumber(entry.target); statsObserver.unobserve(entry.target); } }); }, observerOptions);
statNumbers.forEach(stat => statsObserver.observe(stat)); });
// Number animation function for statistics function animateNumber(element) { const text = element.textContent; const number = parseFloat(text.replace(/[^0-9.]/g, '')); const suffix = text.replace(/[0-9.]/g, '');
if (!isNaN(number)) { let current = 0; const increment = number / 50; const timer = setInterval(() => { current += increment; if (current >= number) { element.textContent = text; clearInterval(timer); } else { element.textContent = Math.floor(current) + suffix; } }, 30); } }
// Form validation enhancements document.addEventListener('DOMContentLoaded', function() { const form = document.querySelector('form'); const inputs = form?.querySelectorAll('input, select, textarea');
inputs?.forEach(input => { input.addEventListener('blur', function() { validateField(this); });
input.addEventListener('input', function() { if (this.classList.contains('error')) { validateField(this); } }); }); });
// Field validation function function validateField(field) { const value = field.value.trim(); let isValid = true;
// Remove existing error styling field.classList.remove('error');
// Check if required field is empty if (field.hasAttribute('required') && !value) { isValid = false; }
// Email validation if (field.type === 'email' && value) { const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; isValid = emailRegex.test(value); }
// Phone validation (basic) if (field.type === 'tel' && value) { const phoneRegex = /^[\+]?[(]?[\d\s\-\(\)]{10,}$/; isValid = phoneRegex.test(value); }
// Add error styling if invalid if (!isValid) { field.classList.add('error'); field.style.borderColor = '#ef4444'; } else { field.style.borderColor = '#e2e8f0'; }
return isValid; } export default { plugins: { tailwindcss: {}, autoprefixer: {}, }, };
What is Managed IT Services?
Comprehensive IT support that monitors, maintains, and manages your technology infrastructure 24/7,
ensuring 99% uptime and peak business performance.
24/7 SOC Monitoring
90% First-Call Resolution
99% Client Satisfaction
Complete IT Infrastructure Management
Managed IT Services is a comprehensive approach to handling all your technology needs through
outsourced IT professionals. Instead of managing IT internally, businesses partner with expert
providers to monitor, maintain, and optimize their entire technology infrastructure.
Infrastructure Management
Complete oversight of servers, networks, and cloud systems
Cybersecurity
Advanced threat detection and security monitoring 24/7
Help Desk Support
Immediate technical support and issue resolution
Proactive Monitoring
Continuous system monitoring to prevent issues
Why Businesses Choose Managed IT
Cost Predictability
Fixed monthly costs eliminate surprise IT expenses and budget overruns
Expert Access
Gain access to enterprise-level IT expertise without hiring full-time staff
Enhanced Security
Professional-grade cybersecurity measures protect against evolving threats
Business Focus
Focus on core business activities while IT experts handle technology
Industry Facts & Statistics
The managed IT services market continues to grow as businesses recognize the value
Global managed services market size by 2025
Of businesses use managed IT services
Cost reduction compared to in-house IT
Uptime achieved with professional monitoring
Frequently Asked Questions
Everything you need to know about managed IT services
What’s included in managed IT services?
+
Managed IT services typically include 24/7 monitoring, help desk support, cybersecurity management,
cloud services, data backup and recovery, network management, software updates, and strategic IT planning.
The exact services vary by provider and package.
How much do managed IT services cost?
+
Costs typically range from $100-$200 per user per month, depending on services included.
Many businesses find this more cost-effective than hiring full-time IT staff, which can cost
$60,000-$100,000+ annually per employee plus benefits and training.
Is my data secure with a managed service provider?
+
Reputable managed service providers often provide better security than in-house IT teams.
They invest in enterprise-grade security tools, maintain compliance certifications, and have
dedicated cybersecurity experts monitoring threats 24/7.
What size business benefits from managed IT?
+
Businesses with 10-500 employees typically see the greatest benefit, as they need enterprise-level
IT capabilities but can’t justify full-time specialists. However, even larger enterprises use
managed services for specific functions or locations.
Serving Los Angeles & Nashville
Los Angeles, CA
Professional managed IT services for LA businesses
Nashville, TN
Comprehensive IT support for Nashville companies
Ready to Transform Your IT?
Contact us today for a free consultation and learn how managed IT services can benefit your business
