Files
supabase/apps/studio/components/ui/Resource/ResourceItem.tsx
T
Joshen LimandSaxon Fletcher 891fa9b2e6 Auth Settings IA Update - Sign In / Up (#33579)
* page components

* page component changes

* settings but broken saving

* rvert

* use sheet for provider

* styling

* remove things

* Some refactoring and fixing, added JSDocs to layouts

* Smol refactor

* Fix

* Update JSDocs

* updated scaffolding

* Clean up

* Spelling

* Clean up FormFieldWrappers

* One last clean up

* Smol CSS tweak

---------

Co-authored-by: Saxon Fletcher <saxonafletcher@gmail.com>
2025-03-05 15:39:00 +01:00

38 lines
1.1 KiB
TypeScript

import { ChevronRight } from 'lucide-react'
import { forwardRef, HTMLAttributes, ReactNode } from 'react'
import { CardContent, cn } from 'ui'
export interface ResourceItemProps extends HTMLAttributes<HTMLDivElement> {
media?: ReactNode
meta?: ReactNode
onClick?: () => void
children?: ReactNode
}
export const ResourceItem = forwardRef<HTMLDivElement, ResourceItemProps>(
({ media, meta, onClick, children, className, ...props }, ref) => {
return (
<CardContent
ref={ref}
className={cn(
'flex items-center justify-between text-sm gap-4',
onClick && 'cursor-pointer hover:bg-surface-200',
className
)}
onClick={onClick}
{...props}
>
{media && (
<div className="text-foreground-light flex items-center justify-center">{media}</div>
)}
<div className="flex-1">{children}</div>
{meta && <div>{meta}</div>}
{onClick && <ChevronRight strokeWidth={1.5} size={16} />}
</CardContent>
)
}
)
ResourceItem.displayName = 'ResourceItem'