|
1 | 1 | import type { Metadata } from "next"; |
2 | 2 | import Image from "next/image"; |
3 | 3 | import Link from "next/link"; |
4 | | -import { Badge } from "../../../@/components/ui/badge"; |
| 4 | +import { Badge } from "../../@/components/ui/badge"; |
5 | 5 | import { |
6 | 6 | Card, |
7 | 7 | CardContent, |
8 | 8 | CardDescription, |
9 | 9 | CardHeader, |
10 | 10 | CardTitle, |
11 | | -} from "../../../@/components/ui/card"; |
| 11 | +} from "../../@/components/ui/card"; |
12 | 12 | import { |
13 | 13 | Pagination, |
14 | 14 | PaginationContent, |
15 | 15 | PaginationItem, |
16 | 16 | PaginationLink, |
17 | 17 | PaginationNext, |
18 | 18 | PaginationPrevious, |
19 | | -} from "../../../@/components/ui/pagination"; |
20 | | -import { getThirdwebClient } from "../../../@/constants/thirdweb.server"; |
21 | | -import { resolveSchemeWithErrorHandler } from "../../../@/lib/resolveSchemeWithErrorHandler"; |
| 19 | +} from "../../@/components/ui/pagination"; |
| 20 | +import { getThirdwebClient } from "../../@/constants/thirdweb.server"; |
| 21 | +import { resolveSchemeWithErrorHandler } from "../../@/lib/resolveSchemeWithErrorHandler"; |
22 | 22 | import { |
23 | 23 | PROJECT_SHOWCASE_DATA, |
24 | 24 | PROJECT_SHOWCASE_INDUSTRIES, |
25 | 25 | PROJECT_SHOWCASE_ITEMS_PER_PAGE, |
26 | | -} from "../../../lib/project-showcase-constants"; |
27 | | -import { getAbsoluteUrl } from "../../../lib/vercel-utils"; |
| 26 | +} from "../../lib/project-showcase-constants"; |
| 27 | +import { getAbsoluteUrl } from "../../lib/vercel-utils"; |
28 | 28 |
|
29 | 29 | export const metadata: Metadata = { |
30 | 30 | title: "Project Showcase | Built on thirdweb", |
@@ -69,7 +69,43 @@ export default function ProjectShowcasePage({ |
69 | 69 |
|
70 | 70 | return ( |
71 | 71 | <div className="min-h-screen bg-background"> |
72 | | - <section className="w-full">{/* Hero section content */}</section> |
| 72 | + <section className="w-full"> |
| 73 | + <div className="container px-4 md:px-6"> |
| 74 | + <div className="grid gap-6 lg:grid-cols-[1fr_400px] lg:gap-12 xl:grid-cols-[1fr_600px]"> |
| 75 | + <div className="flex flex-col justify-center space-y-4"> |
| 76 | + <div className="space-y-2"> |
| 77 | + <h1 className="font-bold text-3xl tracking-tighter sm:text-5xl xl:text-6xl/none"> |
| 78 | + Built on thirdweb |
| 79 | + </h1> |
| 80 | + <p className="max-w-[600px] md:text-3xl"> |
| 81 | + Discover the latest web3 apps and games built on thirdweb. |
| 82 | + </p> |
| 83 | + </div> |
| 84 | + <div className="flex flex-col gap-2 min-[400px]:flex-row"> |
| 85 | + <Link |
| 86 | + href="https://thirdweb.com/login" |
| 87 | + className="inline-flex h-10 items-center justify-center rounded-md bg-gray-900 px-8 font-medium text-gray-50 text-sm shadow transition-colors hover:bg-gray-900/90 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-gray-950 disabled:pointer-events-none disabled:opacity-50 dark:bg-gray-50 dark:text-gray-900 dark:focus-visible:ring-gray-300 dark:hover:bg-gray-50/90" |
| 88 | + > |
| 89 | + Get Started |
| 90 | + </Link> |
| 91 | + <Link |
| 92 | + href="https://blog.thirdweb.com/case-studies/" |
| 93 | + className="inline-flex h-10 items-center justify-center rounded-md border border-gray-200 bg-white px-8 font-medium text-sm shadow-sm transition-colors hover:bg-gray-100 hover:text-gray-900 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-gray-950 disabled:pointer-events-none disabled:opacity-50 dark:border-gray-800 dark:bg-gray-950 dark:focus-visible:ring-gray-300 dark:hover:bg-gray-800 dark:hover:text-gray-50" |
| 94 | + > |
| 95 | + View all case studies |
| 96 | + </Link> |
| 97 | + </div> |
| 98 | + </div> |
| 99 | + <Image |
| 100 | + alt="Hero" |
| 101 | + className="mx-auto overflow-hidden object-cover object-center sm:w-full lg:order-last" |
| 102 | + height="550" |
| 103 | + src="/assets/showcase/abstract-w.png" |
| 104 | + width="550" |
| 105 | + /> |
| 106 | + </div> |
| 107 | + </div> |
| 108 | + </section> |
73 | 109 | <main className="container mx-auto px-4 py-12 md:px-6"> |
74 | 110 | <section> |
75 | 111 | <div className="mb-8"> |
@@ -97,7 +133,8 @@ export default function ProjectShowcasePage({ |
97 | 133 | className="block" |
98 | 134 | > |
99 | 135 | <Card className="flex h-full cursor-pointer flex-col overflow-hidden transition-shadow hover:shadow-lg"> |
100 | | - <Image |
| 136 | + {/* eslint-disable @next/next/no-img-element */} |
| 137 | + <img |
101 | 138 | src={ |
102 | 139 | project.image?.startsWith("ipfs://") |
103 | 140 | ? (resolveSchemeWithErrorHandler({ |
|
0 commit comments