2 Commits

Author SHA1 Message Date
1b14ae3492 Update src/app/page.tsx 2026-04-20 01:36:46 +00:00
4e762f762d Merge version_2 into main
Merge version_2 into main
2026-04-20 01:34:07 +00:00

View File

@@ -13,6 +13,7 @@ import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatin
import SocialProofOne from '@/components/sections/socialProof/SocialProofOne';
import TestimonialCardTwelve from '@/components/sections/testimonial/TestimonialCardTwelve';
import Input from '@/components/form/Input';
import { AlertCircle, Loader2 } from "lucide-react";
export default function LandingPage() {
const [searchQuery, setSearchQuery] = useState("");
@@ -21,6 +22,7 @@ export default function LandingPage() {
const [error, setError] = useState(null);
const handleSearch = useCallback(async () => {
if (!searchQuery.trim()) return;
setLoading(true);
setError(null);
try {
@@ -53,9 +55,8 @@ export default function LandingPage() {
<NavbarLayoutFloatingOverlay
navItems={[
{ name: "How it works", id: "#features" },
{ name: "Pricing", id: "#pricing" },
{ name: "Agents", id: "#metrics" },
{ name: "Blog", id: "#blog" },
{ name: "FAQ", id: "#faq" },
]}
brandName="No-Site Search"
/>
@@ -66,22 +67,32 @@ export default function LandingPage() {
background={{ variant: "plain" }}
title="Find local businesses without websites"
description="Find local businesses without websites and deploy AI agents to fill your pipeline — automatically."
buttons={[{ text: "Get Started", href: "#pricing" }]}
buttons={[{ text: "Get Started", href: "#contact" }]}
imageSrc="http://img.b2bpic.net/free-photo/employee-uses-phone-app-with-greenscreen_482257-81843.jpg"
imageAlt="Dashboard showing business leads"
/>
<div className="px-6 py-8 flex flex-col items-center gap-4">
<div className="flex w-full max-w-md gap-2">
<div className="px-6 py-12 flex flex-col items-center gap-4 w-full max-w-4xl mx-auto">
<div className="flex w-full max-w-md gap-2 p-2 bg-white/50 dark:bg-black/20 backdrop-blur rounded-lg border border-white/20 shadow-xl">
<Input
value={searchQuery}
onChange={setSearchQuery}
placeholder="Search for leads..."
placeholder="Search for leads (e.g. 'plumbers in NY')..."
className="flex-1 bg-transparent border-none focus:ring-0"
/>
<button onClick={handleSearch} className="px-4 py-2 bg-primary text-white rounded" disabled={loading}>
{loading ? "Searching..." : "Search"}
<button
onClick={handleSearch}
className="flex items-center gap-2 px-6 py-3 bg-primary text-white rounded-md hover:opacity-90 transition-all disabled:opacity-50"
disabled={loading}
>
{loading ? <Loader2 className="w-4 h-4 animate-spin" /> : "Search"}
</button>
</div>
{error && <p className="text-red-500 text-sm">{error}</p>}
{error && (
<div className="flex items-center gap-2 text-red-500 bg-red-50 px-4 py-2 rounded-md animate-in fade-in">
<AlertCircle className="w-4 h-4" />
<span className="text-sm">{error}</span>
</div>
)}
</div>
</div>
@@ -164,7 +175,8 @@ export default function LandingPage() {
<FooterBaseReveal
logoText="No-Site Search"
columns={[
{ title: "Company", items: [{ label: "How it works", href: "#features" }, { label: "Pricing", href: "#pricing" }] },
{ title: "Product", items: [{ label: "Features", href: "#features" }, { label: "Metrics", href: "#metrics" }] },
{ title: "Support", items: [{ label: "FAQ", href: "#faq" }, { label: "Contact", href: "#contact" }] },
]}
copyrightText="Copyright © 2026 No-Site Search. All rights reserved."
/>