From 57e42e2c4539949e93b71f1125e0c0eecb2fb5e8 Mon Sep 17 00:00:00 2001 From: Dipanshu Rawat <144578298+Jaydeeprawat17@users.noreply.github.com> Date: Tue, 24 Jun 2025 02:06:55 +0530 Subject: ref: fetch api function --- apps/web/src/components/landing/hero.tsx | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'apps/web/src/components/landing') diff --git a/apps/web/src/components/landing/hero.tsx b/apps/web/src/components/landing/hero.tsx index b2320030..5d9f3f10 100644 --- a/apps/web/src/components/landing/hero.tsx +++ b/apps/web/src/components/landing/hero.tsx @@ -5,19 +5,32 @@ import { Button } from "../ui/button"; import { Input } from "../ui/input"; import { ArrowRight } from "lucide-react"; import Link from "next/link"; -import { useState } from "react"; +import { useEffect, useState } from "react"; import { useToast } from "@/hooks/use-toast"; -import { ghStars } from "@/lib/fetchGhStars"; +import { getStars } from "@/lib/fetchGhStars"; interface HeroProps { signupCount: number; } export function Hero({ signupCount }: HeroProps) { + const [star, setStar] = useState(); const [email, setEmail] = useState(""); const [isSubmitting, setIsSubmitting] = useState(false); const { toast } = useToast(); - const stars = ghStars(); + + useEffect(() => { + const fetchStars = async () => { + try { + const data = await getStars(); + setStar(data); + } catch (err) { + console.error("Failed to fetch GitHub stars", err); + } + }; + + fetchStars(); + }, []); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); @@ -154,7 +167,7 @@ export function Hero({ signupCount }: HeroProps) { href="https://github.com/OpenCut-app/OpenCut" className="text-foreground underline" > - GitHub {stars}+ + GitHub {star}+ -- cgit v1.3.1