diff --git a/README.md b/README.md index 96d1461..0ad11e1 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,8 @@ > 🎨 **[Explore 50+ more open-source AI apps →](https://github.com/Anil-matcha/awesome-generative-ai-apps)** +https://github.com/user-attachments/assets/eb7d4b61-af97-4a06-9afb-bd56a99de8fb + ## 🌐 Live Demo & Deploy **Live Demo:** [open-ai-ugc.vercel.app](https://open-ai-ugc.vercel.app/) diff --git a/src/app/api/checkout/stripe/route.js b/src/app/api/checkout/stripe/route.js index 34ad356..823d3ea 100644 --- a/src/app/api/checkout/stripe/route.js +++ b/src/app/api/checkout/stripe/route.js @@ -36,7 +36,7 @@ export async function POST(req) { }, ], mode: "payment", - success_url: `${process.env.NEXTAUTH_URL}/dashboard?status=success`, + success_url: `${process.env.NEXTAUTH_URL}/gallery?status=success`, cancel_url: `${process.env.NEXTAUTH_URL}/pricing?status=cancelled`, metadata: { userId: session.user.id, diff --git a/src/app/dashboard/page.js b/src/app/gallery/page.js similarity index 95% rename from src/app/dashboard/page.js rename to src/app/gallery/page.js index 99a6c2f..03e249a 100644 --- a/src/app/dashboard/page.js +++ b/src/app/gallery/page.js @@ -66,7 +66,7 @@ export default function Dashboard() { @@ -76,7 +76,7 @@ export default function Dashboard() {
{isLoading ? (
- + Syncing Archive...
) : creations.length === 0 ? ( @@ -119,7 +119,7 @@ export default function Dashboard() {
) : (
- + Processing...
)} @@ -183,7 +183,7 @@ export default function Dashboard() { ) : (
- + Syncing manifesting...
)} @@ -242,7 +242,7 @@ export default function Dashboard() { download target="_blank" rel="noopener noreferrer" - className="w-full py-4 bg-primary-500 text-white rounded-full font-bold text-xs flex items-center justify-center gap-3 transition-all hover:bg-primary-600 active:scale-[0.98] shadow-xl shadow-primary-500/20" + className="w-full py-4 bg-primary text-white rounded-full font-bold text-xs flex items-center justify-center gap-3 transition-all hover:bg-primary-hover active:scale-[0.98] shadow-xl shadow-primary/20" > Download Asset diff --git a/src/app/globals.css b/src/app/globals.css index 1162605..4ee1a5e 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -4,16 +4,37 @@ --font-sans: var(--font-inter), sans-serif; --font-outfit: var(--font-inter), sans-serif; - --color-bg-page: var(--bg-page, #09090b); - --color-bg-card: var(--bg-card, #18181b); - --color-bg-card-hover: var(--bg-card-hover, #27272a); - --color-bg-elevated: var(--bg-elevated, #202024); - --color-divider: var(--divider, #3f3f46); + --color-bg-page: var(--bg-page, #f9fafb); + --color-bg-card: var(--bg-card, #ffffff); + --color-bg-card-hover: var(--bg-card-hover, #f3f4f6); + --color-bg-elevated: var(--bg-elevated, #ffffff); + --color-divider: var(--divider, #e5e7eb); --color-primary: var(--primary, #8b5cf6); --color-primary-hover: var(--primary-hover, #7c3aed); - --color-primary-text: var(--primary-text, #f4f4f5); - --color-secondary-text: var(--secondary-text, #a1a1aa); + --color-primary-text: var(--primary-text, #111827); + --color-secondary-text: var(--secondary-text, #4b5563); --color-primary-btn-text: var(--primary-btn-text, #ffffff); + + --color-glass-bg: var(--glass-bg, rgba(255, 255, 255, 0.7)); + --color-glass-border: var(--glass-border, rgba(0, 0, 0, 0.08)); + --color-glass-hover: var(--glass-hover, rgba(0, 0, 0, 0.03)); +} + +:root { + --bg-page: #f9fafb; + --bg-card: #ffffff; + --bg-card-hover: #f3f4f6; + --bg-elevated: #ffffff; + --divider: #e5e7eb; + --primary: #8b5cf6; + --primary-hover: #7c3aed; + --primary-text: #111827; + --secondary-text: #4b5563; + --primary-btn-text: #ffffff; + + --glass-bg: rgba(255, 255, 255, 0.7); + --glass-border: rgba(0, 0, 0, 0.08); + --glass-hover: rgba(0, 0, 0, 0.03); } /* Premium Visual Themes Override Definitions */ @@ -28,6 +49,10 @@ --primary-text: #fff1f2; --secondary-text: #06b6d4; --primary-btn-text: #ffffff; + + --glass-bg: rgba(14, 5, 28, 0.7); + --glass-border: rgba(236, 72, 153, 0.2); + --glass-hover: rgba(236, 72, 153, 0.1); } [data-theme="emerald"] { @@ -41,6 +66,10 @@ --primary-text: #ecfdf5; --secondary-text: #34d399; --primary-btn-text: #ffffff; + + --glass-bg: rgba(6, 78, 59, 0.7); + --glass-border: rgba(17, 94, 89, 0.2); + --glass-hover: rgba(17, 94, 89, 0.1); } [data-theme="sunset"] { @@ -54,6 +83,10 @@ --primary-text: #fff7ed; --secondary-text: #fb923c; --primary-btn-text: #ffffff; + + --glass-bg: rgba(45, 21, 0, 0.7); + --glass-border: rgba(234, 88, 12, 0.2); + --glass-hover: rgba(234, 88, 12, 0.1); } [data-theme="midnight"] { @@ -67,6 +100,10 @@ --primary-text: #f4f4f5; --secondary-text: #a1a1aa; --primary-btn-text: #000000; + + --glass-bg: rgba(12, 12, 14, 0.7); + --glass-border: rgba(45, 45, 52, 0.4); + --glass-hover: rgba(45, 45, 52, 0.2); } .bg-primary { @@ -75,8 +112,8 @@ @layer base { html, body { - background-color: var(--color-bg-page); - color: var(--color-primary-text); + background-color: var(--bg-page); + color: var(--primary-text); font-family: var(--font-sans); height: 100%; margin: 0; @@ -86,17 +123,17 @@ /* Glassmorphism Utilities */ .glass-panel { - background: rgba(24, 24, 27, 0.7); + background: var(--glass-bg); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); - border: 1px solid rgba(63, 63, 70, 0.5); + border: 1px solid var(--glass-border); } .glass-dropdown { - background: rgba(15, 15, 18, 0.95); + background: var(--glass-bg); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); - border: 1px solid rgba(63, 63, 70, 0.6); + border: 1px solid var(--glass-border); } /* Premium Scrollbars */ @@ -110,12 +147,12 @@ } .scrollbar-subtle::-webkit-scrollbar-thumb { - background: var(--color-divider); + background: var(--divider); border-radius: 10px; } .scrollbar-subtle::-webkit-scrollbar-thumb:hover { - background: var(--color-primary); + background: var(--primary); } /* Animations */ diff --git a/src/app/page.js b/src/app/page.js index 5f2a918..84b27c5 100644 --- a/src/app/page.js +++ b/src/app/page.js @@ -397,7 +397,7 @@ export default function Home() { > {['processing', 'pending', 'starting', 'queued'].includes(lastGeneration.status) ? (
-
+
Manifesting ({lastGeneration.status})... @@ -467,7 +467,7 @@ export default function Home() { /> {img.status === 'uploading' && (
- +
)} @@ -586,9 +586,9 @@ export default function Home() {
{/* Show credit cost */} -
+
- + Cost: {getRequiredCredits()}
@@ -596,7 +596,7 @@ export default function Home() {
@@ -648,11 +648,11 @@ export default function Home() {
handleModelSelect(model)} - className={`p-5 rounded border transition-all cursor-pointer space-y-4 group ${selectedModel.id === model.id ? "border-slate-900 ring-1 ring-slate-900 bg-slate-50" : "border-[#ececec] bg-white hover:border-slate-300 hover:shadow-md"}`} + className={`p-5 rounded border transition-all cursor-pointer space-y-4 group ${selectedModel.id === model.id ? "border-primary ring-1 ring-primary bg-bg-card-hover" : "border-divider/50 bg-bg-card hover:border-divider hover:shadow-md"}`} >
diff --git a/src/app/pricing/page.js b/src/app/pricing/page.js index 5847e99..b3a90c5 100644 --- a/src/app/pricing/page.js +++ b/src/app/pricing/page.js @@ -2,7 +2,6 @@ import { useSession } from "next-auth/react"; import { useState } from "react"; -import Navbar from "@/components/Navbar"; import Footer from "@/components/Footer"; import { FaCheck, FaInfoCircle } from "react-icons/fa"; import axios from "axios"; @@ -44,7 +43,6 @@ export default function Pricing() { return (
-
diff --git a/src/components/FloatingToolbar.jsx b/src/components/FloatingToolbar.jsx index cceafb3..9ca26fa 100644 --- a/src/components/FloatingToolbar.jsx +++ b/src/components/FloatingToolbar.jsx @@ -4,22 +4,22 @@ import { FiVideo, FiImage, FiSearch, FiUser } from "react-icons/fi"; export function FloatingToolbar({ onSeeMore }) { return ( -
- - -