From 213c6e457647c61b954e458408bd5920c396991e Mon Sep 17 00:00:00 2001 From: Ishaan Dey Date: Tue, 16 Apr 2024 16:57:15 -0400 Subject: [PATCH] start project cards --- app/globals.css | 12 +++++ components/dashboard/index.tsx | 24 +++++++-- components/dashboard/projectCard.tsx | 22 ++++++++ components/ui/card.tsx | 76 ++++++++++++++++++++++++++++ 4 files changed, 129 insertions(+), 5 deletions(-) create mode 100644 components/dashboard/projectCard.tsx create mode 100644 components/ui/card.tsx diff --git a/app/globals.css b/app/globals.css index 3635c1f..4c1df78 100644 --- a/app/globals.css +++ b/app/globals.css @@ -85,4 +85,16 @@ .gradient-button-bg > div:hover { background: radial-gradient(circle at bottom, #312e81 0%, hsl(0 0% 3.9%) 130%); /* violet 900 -> bg */ +} + +.gradient-project-card-bg { + background: radial-gradient(circle at bottom right, #a5b4fc -15%, #3730a3 25%, hsl(0 0% 3.9%) 50%); /* violet 300 -> 800 */ +} + +.gradient-project-card { + background: radial-gradient(circle at bottom right, #312e81 -50%, hsl(0 0% 3.9%) 50%); /* violet 900 -> bg */ +} + +.gradient-project-card-bg > div:hover { + background: radial-gradient(circle at bottom right, #312e81 -50%, hsl(0 0% 3.9%) 60%); /* violet 900 -> bg */ } \ No newline at end of file diff --git a/components/dashboard/index.tsx b/components/dashboard/index.tsx index 7915ff0..1096f0f 100644 --- a/components/dashboard/index.tsx +++ b/components/dashboard/index.tsx @@ -4,9 +4,11 @@ import CustomButton from "@/components/ui/customButton" import { Button } from "@/components/ui/button" import { Bolt, + Clock, Code2, FolderDot, FolderOpenDot, + Globe, HelpCircle, Plus, Settings, @@ -14,6 +16,8 @@ import { Users, } from "lucide-react" import { useState } from "react" +import { Card } from "../ui/card" +import ProjectCard from "./projectCard" type TScreen = "projects" | "shared" | "settings" | "search" @@ -27,7 +31,7 @@ export default function Dashboard() { return (
-
+
@@ -75,10 +79,20 @@ export default function Dashboard() {
-
-

- A Collaborative, AI-Powered, Auto-Scaling Code Editor -

+
+ +
+ React Project 1 +
+
+
+ Public +
+
+ 3d ago +
+
+
) diff --git a/components/dashboard/projectCard.tsx b/components/dashboard/projectCard.tsx new file mode 100644 index 0000000..7747556 --- /dev/null +++ b/components/dashboard/projectCard.tsx @@ -0,0 +1,22 @@ +import { cn } from "@/lib/utils" + +export default function ProjectCard({ + children, + className, +}: { + children: React.ReactNode + className?: string +}) { + return ( +
+
+ {children} +
+
+ ) +} diff --git a/components/ui/card.tsx b/components/ui/card.tsx new file mode 100644 index 0000000..77e9fb7 --- /dev/null +++ b/components/ui/card.tsx @@ -0,0 +1,76 @@ +import * as React from "react" + +import { cn } from "@/lib/utils" + +const Card = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +
+)) +Card.displayName = "Card" + +const CardHeader = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +
+)) +CardHeader.displayName = "CardHeader" + +const CardTitle = React.forwardRef< + HTMLParagraphElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +

+)) +CardTitle.displayName = "CardTitle" + +const CardDescription = React.forwardRef< + HTMLParagraphElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +

+)) +CardDescription.displayName = "CardDescription" + +const CardContent = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +

+)) +CardContent.displayName = "CardContent" + +const CardFooter = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +
+)) +CardFooter.displayName = "CardFooter" + +export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }