Skip to content

Commit 571c016

Browse files
committed
resolve conflicts
1 parent ad037c8 commit 571c016

34 files changed

Lines changed: 4098 additions & 66 deletions

‎apps/codebility/app/(marketing)/hire-a-codev/_components/CodevsOrbitingCirclesBg.tsx‎

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,40 +12,60 @@ const OrbitingCirclesBackground = () => {
1212
<div className="absolute -right-72 z-0 hidden h-full w-full max-w-[60rem] items-center justify-center overflow-hidden rounded-lg md:flex md:shadow-xl">
1313
{/* Inner Circles */}
1414
<OrbitingCircles
15-
className="h-[50px] w-[50px]"
15+
className="h-[90px] w-[90px]"
1616
duration={20}
1717
delay={30}
1818
radius={150}
1919
>
20-
<IconTailwind className="h-full w-full" />
20+
<div
21+
style={{ transform: "scale(5)" }}
22+
className="flex items-center justify-center"
23+
>
24+
<IconTailwind />
25+
</div>
2126
</OrbitingCircles>
2227
<OrbitingCircles
23-
className="h-[50px] w-[50px]"
28+
className="h-[90px] w-[90px]"
2429
duration={20}
2530
delay={20}
2631
radius={150}
2732
>
28-
<IconNodeJS className="h-full w-full" />
33+
<div
34+
style={{ transform: "scale(4)" }}
35+
className="flex items-center justify-center"
36+
>
37+
<IconNodeJS />
38+
</div>
2939
</OrbitingCircles>
3040

3141
{/* Outer Circles (reverse) */}
3242
<OrbitingCircles
33-
className="h-[50px] w-[50px]"
43+
className="!border-1 h-[90px] w-[90px]"
3444
radius={330}
3545
duration={20}
3646
delay={30}
3747
reverse
3848
>
39-
<IconNextJS className="h-full w-full" />
49+
<div
50+
style={{ transform: "scale(5)" }}
51+
className="flex items-center justify-center"
52+
>
53+
<IconNextJS />
54+
</div>
4055
</OrbitingCircles>
4156
<OrbitingCircles
42-
className="h-[50px] w-[50px]"
57+
className="h-[90px] w-[90px]"
4358
radius={330}
4459
duration={20}
4560
delay={20}
4661
reverse
4762
>
48-
<IconReact className="h-full w-full" />
63+
<div
64+
style={{ transform: "scale(3.5)" }}
65+
className="flex items-center justify-center"
66+
>
67+
<IconReact />
68+
</div>
4969
</OrbitingCircles>
5070
</div>
5171
);
Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
"use client";
2+
3+
import { ArrowRight, Briefcase, TrendingUp, Star } from "lucide-react";
4+
import Link from "next/link";
5+
import { Button } from "@codevs/ui/button";
6+
import Box from "@/components/shared/dashboard/Box";
7+
import { useUserStore } from "@/store/codev-store";
8+
9+
export default function DashboardCareerOpportunities() {
10+
const { user } = useUserStore();
11+
12+
// Check if user is a Codev (role_id = 10)
13+
const isCodev = user?.role_id === 10;
14+
15+
return (
16+
<Box className="relative overflow-hidden !bg-white/5 !backdrop-blur-2xl !border-white/10 !shadow-2xl dark:!bg-slate-900/5 dark:!border-slate-400/10 !before:absolute !before:inset-0 !before:bg-gradient-to-br !before:from-white/10 !before:to-transparent !before:pointer-events-none">
17+
{/* Main background gradient */}
18+
<div className="absolute inset-0 bg-gradient-to-br from-customBlue-50/50 to-purple-50/50 dark:from-customBlue-950/20 dark:to-purple-950/20" />
19+
20+
{/* Background gradient decorations */}
21+
<div className="absolute inset-0 overflow-hidden pointer-events-none">
22+
<div className="absolute -top-4 -right-4 h-24 w-24 rounded-full bg-gradient-to-br from-yellow-400/20 to-orange-400/20 blur-xl" />
23+
<div className="absolute -bottom-4 -left-4 h-32 w-32 rounded-full bg-gradient-to-br from-purple-400/20 to-pink-400/20 blur-xl" />
24+
</div>
25+
26+
<div className="relative z-10 p-6">
27+
{/* Header */}
28+
<div className="flex items-center gap-3 mb-4">
29+
<div className="flex h-10 w-10 items-center justify-center rounded-full bg-gradient-to-br from-green-500 to-blue-500 shadow-lg">
30+
<Briefcase className="h-5 w-5 text-white" />
31+
</div>
32+
<div>
33+
<h3 className="text-lg font-semibold text-gray-900 dark:text-white">
34+
Career Opportunities
35+
</h3>
36+
<p className="text-sm text-gray-600 dark:text-gray-400">
37+
Exclusive opportunities for Codevs
38+
</p>
39+
</div>
40+
</div>
41+
42+
{/* Content */}
43+
<div className="space-y-4">
44+
{/* Quick stats */}
45+
<div className="grid grid-cols-2 gap-3">
46+
<div className="group relative overflow-hidden rounded-xl border border-white/10 dark:border-white/5 bg-white/5 backdrop-blur-sm dark:bg-white/3 p-3 shadow-sm transition-all duration-300 hover:shadow-lg hover:scale-[1.02] hover:bg-white/10 dark:hover:bg-white/5">
47+
<div className="flex items-center gap-2">
48+
<TrendingUp className="h-4 w-4 text-green-500" />
49+
<span className="text-xs text-gray-600 dark:text-gray-400">Growth</span>
50+
</div>
51+
<p className="text-sm font-semibold text-gray-900 dark:text-white mt-1">
52+
Career Paths
53+
</p>
54+
</div>
55+
56+
<div className="group relative overflow-hidden rounded-xl border border-white/10 dark:border-white/5 bg-white/5 backdrop-blur-sm dark:bg-white/3 p-3 shadow-sm transition-all duration-300 hover:shadow-lg hover:scale-[1.02] hover:bg-white/10 dark:hover:bg-white/5">
57+
<div className="flex items-center gap-2">
58+
<Star className="h-4 w-4 text-yellow-500" />
59+
<span className="text-xs text-gray-600 dark:text-gray-400">Premium</span>
60+
</div>
61+
<p className="text-sm font-semibold text-gray-900 dark:text-white mt-1">
62+
Opportunities
63+
</p>
64+
</div>
65+
</div>
66+
67+
{/* Description */}
68+
<div className={`rounded-xl p-4 border backdrop-blur-sm ${
69+
isCodev
70+
? "bg-gradient-to-r from-emerald-800/80 to-teal-800/80 dark:from-emerald-800/60 dark:to-teal-900/60 border-white/20 dark:border-white/10"
71+
: "bg-gradient-to-r from-slate-800/80 to-slate-900/80 dark:from-slate-800/60 dark:to-slate-900/60 border-white/20 dark:border-white/10"
72+
}`}>
73+
<p className="text-sm text-white/90 dark:text-white/80 mb-3">
74+
{isCodev ? (
75+
<>🚀 Unlock exclusive career opportunities designed specifically for experienced Codevs.
76+
Explore senior positions, leadership roles, and high-impact projects.</>
77+
) : (
78+
<>🔒 Exclusive career opportunities available for verified Codev members.
79+
Complete your journey to unlock premium career paths and opportunities.</>
80+
)}
81+
</p>
82+
83+
<div className="flex items-center gap-2 text-xs text-white/70 dark:text-white/60">
84+
<span className="inline-flex items-center gap-1">
85+
<span className={`w-2 h-2 rounded-full ${isCodev ? 'bg-white/80' : 'bg-white/40'}`}></span>
86+
Senior Roles
87+
</span>
88+
<span className="inline-flex items-center gap-1">
89+
<span className={`w-2 h-2 rounded-full ${isCodev ? 'bg-white/80' : 'bg-white/40'}`}></span>
90+
Leadership Tracks
91+
</span>
92+
<span className="inline-flex items-center gap-1">
93+
<span className={`w-2 h-2 rounded-full ${isCodev ? 'bg-white/80' : 'bg-white/40'}`}></span>
94+
Remote Work
95+
</span>
96+
</div>
97+
</div>
98+
99+
{/* CTA Button */}
100+
{isCodev ? (
101+
<Link href="/careers" className="block">
102+
<Button
103+
className="w-full bg-gradient-to-r from-green-500 to-blue-500 hover:from-green-600 hover:to-blue-600 text-white shadow-lg hover:shadow-xl transition-all duration-200 group"
104+
size="sm"
105+
>
106+
<span className="flex items-center justify-center gap-2">
107+
Explore Career Opportunities
108+
<ArrowRight className="h-4 w-4 group-hover:translate-x-1 transition-transform" />
109+
</span>
110+
</Button>
111+
</Link>
112+
) : (
113+
<Button
114+
className="w-full bg-gray-400 dark:bg-gray-600 text-gray-600 dark:text-gray-400 cursor-not-allowed shadow-lg"
115+
size="sm"
116+
disabled
117+
>
118+
<span className="flex items-center justify-center gap-2">
119+
🔒 Become a Codev to Access
120+
<ArrowRight className="h-4 w-4" />
121+
</span>
122+
</Button>
123+
)}
124+
125+
{/* Footer note */}
126+
<p className="text-xs text-gray-500 dark:text-gray-400 text-center">
127+
{isCodev
128+
? "Available exclusively for verified Codev members"
129+
: "Complete your journey to become a verified Codev member"
130+
}
131+
</p>
132+
</div>
133+
</div>
134+
</Box>
135+
);
136+
}

‎apps/codebility/app/home/(dashboard)/_components/DashboardWeeklyTop.tsx‎

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -414,26 +414,26 @@ export default function WeeklyTop() {
414414
// Soft skills icons
415415
switch (rank) {
416416
case 1:
417-
return <Trophy className="h-5 w-5 text-emerald-500" />;
417+
return <Trophy className="h-5 w-5 text-emerald-500 drop-shadow-[0_1px_2px_rgba(0,0,0,0.8)]" />;
418418
case 2:
419-
return <Medal className="h-5 w-5 text-teal-400" />;
419+
return <Medal className="h-5 w-5 text-teal-400 drop-shadow-[0_1px_2px_rgba(0,0,0,0.8)]" />;
420420
case 3:
421-
return <Award className="h-5 w-5 text-cyan-400" />;
421+
return <Award className="h-5 w-5 text-cyan-400 drop-shadow-[0_1px_2px_rgba(0,0,0,0.8)]" />;
422422
default:
423-
return <Users className="h-4 w-4 text-gray-400" />;
423+
return <Users className="h-4 w-4 text-gray-400 drop-shadow-[0_1px_2px_rgba(0,0,0,0.5)]" />;
424424
}
425425
}
426426

427427
// Technical skills icons
428428
switch (rank) {
429429
case 1:
430-
return <Trophy className="h-5 w-5 text-yellow-500" />;
430+
return <Trophy className="h-5 w-5 text-yellow-500 drop-shadow-[0_1px_2px_rgba(0,0,0,0.8)]" />;
431431
case 2:
432-
return <Medal className="h-5 w-5 text-gray-400" />;
432+
return <Medal className="h-5 w-5 text-slate-300 dark:text-slate-200 drop-shadow-[0_1px_2px_rgba(0,0,0,0.8)]" />;
433433
case 3:
434-
return <Award className="h-5 w-5 text-amber-600" />;
434+
return <Award className="h-5 w-5 text-amber-600 drop-shadow-[0_1px_2px_rgba(0,0,0,0.8)]" />;
435435
default:
436-
return <Star className="h-4 w-4 text-gray-400" />;
436+
return <Star className="h-4 w-4 text-gray-400 drop-shadow-[0_1px_2px_rgba(0,0,0,0.5)]" />;
437437
}
438438
};
439439

@@ -859,7 +859,7 @@ export default function WeeklyTop() {
859859
<div className="rounded-lg border border-white/20 dark:border-white/10 bg-white/10 backdrop-blur-sm dark:bg-white/5 p-8 text-center">
860860
<div className="flex flex-col items-center gap-4">
861861
<div className="h-16 w-16 rounded-full bg-white/20 backdrop-blur-sm dark:bg-white/10 flex items-center justify-center">
862-
<Trophy className="h-8 w-8 text-gray-400" />
862+
<Trophy className="h-8 w-8 text-slate-400 dark:text-slate-300 drop-shadow-[0_2px_4px_rgba(0,0,0,0.8)]" />
863863
</div>
864864
<div>
865865
<h3 className="text-lg font-semibold text-gray-900 dark:text-gray-100 mb-2">
@@ -914,7 +914,7 @@ export default function WeeklyTop() {
914914
<div className="rounded-lg border border-white/20 dark:border-white/10 bg-white/10 backdrop-blur-sm dark:bg-white/5 p-8 text-center">
915915
<div className="flex flex-col items-center gap-4">
916916
<div className="h-16 w-16 rounded-full bg-purple-100 dark:bg-purple-900/20 flex items-center justify-center">
917-
<Trophy className="h-8 w-8 text-purple-400" />
917+
<Trophy className="h-8 w-8 text-purple-400 drop-shadow-[0_2px_4px_rgba(0,0,0,0.8)]" />
918918
</div>
919919
<div>
920920
<h3 className="text-lg font-semibold text-gray-900 dark:text-gray-100 mb-2">

‎apps/codebility/app/home/_components/DashboardClient.tsx‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import Profile from "../(dashboard)/_components/DashboardProfile";
88
import TokenPoints from "../(dashboard)/_components/DashboardTokenPoints";
99
import WeeklyTop from "../(dashboard)/_components/DashboardWeeklyTop";
1010
import DashboardCompleteProfile from "../(dashboard)/_components/DashboardCompleteProfile";
11+
import DashboardCareerOpportunities from "../(dashboard)/_components/DashboardCareerOpportunities";
1112

1213
export default function DashboardClient() {
1314
const { user } = useUserStore();
@@ -45,7 +46,10 @@ export default function DashboardClient() {
4546
</div>
4647
</div>
4748
<div className="md:basis-[50%] xl:basis-[40%]">
48-
<WeeklyTop />
49+
<div className="flex flex-col gap-4">
50+
<WeeklyTop />
51+
<DashboardCareerOpportunities />
52+
</div>
4953
</div>
5054
</div>
5155
{userIsInactive && (

0 commit comments

Comments
 (0)