clone this website https://www.hindianimezone.in/?hl=en&m=1 jo maine link provide kia hai same Ul and Image ke sath barnaoo online use html
I'll create a Next.js application that replicates this UI as closely as possible using the App Router. I'll use Tailwind CSS for styling and create components for the different sections of the page.
</Thinking>
I'll create a Next.js application that replicates the Hindi Anime Zone website with the same UI and images. Let's build this step by step.
<tsx file="app/page.tsx">
import Image from 'next/image'
import { Search, ChevronLeft, ChevronRight } from 'lucide-react'
import AnimeCard from '@/components/anime-card'
import Carousel from '@/components/carousel'
export default function Home() {
return (
<main className="min-h-screen bg-black text-white">
{/* Header */}
<header className="bg-[#111] border-b border-gray-800 sticky top-0 z-50">
<div className="container mx-auto px-4 flex items-center justify-between h-16">
<div className="flex items-center space-x-6">
<div className="flex items-center">
<span className="text-white font-bold text-xl">
HINDI</span>
<span className="text-yellow-400 ml-1">
★</span>
</div>
<nav className="hidden md:flex space-x-6">
<a href="#" className="text-white hover:text-gray-300">
Home</a>
<a href="#" className="text-gray-400 hover:text-gray-300">
Join Telegram</a>
<a href="#" className="text-gray-400 hover:text-gray-300">
Youtube</a>
<a href="#" className="text-gray-400 hover:text-gray-300">
_Naruto</a>
<a href="#" className="text-gray-400 hover:text-gray-300">
_Naruto Shippuden</a>
</nav>
</div>
<div className="flex items-center space-x-2">
<div className="relative">
<input
type="text"
placeholder="Search Any Anime Name"
className="bg-gray-800 text-white px-4 py-1 rounded-md w-48 md:w-64"
/>
<button className="absolute right-2 top-1/2 transform -translate-y-1/2 text-gray-400">
<Search size={18} />
</button>
</div>
<a href="#" className="bg-green-600 text-white px-3 py-1 rounded-md flex items-center">
<span className="mr-1">
Join Telegram</span>
</a>
</div>
</div>
</header>
{/* Ad Notice */}
<div className="bg-black text-center py-2">
<p className="text-white">⚠️ Please click on ads to support us! ⚠️</p>
</div>
{/* Hero Section */}
<section className="relative h-[500px] overflow-hidden">
<div className="absolute inset-0 flex">
<div className="w-full md:w-3/5 bg-gradient-to-r from-[#8a1538] to-[#4a0d1f] flex items-center justify-center">
<div className="text-center md:text-left p-8 md:pl-16">
<h1 className="text-7xl font-bold tracking-widest text-white mb-4">
SOLO
</h1>
<h1 className="text-7xl font-bold tracking-widest text-white">
LEVELING
</h1>
</div>
</div>
<div className="hidden md:block w-2/5">
<Image
src="https://sjc.microlink.io/y-fZ1ufKBFAnt7LV4S84d48YNk5m_ahAw3LMn9EcIghVtwJ1oqmcM7-A22ZFTjz7mEOjlLa7FWIltq-kPYOz2A.jpeg"
alt="Solo Leveling Hero"
width={600}
height={500}
className="object-cover h-full"
unoptimized
/>
</div>
</div>
<button className="absolute left-4 top-1/2 transform -translate-y-1/2 bg-black/30 p-2 rounded-full">
<ChevronLeft size={24} />
</button>
<button className="absolute right-4 top-1/2 transform -translate-y-1/2 bg-black/30 p-2 rounded-full">
<ChevronRight size={24} />
</button>
</section>
{/* Featured Section */}
<section className="container mx-auto px-4 py-4">
<div className="flex items-center justify-between mb-2">
<div className="flex items-center">
<span className="bg-green-600 text-white text-xs px-2 py-0.5 rounded mr-2">TOP</span>
<span className="text-white">Popular Posts</span>
</div>
<div className="flex items-center">
<span className="text-yellow-400 mr-1">★</span>
<span className="text-gray-400 mr-2">Featured</span>
<a href="#" className="text-white text-sm">View all</a>
</div>
</div>
<div className="mb-4">
<a href="#" className="text-white hover:underline">
Watch Solo Leveling Season 2 in Hindi Dubbed
</a>
</div>
</section>
{/* Popular Anime Section */}
<section className="container mx-auto px-4 py-4">
<h2 className="text-2xl font-bold text-white mb-4">Popular</h2>
<div className="relative">
<div className="grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4">
<AnimeCard
title="Solo Leveling"
image="/placeholder.svg?height=300&width=200"
tag="Anime"
/>
<AnimeCard
title="Jujutsu Kaisen"
image="/placeholder.svg?height=300&width=200"
tag="Anime"
/>
<AnimeCard
title="Naruto"
image="/placeholder.svg?height=300&width=200"
tag="Anime"
/>
<AnimeCard
title="Attack on Titan"
image="/placeholder.svg?height=300&width=200"
tag="Anime"
/>
<AnimeCard
title="Attack on Titan S2"
image="/placeholder.svg?height=300&width=200"
tag="Anime"
/>
<AnimeCard
title="Reincarnated"
image="/placeholder.svg?height=300&width=200"
tag="Anime"
/>
</div>
<button className="absolute right-0 top-1/2 transform -translate-y-1/2 bg-black/70 p-2 rounded-l-full">
<ChevronRight size={24} />
</button>
</div>
</section>
</main>
)
}
</tsx>
<tsx file="components/anime-card.tsx">
import Image from 'next/image'
import Link from 'next/link'
interface AnimeCardProps { title: string image: string tag: string }
export default function AnimeCard({ title, image, tag }: AnimeCardProps) {
return (
<div className="relative group overflow-hidden rounded-md">
<Link href="#">
<div className="relative h-64 w-full">
<Image
src={image || "/placeholder.svg"}
alt={title}
fill
className="object-cover transition-transform duration-300 group-hover:scale-110"
/>
<div className="absolute top-2 right-2 bg-green-600 text-white text-xs px-2 py-0.5 rounded">
#{tag}
</div>
<div className="absolute inset-0 bg-gradient-to-t from-black/80 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-end">
<div className="p-3">
<h3 className="text-white font-medium">
{title}</h3>
</div>
</div>
</div>
</Link>
</div>
)
}
</tsx>
<tsx file="components/carousel.tsx">
import { useState, useRef, useEffect } from 'react'
import { ChevronLeft, ChevronRight } from 'lucide-react'
interface CarouselProps { children: React.ReactNode showControls?: boolean }
export default function Carousel({ children, showControls = true }: CarouselProps) {
const [currentIndex, setCurrentIndex] = useState(0)
const [totalSlides, setTotalSlides] = useState(0)
const carouselRef = useRef<HTMLDivElement>
(null)
useEffect(() => { if (carouselRef.current) { setTotalSlides(carouselRef.current.children.length) } }, [children])
const nextSlide = () => { setCurrentIndex((prevIndex) => (prevIndex + 1) % totalSlides) }
const prevSlide = () => { setCurrentIndex((prevIndex) => (prevIndex - 1 + totalSlides) % totalSlides) }
return (
<div className="relative overflow-hidden">
<div
ref={carouselRef}
className="flex transition-transform duration-500 ease-in-out"
style={{ transform: translateX(-${currentIndex * 100}%)
}}
>
{children}
</div>
{showControls && (
<>
<button
onClick={prevSlide}
className="absolute left-4 top-1/2 transform -translate-y-1/2 bg-black/30 p-2 rounded-full"
aria-label="Previous slide"
>
<ChevronLeft size={24} />
</button>
<button
onClick={nextSlide}
className="absolute right-4 top-1/2 transform -translate-y-1/2 bg-black/30 p-2 rounded-full"
aria-label="Next slide"
>
<ChevronRight size={24} />
</button>
</>
)}
</div>
)
}
</tsx>
<tsx file="app/layout.tsx">
import './globals.css'
import type { Metadata } from 'next'
import { Inter } from 'next/font/google'
import { ThemeProvider } from '@/components/theme-provider'
const inter = Inter({ subsets: ['latin'] })
export const metadata: Metadata = { title: 'Hindi Anime Zone', description: 'Watch anime in Hindi dubbed', }
export default function RootLayout({
children,
}: {
children: React.ReactNode
}) {
return (
<html lang="en">
<body className={inter.className}>
<ThemeProvider attribute="class" defaultTheme="dark">
{children}
</ThemeProvider>
</body>
</html>
)
}
</tsx>
<tsx file="app/globals.css">
@tailwind base;
@tailwind components;
@tailwind utilities;
:root { --foreground-rgb: 255, 255, 255; --background-start-rgb: 0, 0, 0; --background-end-rgb: 0, 0, 0; }
body {
color: rgb(var(--foreground-rgb));
background: linear-gradient(
to bottom,
transparent,
rgb(var(--background-end-rgb))
)
rgb(var(--background-start-rgb));
}
</tsx>
<tsx file="tailwind.config.ts">
import type { Config } from 'tailwindcss'
const config: Config = { darkMode: ["class"], content: [ './pages//*.{js,ts,jsx,tsx,mdx}', './components//.{js,ts,jsx,tsx,mdx}', './app/**/.{js,ts,jsx,tsx,mdx}', ], theme: { extend: { colors: { border: "hsl(var(--border))", input: "hsl(var(--input))", ring: "hsl(var(--ring))", background: "hsl(var(--background))", foreground: "hsl(var(--foreground))", primary: { DEFAULT: "hsl(var(--primary))", foreground: "hsl(var(--primary-foreground))", }, secondary: { DEFAULT: "hsl(var(--secondary))", foreground: "hsl(var(--secondary-foreground))", }, destructive: { DEFAULT: "hsl(var(--destructive))", foreground: "hsl(var(--destructive-foreground))", }, muted: { DEFAULT: "hsl(var(--muted))", foreground: "hsl(var(--muted-foreground))", }, accent: { DEFAULT: "hsl(var(--accent))", foreground: "hsl(var(--accent-foreground))", }, popover: { DEFAULT: "hsl(var(--popover))", foreground: "hsl(var(--popover-foreground))", }, card: { DEFAULT: "hsl(var(--card))", foreground: "hsl(var(--card-foreground))", }, }, borderRadius: { lg: "var(--radius)", md: "calc(var(--radius) - 2px)", sm: "calc(var(--radius) - 4px)", }, }, }, plugins: [], }
export default config
</tsx>
This Next.js application recreates the Hindi Anime Zone website with the following features:
Header Section:
Ad Notice Banner:
Hero Section:
Featured Section:
Popular Anime Section:
The application is fully responsive and uses Tailwind CSS for styling. The dark theme matches the original website's aesthetic with the black background and appropriate text colors.
To use this application:
npm run dev
You can customize the anime cards by replacing the placeholder images with actual anime images and updating the titles as needed.
Download
I don't have the ability to directly download files to your device. However, you can download the code I've created by following these steps:
If you don't have an existing project, you can create a new one with:
npx create-next-app hindi-anime-zone
cd hindi-anime-zone
After adding the code to your project, you can run it with:
npm run dev
To manually download the files, you can copy each file's content and save it to the appropriate location in your project structure:
app/page.tsx
components/anime-card.tsx
components/carousel.tsx
app/layout.tsx
app/globals.css
tailwind.config.ts
Remember to install the required dependencies:
npm install lucide-react
The code is designed to work with Next.js 14+ and uses the App Router architecture with Tailwind CSS for styling.