The weeb for the next gen discord boat - Wamellow wamellow.com
bot discord
3
fork

Configure Feed

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

fix dialog style

Luna bf7b0e98 c75525b9

+109 -88
+1 -1
components/ui/button.tsx
··· 13 13 variant: { 14 14 default: "bg-wamellow text-primary-foreground hover:bg-wamellow-200", 15 15 destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90", 16 - success: "bg-success text-success-foreground hover:bg-success/90", 16 + success: "bg-green-400 text-neutral-800 hover:bg-green-400/90", 17 17 secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80", 18 18 flat: "bg-secondary/60 text-secondary-foreground hover:bg-secondary/50", 19 19 ghost: "hover:bg-wamellow text-accent-foreground/85 hover:text-accent-foreground",
+108 -87
components/ui/dialog.tsx
··· 2 2 3 3 import { cn } from "@/utils/cn"; 4 4 import * as DialogPrimitive from "@radix-ui/react-dialog"; 5 - import { X } from "lucide-react"; 5 + import { XIcon } from "lucide-react"; 6 6 import * as React from "react"; 7 7 8 - const Dialog = DialogPrimitive.Root; 8 + function Dialog({ 9 + ...props 10 + }: React.ComponentProps<typeof DialogPrimitive.Root>) { 11 + return <DialogPrimitive.Root data-slot="dialog" {...props} />; 12 + } 9 13 10 - const DialogTrigger = DialogPrimitive.Trigger; 14 + function DialogTrigger({ 15 + ...props 16 + }: React.ComponentProps<typeof DialogPrimitive.Trigger>) { 17 + return <DialogPrimitive.Trigger data-slot="dialog-trigger" {...props} />; 18 + } 11 19 12 - const DialogPortal = DialogPrimitive.Portal; 20 + function DialogPortal({ 21 + ...props 22 + }: React.ComponentProps<typeof DialogPrimitive.Portal>) { 23 + return <DialogPrimitive.Portal data-slot="dialog-portal" {...props} />; 24 + } 13 25 14 - const DialogClose = DialogPrimitive.Close; 26 + function DialogClose({ 27 + ...props 28 + }: React.ComponentProps<typeof DialogPrimitive.Close>) { 29 + return <DialogPrimitive.Close data-slot="dialog-close" {...props} />; 30 + } 15 31 16 - const DialogOverlay = React.forwardRef< 17 - React.ElementRef<typeof DialogPrimitive.Overlay>, 18 - React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay> 19 - >(({ className, ...props }, ref) => ( 20 - <DialogPrimitive.Overlay 21 - ref={ref} 22 - className={cn( 23 - "fixed inset-0 z-50 backdrop-brightness-25 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", 24 - className 25 - )} 26 - {...props} 27 - /> 28 - )); 29 - DialogOverlay.displayName = DialogPrimitive.Overlay.displayName; 32 + function DialogOverlay({ 33 + className, 34 + ...props 35 + }: React.ComponentProps<typeof DialogPrimitive.Overlay>) { 36 + return ( 37 + <DialogPrimitive.Overlay 38 + data-slot="dialog-overlay" 39 + className={cn( 40 + "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 backdrop-brightness-25 backdrop-blur-sm", 41 + className 42 + )} 43 + {...props} 44 + /> 45 + ); 46 + } 47 + 48 + function DialogContent({ 49 + className, 50 + children, 51 + showCloseButton = true, 52 + ...props 53 + }: React.ComponentProps<typeof DialogPrimitive.Content> & { 54 + showCloseButton?: boolean; 55 + }) { 56 + return ( 57 + <DialogPortal data-slot="dialog-portal"> 58 + <DialogOverlay /> 59 + <DialogPrimitive.Content 60 + data-slot="dialog-content" 61 + className={cn( 62 + "bg-popover data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg p-6 shadow-lg duration-200 sm:max-w-lg text-primary-foreground", 63 + className 64 + )} 65 + {...props} 66 + > 67 + {children} 68 + {showCloseButton && ( 69 + <DialogPrimitive.Close 70 + data-slot="dialog-close" 71 + className="bg-wamellow p-1 ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4.5 right-5.5 rounded-lg opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4" 72 + > 73 + <XIcon /> 74 + <span className="sr-only">Close</span> 75 + </DialogPrimitive.Close> 76 + )} 77 + </DialogPrimitive.Content> 78 + </DialogPortal> 79 + ); 80 + } 81 + 82 + function DialogHeader({ className, ...props }: React.ComponentProps<"div">) { 83 + return ( 84 + <div 85 + data-slot="dialog-header" 86 + className={cn("flex flex-col gap-2 text-center sm:text-left", className)} 87 + {...props} 88 + /> 89 + ); 90 + } 30 91 31 - const DialogContent = React.forwardRef< 32 - React.ElementRef<typeof DialogPrimitive.Content>, 33 - React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> 34 - >(({ className, children, ...props }, ref) => ( 35 - <DialogPortal> 36 - <DialogOverlay /> 37 - <DialogPrimitive.Content 38 - ref={ref} 92 + function DialogFooter({ className, ...props }: React.ComponentProps<"div">) { 93 + return ( 94 + <div 95 + data-slot="dialog-footer" 39 96 className={cn( 40 - "fixed left-[50%] top-[50%] z-50 w-full max-w-lg translate-x-[-50%] translate-y-[-50%] bg-popover p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] rounded-xl", 97 + "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", 41 98 className 42 99 )} 43 100 {...props} 44 - > 45 - {children} 46 - <DialogPrimitive.Close className="absolute right-4 top-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground"> 47 - <X className="h-4 w-4" /> 48 - <span className="sr-only">Close</span> 49 - </DialogPrimitive.Close> 50 - </DialogPrimitive.Content> 51 - </DialogPortal> 52 - )); 53 - DialogContent.displayName = DialogPrimitive.Content.displayName; 101 + /> 102 + ); 103 + } 54 104 55 - const DialogHeader = ({ 105 + function DialogTitle({ 56 106 className, 57 107 ...props 58 - }: React.HTMLAttributes<HTMLDivElement>) => ( 59 - <div 60 - className={cn( 61 - "flex flex-col space-y-4", 62 - className 63 - )} 64 - {...props} 65 - /> 66 - ); 67 - DialogHeader.displayName = "DialogHeader"; 108 + }: React.ComponentProps<typeof DialogPrimitive.Title>) { 109 + return ( 110 + <DialogPrimitive.Title 111 + data-slot="dialog-title" 112 + className={cn("text-lg leading-none font-semibold text-white mb-2", className)} 113 + {...props} 114 + /> 115 + ); 116 + } 68 117 69 - const DialogFooter = ({ 118 + function DialogDescription({ 70 119 className, 71 120 ...props 72 - }: React.HTMLAttributes<HTMLDivElement>) => ( 73 - <div 74 - className={cn( 75 - "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2 pt-2", 76 - className 77 - )} 78 - {...props} 79 - /> 80 - ); 81 - DialogFooter.displayName = "DialogFooter"; 82 - 83 - const DialogTitle = React.forwardRef< 84 - React.ElementRef<typeof DialogPrimitive.Title>, 85 - React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title> 86 - >(({ className, ...props }, ref) => ( 87 - <DialogPrimitive.Title 88 - ref={ref} 89 - className={cn( 90 - "text-xl font-semibold leading-none", 91 - className 92 - )} 93 - {...props} 94 - /> 95 - )); 96 - DialogTitle.displayName = DialogPrimitive.Title.displayName; 97 - 98 - const DialogDescription = React.forwardRef< 99 - React.ElementRef<typeof DialogPrimitive.Description>, 100 - React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description> 101 - >(({ className, ...props }, ref) => ( 102 - <DialogPrimitive.Description 103 - ref={ref} 104 - className={cn("text-sm text-muted-foreground", className)} 105 - {...props} 106 - /> 107 - )); 108 - DialogDescription.displayName = DialogPrimitive.Description.displayName; 121 + }: React.ComponentProps<typeof DialogPrimitive.Description>) { 122 + return ( 123 + <DialogPrimitive.Description 124 + data-slot="dialog-description" 125 + className={cn("text-muted-foreground text-sm", className)} 126 + {...props} 127 + /> 128 + ); 129 + } 109 130 110 131 export { 111 132 Dialog,