Skip to content

Commit b123381

Browse files
chore: update dependencies and enhance component functionality
- Updated @types/node from 24.0.10 to 24.0.12 in package.json for improved type definitions. - Integrated getDynamicStats function in HeroSection and Installation components to dynamically display the total number of components. - Refactored Showcase component for improved readability and consistency in JSX formatting. - Added new components: MagicalChatInput, SubandSup, and PixelLoadingAnimation. - Introduced ComponentCounter utility for counting.
1 parent 8d69959 commit b123381

File tree

11 files changed

+360
-165
lines changed

11 files changed

+360
-165
lines changed

components/HeroSection.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { ArrowRight, Sparkles, Layers, Zap } from "lucide-react";
66
import { useEffect, useState } from "react";
77
import { Pill } from "@/components/ui/pill";
88
import { CountUp } from "@/components/vui/text/CountUp";
9+
import { getDynamicStats } from "@/lib/ComponentCounter";
910

1011
export default function HeroSection() {
1112
const [gridCells, setGridCells] = useState<boolean[]>([]);
@@ -204,7 +205,7 @@ export default function HeroSection() {
204205
<div>
205206
<div className="text-xl sm:text-2xl md:text-3xl font-bold text-foreground mb-1 bg-gradient-to-r from-primary to-secondary bg-clip-text">
206207
<CountUp
207-
to={10}
208+
to={getDynamicStats().totalComponents}
208209
suffix="+"
209210
duration={2.5}
210211
delay={0.5}

components/Installation.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {
88
Rocket,
99
Code,
1010
} from "lucide-react";
11+
import { getDynamicStats } from "@/lib/ComponentCounter";
1112

1213
export default function Installation() {
1314
return (
@@ -287,7 +288,8 @@ export default function Installation() {
287288
and patterns.
288289
</p>
289290
<div className="text-sm text-blue-600 font-medium">
290-
10+ Components Available →
291+
{getDynamicStats().totalComponents} Components
292+
Available →
291293
</div>
292294
</Card>
293295

components/Showcase.tsx

Lines changed: 61 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,47 @@
1-
"use client"
1+
"use client";
22

3-
import { Button } from "@/components/ui/buttonShadcn"
4-
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"
5-
import { Badge } from "@/components/ui/badge"
6-
import { ExternalLink, Mail } from "lucide-react"
7-
import Image from "next/image"
8-
import Link from "next/link"
3+
import { Button } from "@/components/ui/buttonShadcn";
4+
import {
5+
Card,
6+
CardContent,
7+
CardDescription,
8+
CardHeader,
9+
CardTitle,
10+
} from "@/components/ui/card";
11+
import { Badge } from "@/components/ui/badge";
12+
import { ExternalLink, Mail } from "lucide-react";
13+
import Image from "next/image";
14+
import Link from "next/link";
915

1016
type Project = {
11-
id: number
12-
name: string
13-
description: string
14-
image: string
15-
url: string
16-
category: string
17-
technologies: string[]
18-
}
17+
id: number;
18+
name: string;
19+
description: string;
20+
image: string;
21+
url: string;
22+
category: string;
23+
technologies: string[];
24+
};
1925

20-
const showcaseProjects: Project[] = []
26+
const showcaseProjects: Project[] = [];
2127

2228
const EmptyState = () => (
2329
<div className="flex flex-col items-center justify-center py-24">
24-
<span className="text-6xl mb-4 animate-bounce" role="img" aria-label="Rocket">🚀</span>
25-
<h3 className="text-2xl font-semibold mb-2">Cooking something delicious...</h3>
26-
<p className="text-muted-foreground text-lg mb-4">Stay tuned! We are preparing some amazing showcases for you.</p>
27-
<Button asChild size="lg" className="mt-2 animate-pulse">
28-
<a href="mailto:[email protected]" aria-label="Email to get featured">
29-
<Mail className="mr-2 h-4 w-4" />
30-
Get Featured
31-
</a>
32-
</Button>
30+
<span
31+
className="text-6xl mb-4 animate-bounce"
32+
role="img"
33+
aria-label="Rocket"
34+
>
35+
🚀
36+
</span>
37+
<h3 className="text-2xl font-semibold mb-2">
38+
Cooking something Beautiful...
39+
</h3>
40+
<p className="text-muted-foreground text-lg mb-4">
41+
Stay tuned! We are preparing some amazing showcases for you.
42+
</p>
3343
</div>
34-
)
44+
);
3545

3646
export default function Showcase() {
3747
return (
@@ -42,8 +52,9 @@ export default function Showcase() {
4252
Projects in Production
4353
</h2>
4454
<p className="text-lg text-muted-foreground max-w-2xl mx-auto">
45-
Discover how businesses are leveraging our solutions to drive growth and innovation. See real implementations
46-
making a difference across various industries.
55+
Discover how businesses are leveraging our solutions to drive growth
56+
and innovation. See real implementations making a difference across
57+
various industries.
4758
</p>
4859
</div>
4960

@@ -69,7 +80,10 @@ export default function Showcase() {
6980
className="w-full h-48 object-cover group-hover:scale-105 transition-transform duration-300"
7081
/>
7182
<div className="absolute top-3 right-3">
72-
<Badge variant="secondary" className="bg-white/90 text-black shadow">
83+
<Badge
84+
variant="secondary"
85+
className="bg-white/90 text-black shadow"
86+
>
7387
{project.category}
7488
</Badge>
7589
</div>
@@ -86,7 +100,11 @@ export default function Showcase() {
86100
{/* Technologies */}
87101
<div className="flex flex-wrap gap-1 mb-4">
88102
{project.technologies.map((tech: string) => (
89-
<Badge key={tech} variant="outline" className="text-xs border-primary/30">
103+
<Badge
104+
key={tech}
105+
variant="outline"
106+
className="text-xs border-primary/30"
107+
>
90108
{tech}
91109
</Badge>
92110
))}
@@ -116,12 +134,20 @@ export default function Showcase() {
116134
Want Your Project Featured Here?
117135
</h3>
118136
<p className="text-lg text-muted-foreground mb-8">
119-
Join our showcase and let the world see how you&apos;re using our solutions to transform your business. Get in
120-
touch to discuss featuring your implementation.
137+
Join our showcase and let the world see how you&apos;re using our
138+
solutions to transform your business. Get in touch to discuss
139+
featuring your implementation.
121140
</p>
122141
<div className="flex flex-col sm:flex-row gap-4 justify-center">
123-
<Button asChild size="lg" className="inline-flex items-center animate-glow">
124-
<a href="mailto:[email protected]" aria-label="Email to get featured">
142+
<Button
143+
asChild
144+
size="lg"
145+
className="inline-flex items-center animate-glow"
146+
>
147+
<a
148+
href="mailto:[email protected]"
149+
aria-label="Email to get featured"
150+
>
125151
<Mail className="mr-2 h-4 w-4" />
126152
Email Me
127153
</a>
@@ -130,5 +156,5 @@ export default function Showcase() {
130156
</div>
131157
</div>
132158
</div>
133-
)
159+
);
134160
}

components/ui/ResizeAbleNavbar.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,7 @@ interface MobileNavMenuProps {
5252

5353
export const Navbar = ({ children, className }: NavbarProps) => {
5454
const ref = useRef<HTMLDivElement>(null);
55-
const { scrollY } = useScroll({
56-
target: ref,
57-
offset: ["start start", "end start"],
58-
});
55+
const { scrollY } = useScroll();
5956
const [visible, setVisible] = useState<boolean>(false);
6057

6158
useMotionValueEvent(scrollY, "change", (latest) => {

components/vui/PixelLoadingAnimation.tsx

Whitespace-only changes.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export default function MagicalChatInput() {
2+
return <div>MagicalChatInput</div>;
3+
}

components/vui/buttons/SubandSup.tsx

Whitespace-only changes.

0 commit comments

Comments
 (0)