Skip to content

Commit 487291e

Browse files
committed
laniging updated
1 parent 9a30cab commit 487291e

File tree

4 files changed

+90
-37
lines changed

4 files changed

+90
-37
lines changed

README.md

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,26 @@
1-
# IMAGE-MAGIC
2-
3-
This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
1+
# ImageMagic
2+
3+
ImageMagic is a Next.js-based web application for AI-powered image transformations with integrated payments.
4+
5+
## Overview
6+
7+
Built with modern web technologies:
8+
- Next.js 14 with App Router
9+
- React 18 and TypeScript
10+
- Clerk Authentication
11+
- MongoDB Database
12+
- Cloudinary Image Processing
13+
- Stripe Payments
14+
- Tailwind CSS & shadcn/ui
15+
- Framer Motion animations
16+
17+
## Quick Start
18+
19+
1. Clone the repository:
20+
```bash
21+
git clone https://github.com/SwarnenduG07/ImageMagic.git
22+
cd imagemagic
23+
```
424

525
## Getting Started
626

app/(landing)/page.tsx

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,22 @@ import Testimonials from "@/components/Testimonials"
55

66
const Landing = () => {
77
return (
8-
<div className="">
9-
<HomeNavBar/>
10-
<LandingContent />
11-
<Testimonials />
8+
<div className="min-h-screen bg-[#030712] relative">
9+
{/* Dotted background pattern */}
10+
<div className="absolute inset-0" style={{
11+
backgroundImage: `radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.15) 1px, transparent 0)`,
12+
backgroundSize: '40px 40px'
13+
}} />
14+
15+
{/* Gradient overlay */}
16+
<div className="absolute inset-0 bg-gradient-to-b from-transparent via-[#030712]/50 to-[#030712]" />
17+
18+
{/* Content */}
19+
<div className="relative z-10">
20+
<HomeNavBar/>
21+
<LandingContent />
22+
<Testimonials />
23+
</div>
1224
</div>
1325
)
1426
}

components/LandingContent.tsx

Lines changed: 37 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,33 @@ import ShinyButton from "./magicui/shiny-button"
55
import Link from "next/link"
66
import { SparklesCore } from "./ui/sparkles"
77

8+
const features = [
9+
{ title: "Background Removal", description: "Perfect cuts in seconds" },
10+
{ title: "Object Removal", description: "Clean any unwanted elements" },
11+
{ title: "Smart Recolor", description: "Change colors naturally" },
12+
{ title: "Auto Resize", description: "Perfect for any platform" }
13+
];
14+
815
const LandingContent = () => {
916
return (
1017
<div className="min-h-screen relative w-full flex flex-col items-center justify-center">
18+
{/* Updated background effects */}
1119
<div className="absolute inset-0 max-w-7xl mx-auto">
1220
<motion.div
1321
animate={{
1422
y: [-10, 10, -10],
1523
rotate: [0, 5, 0],
1624
}}
1725
transition={{ duration: 5, repeat: Infinity }}
18-
className="absolute top-1/4 left-10 w-24 h-24 bg-gradient-to-br from-purple-500/20 to-cyan-500/20 rounded-full blur-xl"
26+
className="absolute top-1/4 left-10 w-24 h-24 bg-gradient-to-br from-purple-500/10 to-cyan-500/10 rounded-full blur-2xl"
1927
/>
2028
<motion.div
2129
animate={{
2230
y: [10, -10, 10],
2331
rotate: [0, -5, 0],
2432
}}
2533
transition={{ duration: 7, repeat: Infinity }}
26-
className="absolute bottom-1/4 right-10 w-32 h-32 bg-gradient-to-br from-blue-500/20 to-violet-500/20 rounded-full blur-xl"
34+
className="absolute bottom-1/4 right-10 w-32 h-32 bg-gradient-to-br from-blue-500/10 to-violet-500/10 rounded-full blur-2xl"
2735
/>
2836
</div>
2937

@@ -32,22 +40,26 @@ const LandingContent = () => {
3240
initial={{ opacity: 0, y: 20 }}
3341
animate={{ opacity: 1, y: 0 }}
3442
transition={{ duration: 0.8 }}
35-
className="glassmorphism p-8 rounded-2xl backdrop-blur-xl border border-white/10 hover:shadow-sm cursor-pointer hover:shadow-sky-400"
43+
className="glassmorphism p-8 rounded-2xl backdrop-blur-sm border border-white/5 bg-black/20 hover:shadow-lg hover:shadow-purple-500/10 transition-all duration-300"
3644
>
3745
<h1 className="text-6xl md:text-7xl font-bold tracking-tight">
3846
<span className="inline-block bg-gradient-to-r from-white via-purple-200 to-cyan-200 bg-clip-text text-transparent">
39-
The best AI Platform For
47+
Transform Your Images with AI
4048
</span>
4149
</h1>
4250

51+
<p className="mt-6 text-xl text-zinc-300">
52+
Professional-grade image editing made simple. No design skills needed.
53+
</p>
54+
4355
<div className="mt-8 text-5xl md:text-6xl font-semibold bg-gradient-to-r from-blue-200 via-violet-200 to-purple-200 bg-clip-text text-transparent">
4456
<TypewriterComponent
4557
options={{
4658
strings: [
47-
"Background Removal",
48-
"Object Removal",
49-
"Object Recolor",
50-
"Ratio Conversion"
59+
"Remove Backgrounds Instantly",
60+
"Erase Unwanted Objects",
61+
"Change Colors Magically",
62+
"Resize for Any Platform"
5163
],
5264
autoStart: true,
5365
loop: true,
@@ -57,22 +69,31 @@ const LandingContent = () => {
5769
/>
5870
</div>
5971

60-
<motion.div
61-
className="mt-12 flex flex-col items-center gap-4"
62-
initial={{ opacity: 0 }}
63-
animate={{ opacity: 1 }}
64-
transition={{ delay: 0.5 }}
65-
>
72+
<div className="mt-12 grid grid-cols-2 md:grid-cols-4 gap-6 max-w-3xl mx-auto">
73+
{features.map((feature) => (
74+
<motion.div
75+
key={feature.title}
76+
initial={{ opacity: 0, y: 20 }}
77+
animate={{ opacity: 1, y: 0 }}
78+
className="p-4 rounded-lg bg-white/5 border border-white/10"
79+
>
80+
<h3 className="text-lg font-semibold text-white">{feature.title}</h3>
81+
<p className="text-sm text-zinc-400">{feature.description}</p>
82+
</motion.div>
83+
))}
84+
</div>
85+
86+
<motion.div className="mt-12 flex flex-col items-center gap-4">
6687
<Link href="/dashboard">
6788
<button className="group relative px-12 py-4 rounded-full overflow-hidden bg-gradient-to-r from-violet-600 to-indigo-600 hover:scale-105 transition-all duration-200">
6889
<div className="absolute inset-0 bg-white/30 group-hover:bg-transparent transition-colors" />
6990
<span className="relative text-lg font-medium text-white">
70-
Get Started Free
91+
Start Editing for Free
7192
</span>
7293
</button>
7394
</Link>
7495
<p className="text-lg text-zinc-400">
75-
No credit card required • Free tier available
96+
No credit card required • 5 free edits included
7697
</p>
7798
</motion.div>
7899
</motion.div>

components/Testimonials.tsx

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,24 @@ import { Card, CardContent, CardHeader, CardTitle } from "./ui/card";
44

55
const testimonials = [
66
{
7-
name: "Liam Carter",
8-
title: "Full-Stack + web3 sr.Engineer",
9-
description: "Good work! Generative Fill and Object recolor are OutStanding. ",
7+
name: "Sarah Chen",
8+
title: "E-commerce Manager",
9+
description: "Saved hours on product photo editing. The background removal is perfect every time!",
1010
},
1111
{
12-
name: "Nizzy",
13-
title: "Full-Stack Engineer",
14-
description: "I am using this in my daily life now. In terms of Frontend this looks really good",
12+
name: "Mike Rodriguez",
13+
title: "Social Media Creator",
14+
description: "Game-changer for content creation. I can now resize my images for every platform instantly.",
1515
},
1616
{
17-
name: "Ava Bennett",
18-
title: "Frontend Engineer",
19-
description: "Cool product Man. You have done a nice job. Features are outstanding. Keep Going",
17+
name: "Emma Thompson",
18+
title: "Interior Designer",
19+
description: "The object recoloring tool is incredible. I can show clients different color options in seconds.",
2020
},
2121
{
22-
name: "Samumdar Altman",
23-
title: "",
24-
description: "It generated exact image as prompted & the image quality is top notch",
22+
name: "David Kim",
23+
title: "Real Estate Agent",
24+
description: "Perfect for cleaning up property photos. Removes unwanted objects seamlessly.",
2525
}
2626
];
2727

@@ -65,7 +65,7 @@ export const Testimonials = () => {
6565
initial="hidden"
6666
whileInView="visible"
6767
viewport={{ once: true, amount: 0.3 }}
68-
className="container mx-auto px-4 sm:px-6 lg:px-8 py-20"
68+
className="container mx-auto px-4 sm:px-6 lg:px-8 py-20 relative z-10"
6969
>
7070
<motion.h2
7171
variants={{
@@ -89,7 +89,7 @@ export const Testimonials = () => {
8989
custom={index}
9090
className="h-full"
9191
>
92-
<Card className="bg-gradient-to-b from-[#192339] to-[#121827] border border-white/10 text-white shadow-xl hover:shadow-emerald-500/20 transition-all duration-300 h-full flex flex-col">
92+
<Card className="bg-gradient-to-b from-[#0f1729]/80 to-[#0a0f1d]/80 backdrop-blur-sm border border-white/5 text-white shadow-xl hover:shadow-purple-500/20 transition-all duration-300 h-full flex flex-col">
9393
<CardHeader className="flex-1">
9494
<CardTitle className="flex items-center gap-x-2 mb-4">
9595
<div>

0 commit comments

Comments
 (0)