fix: seo checker
This commit is contained in:
parent
2eb9808162
commit
e50292eb06
@ -54,6 +54,7 @@ export async function POST(request) {
|
||||
|
||||
let page;
|
||||
let finalUrl;
|
||||
let html;
|
||||
let securityHeaders = {};
|
||||
let response;
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
"use client";
|
||||
import ReCAPTCHA from "react-google-recaptcha";
|
||||
import { useState, useRef } from "react";
|
||||
import Link from "next/link";
|
||||
import { useState } from "react";
|
||||
|
||||
export default function Callback1() {
|
||||
const [domain, setDomain] = useState("");
|
||||
@ -8,8 +8,6 @@ export default function Callback1() {
|
||||
const [captchaValue, setCaptchaValue] = useState(null);
|
||||
const [isLoading, setIsLoading] = useState(false);
|
||||
|
||||
const recaptchaRef = useRef(null);
|
||||
|
||||
const handleChange = ({ target: { name, value } }) => {
|
||||
if (name === "domain") {
|
||||
setDomain(value);
|
||||
@ -18,10 +16,6 @@ export default function Callback1() {
|
||||
}
|
||||
};
|
||||
|
||||
const handleCaptchaChange = (value) => {
|
||||
setCaptchaValue(value);
|
||||
};
|
||||
|
||||
const handleSubmit = async (event) => {
|
||||
event.preventDefault();
|
||||
setIsLoading(true);
|
||||
@ -138,30 +132,9 @@ export default function Callback1() {
|
||||
</div>
|
||||
</div>
|
||||
<div className="col-md-6">
|
||||
<div className="form-grp">
|
||||
{/* <ReCAPTCHA
|
||||
ref={recaptchaRef}
|
||||
sitekey={process.env.NEXT_PUBLIC_RECAPTCHA_SITE_KEY}
|
||||
onChange={handleCaptchaChange}
|
||||
/> */}
|
||||
</div>
|
||||
</div>
|
||||
<div className="col-md-6">
|
||||
{!isLoading && (
|
||||
<button type="submit" className="btn">
|
||||
<span>Check Now</span>
|
||||
</button>
|
||||
)}
|
||||
{isLoading && (
|
||||
<button type="submit" className="btn" disabled>
|
||||
<div
|
||||
class="spinner-border spinner-border-sm text-light"
|
||||
role="status"
|
||||
>
|
||||
<span class="sr-only">Loading...</span>
|
||||
</div>
|
||||
</button>
|
||||
)}
|
||||
<Link href={`/seo-checker?site=${domain}`} type="submit" className="btn">
|
||||
<span>Check Now</span>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
@ -1,6 +1,6 @@
|
||||
"use client";
|
||||
import ReCAPTCHA from "react-google-recaptcha";
|
||||
import { useState, useRef } from "react";
|
||||
import { useState } from "react";
|
||||
import Link from "next/link";
|
||||
|
||||
export default function Callback2() {
|
||||
const [domain, setDomain] = useState("");
|
||||
@ -8,8 +8,6 @@ export default function Callback2() {
|
||||
const [captchaValue, setCaptchaValue] = useState(null);
|
||||
const [isLoading, setIsLoading] = useState(false);
|
||||
|
||||
const recaptchaRef = useRef(null);
|
||||
|
||||
const handleChange = ({ target: { name, value } }) => {
|
||||
if (name === "domain") {
|
||||
setDomain(value);
|
||||
@ -18,10 +16,6 @@ export default function Callback2() {
|
||||
}
|
||||
};
|
||||
|
||||
const handleCaptchaChange = (value) => {
|
||||
setCaptchaValue(value);
|
||||
};
|
||||
|
||||
const handleSubmit = async (event) => {
|
||||
event.preventDefault();
|
||||
setIsLoading(true);
|
||||
@ -86,6 +80,7 @@ export default function Callback2() {
|
||||
setIsLoading(false);
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
<div className="container">
|
||||
@ -136,30 +131,9 @@ export default function Callback2() {
|
||||
</div>
|
||||
</div>
|
||||
<div className="col-12">
|
||||
<div className="form-grp">
|
||||
{/* <ReCAPTCHA
|
||||
ref={recaptchaRef}
|
||||
sitekey={process.env.NEXT_PUBLIC_RECAPTCHA_SITE_KEY}
|
||||
onChange={handleCaptchaChange}
|
||||
/> */}
|
||||
</div>
|
||||
</div>
|
||||
<div className="col-12">
|
||||
{!isLoading && (
|
||||
<button type="submit" className="btn">
|
||||
<span>Check Now</span>
|
||||
</button>
|
||||
)}
|
||||
{isLoading && (
|
||||
<button type="submit" className="btn" disabled>
|
||||
<div
|
||||
class="spinner-border spinner-border-sm text-light"
|
||||
role="status"
|
||||
>
|
||||
<span class="sr-only">Loading...</span>
|
||||
</div>
|
||||
</button>
|
||||
)}
|
||||
<Link href={`/seo-checker?site=${domain}`} type="submit" className="btn">
|
||||
<span>Check Now</span>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
@ -1,5 +1,6 @@
|
||||
"use client";
|
||||
import { useState } from "react";
|
||||
import { useSearchParams } from "next/navigation";
|
||||
import { useEffect, useRef, useState } from "react";
|
||||
import {
|
||||
FiCheckCircle,
|
||||
FiAlertTriangle,
|
||||
@ -9,11 +10,21 @@ import {
|
||||
} from "react-icons/fi";
|
||||
|
||||
const SEOChecker = () => {
|
||||
const [url, setUrl] = useState("");
|
||||
const searchParams = useSearchParams();
|
||||
const site = searchParams.get("site");
|
||||
|
||||
const [url, setUrl] = useState(site);
|
||||
const [seoData, setSeoData] = useState(null);
|
||||
const [loading, setLoading] = useState(false);
|
||||
const [error, setError] = useState(null);
|
||||
const [activeTab, setActiveTab] = useState("summary");
|
||||
const submitRef = useRef();
|
||||
|
||||
useEffect(() => {
|
||||
if (site) {
|
||||
submitRef.current.click();
|
||||
}
|
||||
}, [site])
|
||||
|
||||
const checkSEO = async () => {
|
||||
if (!url) {
|
||||
@ -508,8 +519,8 @@ const SEOChecker = () => {
|
||||
: "Missing"}
|
||||
</li>
|
||||
<li>
|
||||
<strong>Headings:</strong> H1={seoData.headings.h1.count},{" "}
|
||||
H2={seoData.headings.h2.count}, H3={seoData.headings.h3.count}
|
||||
<strong>Headings:</strong> H1={seoData.headings.h1.count}, H2=
|
||||
{seoData.headings.h2.count}, H3={seoData.headings.h3.count}
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@ -575,6 +586,7 @@ const SEOChecker = () => {
|
||||
onKeyDown={(e) => e.key === "Enter" && checkSEO()}
|
||||
/>
|
||||
<button
|
||||
ref={submitRef}
|
||||
onClick={checkSEO}
|
||||
disabled={loading || !url}
|
||||
className="bg-blue-600 text-white px-6 py-3 rounded-lg hover:bg-blue-700 disabled:bg-blue-300 focus:outline-none focus:ring-2 focus:ring-blue-500 flex items-center justify-center min-w-[150px]"
|
||||
|
Loading…
x
Reference in New Issue
Block a user