diff --git a/frontend/src/components/ui/BountyGrid.tsx b/frontend/src/components/ui/BountyGrid.tsx new file mode 100644 index 0000000..04935ca --- /dev/null +++ b/frontend/src/components/ui/BountyGrid.tsx @@ -0,0 +1,31 @@ +'use client'; + +import React from 'react'; +import { cn } from '@/lib/utils'; + +export interface BountyGridProps { + children: React.ReactNode; + className?: string; +} + +/** + * Responsive grid layout for bounty cards. + * - Mobile (<640px): 1 column + * - Tablet (≥640px): 2 columns + * - Desktop (≥1024px): 3 columns + * - Wide (≥1280px): 4 columns + */ +export function BountyGrid({ children, className }: BountyGridProps) { + return ( +
+ {children} +
+ ); +} + +export default BountyGrid; diff --git a/frontend/src/components/ui/index.ts b/frontend/src/components/ui/index.ts index 531166f..35fd882 100644 --- a/frontend/src/components/ui/index.ts +++ b/frontend/src/components/ui/index.ts @@ -14,3 +14,5 @@ export { DropdownMenuItem, } from "./DropdownMenu"; export { Pagination } from "./Pagination"; +export { DataTable } from "./DataTable"; +export { BountyGrid } from "./BountyGrid";