diff --git a/apps/web/app/globals.css b/apps/web/app/globals.css index 3d998b88..ed65288b 100644 --- a/apps/web/app/globals.css +++ b/apps/web/app/globals.css @@ -91,6 +91,18 @@ .flex-between { @apply flex items-center justify-between; } + + .gradient-text { + @apply bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent; + } + + .card-gradient { + @apply bg-gradient-to-br from-white via-blue-50/30 to-purple-50/30 dark:from-neutral-900 dark:via-blue-950/20 dark:to-purple-950/20; + } + + .glass-effect { + @apply bg-white/80 dark:bg-neutral-900/80 backdrop-blur-2xl border border-primary/10; + } } * { diff --git a/apps/web/components/Appbar.tsx b/apps/web/components/Appbar.tsx index 9a1cbd24..a4990700 100644 --- a/apps/web/components/Appbar.tsx +++ b/apps/web/components/Appbar.tsx @@ -17,21 +17,24 @@ export const Appbar = () => { initial={{ y: -20, opacity: 0 }} animate={{ y: 0, opacity: 1 }} transition={{ duration: 0.5, ease: "easeInOut", type: "spring", damping: 10 }} - className="flex w-full justify-between mx-auto bg-secondary/15 shadow-lg shadow-neutral-600/5 backdrop-blur-lg border border-primary/10 p-6 rounded-2xl" + className="flex w-full justify-between mx-auto bg-white/80 dark:bg-neutral-900/80 shadow-xl shadow-blue-500/5 dark:shadow-blue-500/10 backdrop-blur-2xl border border-primary/10 hover:border-blue-500/20 transition-all duration-300 p-5 md:p-6 rounded-3xl" > - - Logo - + +
+
+ Logo +
+ 100xProjects -
+
{!user ? ( diff --git a/apps/web/components/Hero.tsx b/apps/web/components/Hero.tsx index 82eafc08..5c87ed92 100644 --- a/apps/web/components/Hero.tsx +++ b/apps/web/components/Hero.tsx @@ -40,7 +40,8 @@ export default function Hero({ tracks }: { tracks: TrackPros[] }) { }; return ( -
+
+
-
- +
+ Welcome to -

- +

+ 100x {" "} - Projects. + Projects

-

- A platform where you'll find the right content to help you improve your skills and grow your knowledge. +

+ A curated platform to master coding through structured tracks and hands-on projects. Level up your skills, one challenge at a time.

diff --git a/apps/web/components/TrackCard-2.tsx b/apps/web/components/TrackCard-2.tsx index 9e8c2e02..aa38d8d4 100644 --- a/apps/web/components/TrackCard-2.tsx +++ b/apps/web/components/TrackCard-2.tsx @@ -67,27 +67,30 @@ export function TrackCard2({ track }: { track: TrackCardProps }) { initial="hidden" animate={controls} variants={variants} - className="bg-primary/5 flex cursor-pointer flex-row items-start justify-between gap-4 rounded-xl p-4 backdrop-blur-xl transition-all duration-300 hover:-translate-y-1 md:items-center" + className="group relative bg-gradient-to-br from-white via-blue-50/30 to-purple-50/30 dark:from-neutral-900 dark:via-blue-950/20 dark:to-purple-950/20 border border-primary/10 hover:border-blue-500/30 dark:hover:border-blue-400/30 flex cursor-pointer flex-row items-start justify-between gap-4 rounded-2xl p-5 backdrop-blur-xl transition-all duration-500 hover:-translate-y-2 hover:shadow-2xl hover:shadow-blue-500/10 dark:hover:shadow-blue-500/20 md:items-center overflow-hidden" onClick={handleTrackClick} > - {track.title} -
-
-

{track.title}

- {track.categories.map((item) => ( -

- {item.category.category} -

- ))} +
+ {track.title} +
+
+

{track.title}

+
+ {track.categories.map((item) => ( + + {item.category.category} + + ))} +
-
-

+

+

{track.problems.length} Chapters

-

+

{formatDistanceToNow(new Date(track.createdAt), { addSuffix: true })}

diff --git a/apps/web/components/Tracks.tsx b/apps/web/components/Tracks.tsx index 9baa3c08..a1b814a6 100644 --- a/apps/web/components/Tracks.tsx +++ b/apps/web/components/Tracks.tsx @@ -119,34 +119,33 @@ export const Tracks = ({ tracks, categories }: TracksWithCategoriesProps) => { initial={{ y: -20, opacity: 0 }} animate={{ y: 0, opacity: 1 }} transition={{ duration: 0.5, ease: "easeInOut", type: "spring", damping: 10, delay: 0.5 }} - className="flex max-w-5xl flex-col gap-4 w-full mx-auto p-4" + className="flex max-w-6xl flex-col gap-8 w-full mx-auto p-4 md:p-6" id="tracks" >
-
+
- +
-
- {/* Filter by Categories */} -
+
+
- {/* Sort */}