Fork of atp.tools as a universal profile for people on the ATmosphere
3
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 60 lines 2.0 kB view raw
1"use client" 2 3import * as React from "react" 4import * as AccordionPrimitive from "@radix-ui/react-accordion" 5import { ChevronDown } from "lucide-react" 6 7import { cn } from "@/lib/utils" 8 9const Accordion = AccordionPrimitive.Root 10 11const AccordionItem = React.forwardRef< 12 React.ElementRef<typeof AccordionPrimitive.Item>, 13 React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item> 14>(({ className, ...props }, ref) => ( 15 <AccordionPrimitive.Item 16 ref={ref} 17 className={cn("border-b", className)} 18 {...props} 19 /> 20)) 21AccordionItem.displayName = "AccordionItem" 22 23const AccordionTrigger = React.forwardRef< 24 React.ElementRef<typeof AccordionPrimitive.Trigger>, 25 React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger> 26>(({ className, children, ...props }, ref) => ( 27 <AccordionPrimitive.Header className="flex"> 28 <AccordionPrimitive.Trigger 29 ref={ref} 30 className={cn( 31 "flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180", 32 className 33 )} 34 {...props} 35 > 36 {children} 37 <ChevronDown className="h-4 w-4 transition-transform duration-200" /> 38 </AccordionPrimitive.Trigger> 39 </AccordionPrimitive.Header> 40)) 41AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName 42 43const AccordionContent = React.forwardRef< 44 React.ElementRef<typeof AccordionPrimitive.Content>, 45 React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content> 46>(({ className, children, ...props }, ref) => ( 47 <AccordionPrimitive.Content 48 ref={ref} 49 className={cn( 50 "overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down", 51 className 52 )} 53 {...props} 54 > 55 <div className="pb-4 pt-0">{children}</div> 56 </AccordionPrimitive.Content> 57)) 58AccordionContent.displayName = AccordionPrimitive.Content.displayName 59 60export { Accordion, AccordionItem, AccordionTrigger, AccordionContent }