'use client'; import { useState } from 'react'; import { Badge } from '@/components/ui/badge'; import { Button } from '@/components/ui/button'; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; export function RandomJoke() { const [joke, setJoke] = useState(''); const [loading, setLoading] = useState(false); const [error, setError] = useState(''); const fetchJoke = async () => { setLoading(true); setError(''); try { const response = await fetch('https://api.chucknorris.io/jokes/random'); if (!response.ok) { throw new Error('Failed to fetch joke'); } const data = await response.json(); setJoke(data.value); } catch (err) { setError('Failed to fetch joke. Please try again.'); console.error('Error fetching joke:', err); } finally { setLoading(false); } }; return (
🎭
Random Chuck Norris Joke Powered by Chuck Norris API
API Demo React Query
{joke && (

" {joke} "

)} {error && (

{error}

)}

Click the button above to fetch a random Chuck Norris joke from the API

); }