'use client'; import IconArrowWaveLeftUp from '@/components/icon/icon-arrow-wave-left-up'; import ComponentsPagesFaqWithTabs from '@/components/pages/components-pages-faq-with-tabs'; import ComponentsPagesKnowledgeBaseVideoTutorial from '@/components/pages/knowledge-base/components-pages-knowledge-base-video-tutorial'; import { Metadata } from 'next'; import Link from 'next/link'; import React from 'react'; import { useState } from 'react'; import axios from 'axios'; import { Treemap, Tooltip as ReTooltip, ResponsiveContainer } from 'recharts'; const PageSpeedTest = () => { const [url, setUrl] = useState(''); const [loading, setLoading] = useState(false); const [reports, setReports] = useState(null); const [error, setError] = useState(''); // --- Helper to parse estimated savings like "1.2 s" or "1200 ms" --- function parseSavings(value: string): number { if (!value) return 0; const val = parseFloat(value); if (value.toLowerCase().includes('ms')) return val; if (value.toLowerCase().includes('s')) return val * 1000; return val; } const handleAudit = async () => { if (!url) return setError('Enter a URL'); setLoading(true); setError(''); setReports(null); try { const { data } = await axios.post('https://api.crawlerx.co/api/lighthouse/audit', { url }); // normalize the results const normalizedResults: any = {}; ['mobile', 'desktop'].forEach((tab) => { const tabData = data.results?.[tab] || {}; normalizedResults[tab] = { report: { scores: tabData.scores || {}, metrics: tabData.metrics || {}, opportunities: Array.isArray(tabData.opportunities) ? tabData.opportunities : [], diagnostics: tabData.diagnostics || {}, screenshot: tabData.screenshot || '', }, }; }); setReports(normalizedResults); } catch (err: any) { setError(err.response?.data?.message || err.message || 'Error'); } finally { setLoading(false); } }; return (
It's free For everyone
PageSpeed Audit

Optimize your website for faster load times, better SEO, and a seamless user experience.

setUrl(e.target.value)} placeholder="Enter a Web Page URL" className="form-input py-3 ltr:pr-[100px] rtl:pl-[100px]" /> {error &&

{error}

}
Popular topics :
Core Web Vitals SEO Optimization Page Load Speed Mobile Performance Best Practices
{/*

Still need help?

Our specialists are always happy to help. Contact us during standard business hours or email us24/7 and we'll get back to you.

Didn’t find any solutions?

Loaded with awesome features like documentation, knowledge base forum, domain transfer, affiliates etc.
find-solution

Popular Topics

...
Excessive sugar is harmful
profile1

Alma Clark

06 May

...
Creative Photography
profile1

Alma Clark

06 May

...
Plan your next trip
profile1

Alma Clark

06 May

...
My latest Vlog
profile1

Alma Clark

06 May

*/}
); }; export default PageSpeedTest;