Skip to content

Commit 45645aa

Browse files
Merge branch 'main' into fix/release
2 parents 40b3e7a + 7809647 commit 45645aa

14 files changed

Lines changed: 324 additions & 1 deletion

File tree

apps/docs/app/docs/[...slug]/page.client.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,10 @@ export function ViewOptions(props: { markdownUrl: string; githubUrl: string }) {
156156
>
157157
{item.icon}
158158
{item.title}
159-
<ExternalLinkIcon className="text-fd-muted-foreground size-3.5 ms-auto" />
159+
<ExternalLinkIcon
160+
className="text-fd-muted-foreground size-3.5 ms-auto"
161+
aria-label={`Open ${item.title}`}
162+
/>
160163
</a>
161164
))}
162165
</PopoverContent>

apps/docs/app/layout.config.tsx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,16 @@ export const baseOptions: BaseLayoutProps = {
1717
),
1818
},
1919
githubUrl: "https://github.com/IQAICOM/adk-ts",
20+
links: [
21+
{
22+
text: "Documentation",
23+
url: "/docs",
24+
active: "nested-url",
25+
},
26+
{
27+
text: "Showcase",
28+
url: "/showcase",
29+
active: "nested-url",
30+
},
31+
],
2032
};
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
export function Hero() {
2+
return (
3+
<section className="relative flex flex-col justify-center items-center px-2 sm:px-4 py-16 sm:py-24 overflow-hidden">
4+
{/* Enhanced Background */}
5+
<div className="absolute inset-0 bg-gradient-to-br from-background via-card to-muted/20">
6+
<div className="absolute inset-0 bg-gradient-to-r from-primary/5 via-transparent to-chart-2/5" />
7+
8+
{/* Enhanced floating orbs */}
9+
<div className="absolute top-8 left-8 w-24 sm:w-32 h-24 sm:h-32 bg-primary/20 rounded-full blur-2xl animate-pulse opacity-30" />
10+
<div className="absolute bottom-8 right-8 w-32 sm:w-40 h-32 sm:h-40 bg-chart-1/20 rounded-full blur-2xl animate-pulse opacity-30 animation-delay-2000" />
11+
<div className="absolute top-1/2 left-1/4 w-16 h-16 bg-chart-2/15 rounded-full blur-xl animate-ping opacity-20 animation-delay-4000" />
12+
13+
{/* Subtle grid pattern */}
14+
<div className="absolute inset-0 bg-grid-pattern opacity-5" />
15+
16+
{/* Moving gradient overlay */}
17+
<div className="absolute inset-0 bg-gradient-to-r from-transparent via-primary/5 to-transparent animate-shimmer" />
18+
</div>
19+
20+
{/* Main content - centered */}
21+
<div className="relative z-10 w-full max-w-4xl mx-auto text-center">
22+
{/* Header section with animations */}
23+
<div className="mb-8 animate-fade-in-up">
24+
<div
25+
className="inline-flex items-center bg-primary/10 border border-primary/20 text-primary px-3 py-1.5 rounded-full text-sm font-medium mb-6 hover:bg-primary/15 transition-all duration-300 hover:scale-105"
26+
role="presentation"
27+
>
28+
<svg
29+
className="w-3.5 h-3.5 mr-2 animate-pulse"
30+
fill="none"
31+
stroke="currentColor"
32+
viewBox="0 0 24 24"
33+
>
34+
<title>Star Icon</title>
35+
<path
36+
strokeLinecap="round"
37+
strokeLinejoin="round"
38+
strokeWidth={2}
39+
d="M11.049 2.927c.3-.921 1.603-.921 1.902 0l1.519 4.674a1 1 0 00.95.69h4.915c.969 0 1.371 1.24.588 1.81l-3.976 2.888a1 1 0 00-.363 1.118l1.518 4.674c.3.922-.755 1.688-1.538 1.118l-3.976-2.888a1 1 0 00-1.176 0l-3.976 2.888c-.783.57-1.838-.197-1.538-1.118l1.518-4.674a1 1 0 00-.363-1.118l-3.976-2.888c-.784-.57-.38-1.81.588-1.81h4.914a1 1 0 00.951-.69l1.519-4.674z"
40+
/>
41+
</svg>
42+
Community Showcase
43+
</div>
44+
45+
<h1 className="text-4xl sm:text-5xl md:text-6xl lg:text-7xl font-bold tracking-tight mb-4 animate-fade-in-up animation-delay-200">
46+
<span className="text-foreground">Built with</span>
47+
<br />
48+
<span className="text-2xl sm:text-3xl md:text-4xl lg:text-5xl font-medium bg-gradient-to-r from-primary to-chart-1 bg-clip-text text-transparent">
49+
ADK-TS Framework
50+
</span>
51+
</h1>
52+
53+
<p className="text-base sm:text-lg text-muted-foreground max-w-2xl mx-auto mb-8 animate-fade-in-up animation-delay-400">
54+
Discover the innovative AI agents and applications created by our
55+
amazing community.
56+
</p>
57+
</div>
58+
</div>
59+
60+
{/* Enhanced CSS animations */}
61+
<style jsx>{`
62+
.bg-grid-pattern {
63+
background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,0.1) 1px, transparent 0);
64+
background-size: 24px 24px;
65+
}
66+
67+
.animation-delay-200 { animation-delay: 0.2s; }
68+
.animation-delay-300 { animation-delay: 0.3s; }
69+
.animation-delay-400 { animation-delay: 0.4s; }
70+
.animation-delay-600 { animation-delay: 0.6s; }
71+
.animation-delay-800 { animation-delay: 0.8s; }
72+
.animation-delay-1000 { animation-delay: 1s; }
73+
.animation-delay-2000 { animation-delay: 2s; }
74+
.animation-delay-4000 { animation-delay: 4s; }
75+
76+
@keyframes fade-in-up {
77+
from {
78+
opacity: 0;
79+
transform: translateY(20px);
80+
}
81+
to {
82+
opacity: 1;
83+
transform: translateY(0);
84+
}
85+
}
86+
87+
@keyframes shimmer {
88+
0% { transform: translateX(-100%); }
89+
100% { transform: translateX(100%); }
90+
}
91+
92+
.animate-fade-in-up {
93+
animation: fade-in-up 0.6s ease-out forwards;
94+
opacity: 0;
95+
}
96+
97+
.animate-shimmer {
98+
animation: shimmer 3s ease-in-out infinite;
99+
}
100+
`}</style>
101+
</section>
102+
);
103+
}
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
import Link from "next/link";
2+
import Image from "next/image";
3+
import { ExternalLink } from "lucide-react";
4+
5+
interface ProjectCardProps {
6+
title: string;
7+
description?: string;
8+
link?: string;
9+
tags?: string[];
10+
image?: string;
11+
}
12+
13+
export function ProjectCard({
14+
title,
15+
description,
16+
link = "#",
17+
tags = [],
18+
image,
19+
}: ProjectCardProps) {
20+
return (
21+
<div className="group relative flex flex-col overflow-hidden rounded-xl border border-border bg-card/50 transition-all hover:bg-card/80 hover:shadow-lg hover:-translate-y-1">
22+
<Link
23+
href={link}
24+
target="_blank"
25+
rel="noopener noreferrer"
26+
className="absolute inset-0 z-0"
27+
>
28+
<span className="sr-only">View {title}</span>
29+
</Link>
30+
<div className="absolute inset-0 bg-gradient-to-br from-primary/5 via-transparent to-chart-1/5 opacity-0 transition-opacity group-hover:opacity-100 pointer-events-none" />
31+
32+
{image ? (
33+
<div className="relative w-full aspect-video overflow-hidden border-b border-border/50 pointer-events-none">
34+
<Image
35+
src={image}
36+
alt={title}
37+
fill
38+
className="object-cover transition-transform duration-300 group-hover:scale-105"
39+
loading="lazy"
40+
placeholder="blur"
41+
blurDataURL="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAIAAoDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAv/xAAUEAEAAAAAAAAAAAAAAAAAAAAA/8QAFQEBAQAAAAAAAAAAAAAAAAAAAAX/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwCwABmX/9k="
42+
/>
43+
</div>
44+
) : (
45+
<div className="relative w-full aspect-video overflow-hidden border-b border-border/50 pointer-events-none bg-gradient-to-br from-primary/20 to-chart-1/20 flex items-center justify-center p-6">
46+
<h3 className="font-bold text-2xl text-center text-foreground/80 tracking-tight">
47+
{title}
48+
</h3>
49+
</div>
50+
)}
51+
52+
<div className="relative z-10 p-6 pointer-events-none">
53+
<div className="mb-4 flex items-start justify-between">
54+
<div className="space-y-1">
55+
<div className="flex flex-wrap gap-2 mb-2">
56+
{tags.map((tag) => (
57+
<span
58+
key={tag}
59+
className="inline-flex items-center rounded-full border border-primary/20 bg-primary/10 px-2.5 py-0.5 text-xs font-medium text-primary"
60+
>
61+
{tag}
62+
</span>
63+
))}
64+
</div>
65+
<h3 className="font-semibold text-xl tracking-tight text-foreground">
66+
{title}
67+
</h3>
68+
</div>
69+
<ExternalLink
70+
className="h-5 w-5 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100"
71+
aria-label={`View ${title}`}
72+
/>
73+
</div>
74+
75+
{description && (
76+
<p className="mb-4 text-sm text-muted-foreground line-clamp-2">
77+
{description}
78+
</p>
79+
)}
80+
</div>
81+
</div>
82+
);
83+
}

apps/docs/app/showcase/_schema.ts

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
export interface Project {
2+
title: string;
3+
description: string;
4+
link: string;
5+
image?: string;
6+
tags: string[];
7+
}
8+
9+
export const projects: Project[] = [
10+
{
11+
title: "CodeForge AI",
12+
description: "AI-powered code generation and review assistant",
13+
link: "https://codeforge-adk.vercel.app/",
14+
image: "/showcase/project-screenshots/codeforge.jpeg",
15+
tags: ["Hackathon", "Agent Application"],
16+
},
17+
{
18+
title: "OpsPilot",
19+
description: "Intelligent operations management and automation platform",
20+
link: "https://opspilot-five.vercel.app/",
21+
image: "/showcase/project-screenshots/ops-pilot.jpeg",
22+
tags: ["Hackathon", "MCP Expansion"],
23+
},
24+
{
25+
title: "ChainInsight",
26+
description: "Blockchain analytics and insights platform",
27+
link: "https://chain-insight-nine.vercel.app/",
28+
image: "/showcase/project-screenshots/chain-insight.jpeg",
29+
tags: ["Hackathon", "Web3"],
30+
},
31+
{
32+
title: "Confluent",
33+
description: "Practical AI solution for real-world use cases",
34+
link: "https://github.com/Davidthecode/confluent",
35+
tags: ["Hackathon", "Agent Application"],
36+
},
37+
{
38+
title: "BingeBird",
39+
description: "Smart bot integration for enhanced user experiences",
40+
link: "https://github.com/Rohit-KK15/BingeBird-Bot",
41+
image: "/showcase/project-screenshots/binge-bird.jpeg",
42+
tags: ["Hackathon", "Bot Integration"],
43+
},
44+
{
45+
title: "Obrix",
46+
description:
47+
"Advanced technical implementation showcasing ADK-TS capabilities",
48+
link: "https://github.com/akbaridria/obrix",
49+
image: "/showcase/project-screenshots/orbix.jpeg",
50+
tags: ["Hackathon", "Agent Application"],
51+
},
52+
{
53+
title: "Bazaaro",
54+
description: "Innovative improvements and extensions to ADK-TS framework",
55+
link: "https://github.com/phdargen/bazaaro",
56+
image: "/showcase/project-screenshots/bazaaro.jpeg",
57+
tags: ["Hackathon", "Agent Application"],
58+
},
59+
{
60+
title: "On Chain Analysis Agent",
61+
description: "Collaborative team agent for blockchain data analysis",
62+
link: "https://github.com/jayasaisrikar/on-chain-analysis-agent",
63+
image: "/showcase/project-screenshots/on-chain-analysis.jpeg",
64+
tags: ["Hackathon", "Agent Application"],
65+
},
66+
];

apps/docs/app/showcase/layout.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import type { ReactNode } from "react";
2+
import { HomeLayout } from "fumadocs-ui/layouts/home";
3+
import { baseOptions } from "@/app/layout.config";
4+
5+
export default function ShowcaseLayout({ children }: { children: ReactNode }) {
6+
return <HomeLayout {...baseOptions}>{children}</HomeLayout>;
7+
}

apps/docs/app/showcase/page.tsx

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
"use client";
2+
3+
import { Hero } from "./_components/hero";
4+
import { ProjectCard } from "./_components/project-card";
5+
import { projects } from "./_schema";
6+
7+
const ShowcasePage = () => {
8+
return (
9+
<div className="flex flex-col min-h-screen w-full bg-background">
10+
<Hero />
11+
12+
<div className="container mx-auto px-4 py-16 space-y-24">
13+
<section>
14+
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
15+
{projects.map((project) => (
16+
<ProjectCard
17+
key={project.title}
18+
title={project.title}
19+
description={project.description}
20+
link={project.link}
21+
image={project.image}
22+
tags={project.tags}
23+
/>
24+
))}
25+
</div>
26+
</section>
27+
28+
{/* Submission Instructions */}
29+
<section className="text-center py-12 border-t border-border/50">
30+
<p className="text-muted-foreground">
31+
Want to showcase your project? Share it in our GitHub Discussions
32+
under{" "}
33+
<a
34+
href="https://github.com/IQAIcom/adk-ts/discussions/404"
35+
target="_blank"
36+
rel="noopener noreferrer"
37+
className="text-primary hover:underline font-medium"
38+
>
39+
&apos;Built with ADK-TS&apos;
40+
</a>
41+
!
42+
</p>
43+
</section>
44+
</div>
45+
</div>
46+
);
47+
};
48+
49+
export default ShowcasePage;
54.4 KB
Loading
195 KB
Loading
126 KB
Loading

0 commit comments

Comments
 (0)