Skip to content

Commit dbfc400

Browse files
committed
general structure
1 parent dff2c82 commit dbfc400

File tree

30 files changed

+4971
-384
lines changed

30 files changed

+4971
-384
lines changed

package-lock.json

Lines changed: 846 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,27 @@
1111
},
1212
"dependencies": {
1313
"@hookform/resolvers": "^3.9.0",
14+
"@radix-ui/react-avatar": "^1.1.0",
15+
"@radix-ui/react-dialog": "^1.1.1",
1416
"@radix-ui/react-dropdown-menu": "^2.1.1",
1517
"@radix-ui/react-label": "^2.1.0",
18+
"@radix-ui/react-popover": "^1.1.1",
19+
"@radix-ui/react-scroll-area": "^1.1.0",
1620
"@radix-ui/react-select": "^2.1.1",
21+
"@radix-ui/react-separator": "^1.1.0",
1722
"@radix-ui/react-slot": "^1.1.0",
1823
"@radix-ui/react-switch": "^1.1.0",
1924
"@radix-ui/react-toast": "^1.2.1",
2025
"class-variance-authority": "^0.7.0",
2126
"clsx": "^2.1.1",
27+
"cmdk": "^1.0.0",
2228
"lucide-react": "^0.408.0",
2329
"react": "^18.3.1",
2430
"react-dom": "^18.3.1",
2531
"react-hook-form": "^7.52.1",
32+
"react-resizable-panels": "^2.0.21",
2633
"react-router-dom": "^6.25.1",
34+
"recharts": "^2.12.7",
2735
"tailwind-merge": "^2.4.0",
2836
"tailwindcss-animate": "^1.0.7",
2937
"zod": "^3.23.8"

src/components/ui/avatar.tsx

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
import * as React from "react"
2+
import * as AvatarPrimitive from "@radix-ui/react-avatar"
3+
4+
import { cn } from "@/lib/utils"
5+
6+
const Avatar = React.forwardRef<
7+
React.ElementRef<typeof AvatarPrimitive.Root>,
8+
React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>
9+
>(({ className, ...props }, ref) => (
10+
<AvatarPrimitive.Root
11+
ref={ref}
12+
className={cn(
13+
"relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",
14+
className
15+
)}
16+
{...props}
17+
/>
18+
))
19+
Avatar.displayName = AvatarPrimitive.Root.displayName
20+
21+
const AvatarImage = React.forwardRef<
22+
React.ElementRef<typeof AvatarPrimitive.Image>,
23+
React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>
24+
>(({ className, ...props }, ref) => (
25+
<AvatarPrimitive.Image
26+
ref={ref}
27+
className={cn("aspect-square h-full w-full", className)}
28+
{...props}
29+
/>
30+
))
31+
AvatarImage.displayName = AvatarPrimitive.Image.displayName
32+
33+
const AvatarFallback = React.forwardRef<
34+
React.ElementRef<typeof AvatarPrimitive.Fallback>,
35+
React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>
36+
>(({ className, ...props }, ref) => (
37+
<AvatarPrimitive.Fallback
38+
ref={ref}
39+
className={cn(
40+
"flex h-full w-full items-center justify-center rounded-full bg-muted",
41+
className
42+
)}
43+
{...props}
44+
/>
45+
))
46+
AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName
47+
48+
export { Avatar, AvatarImage, AvatarFallback }

src/components/ui/badge.tsx

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import * as React from "react"
2+
import { cva, type VariantProps } from "class-variance-authority"
3+
4+
import { cn } from "@/lib/utils"
5+
6+
const badgeVariants = cva(
7+
"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
8+
{
9+
variants: {
10+
variant: {
11+
default:
12+
"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",
13+
secondary:
14+
"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
15+
destructive:
16+
"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
17+
outline: "text-foreground",
18+
},
19+
},
20+
defaultVariants: {
21+
variant: "default",
22+
},
23+
}
24+
)
25+
26+
export interface BadgeProps
27+
extends React.HTMLAttributes<HTMLDivElement>,
28+
VariantProps<typeof badgeVariants> {}
29+
30+
function Badge({ className, variant, ...props }: BadgeProps) {
31+
return (
32+
<div className={cn(badgeVariants({ variant }), className)} {...props} />
33+
)
34+
}
35+
36+
export { Badge, badgeVariants }

0 commit comments

Comments
 (0)