This commit is contained in:
marko-kraemer 2025-04-16 02:34:56 +01:00
parent 5d039cd87c
commit f9e1f5b1ab
3 changed files with 99 additions and 2 deletions

View File

@ -249,7 +249,7 @@ export function NavUserWithTeams({
</>
)}
<DropdownMenuSeparator />
{/* <DropdownMenuSeparator />
<DialogTrigger asChild>
<DropdownMenuItem
className="gap-2 p-2"
@ -262,7 +262,7 @@ export function NavUserWithTeams({
</div>
<div className="text-muted-foreground font-medium">Add team</div>
</DropdownMenuItem>
</DialogTrigger>
</DialogTrigger> */}
<DropdownMenuSeparator />
{/* User Settings Section */}

View File

@ -0,0 +1,31 @@
"use client"
import * as React from "react"
import {
Dialog,
DialogContent,
DialogDescription,
DialogHeader,
DialogTitle,
} from "@/components/ui/dialog"
import NewTeamForm from "@/components/basejump/new-team-form"
interface CreateTeamDialogProps {
open: boolean
onOpenChange: (open: boolean) => void
}
export function CreateTeamDialog({ open, onOpenChange }: CreateTeamDialogProps) {
return (
<Dialog open={open} onOpenChange={onOpenChange}>
<DialogContent className="sm:max-w-[425px] border-subtle dark:border-white/10 bg-white dark:bg-gray-900 rounded-2xl shadow-custom">
<DialogHeader>
<DialogTitle className="text-gray-900 dark:text-white">Create a new team</DialogTitle>
<DialogDescription className="text-gray-600 dark:text-gray-300">
Create a team to collaborate with others.
</DialogDescription>
</DialogHeader>
<NewTeamForm />
</DialogContent>
</Dialog>
)
}

View File

@ -0,0 +1,66 @@
"use client"
import * as React from "react"
import * as TabsPrimitive from "@radix-ui/react-tabs"
import { cn } from "@/lib/utils"
function Tabs({
className,
...props
}: React.ComponentProps<typeof TabsPrimitive.Root>) {
return (
<TabsPrimitive.Root
data-slot="tabs"
className={cn("flex flex-col gap-2", className)}
{...props}
/>
)
}
function TabsList({
className,
...props
}: React.ComponentProps<typeof TabsPrimitive.List>) {
return (
<TabsPrimitive.List
data-slot="tabs-list"
className={cn(
"bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",
className
)}
{...props}
/>
)
}
function TabsTrigger({
className,
...props
}: React.ComponentProps<typeof TabsPrimitive.Trigger>) {
return (
<TabsPrimitive.Trigger
data-slot="tabs-trigger"
className={cn(
"data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
className
)}
{...props}
/>
)
}
function TabsContent({
className,
...props
}: React.ComponentProps<typeof TabsPrimitive.Content>) {
return (
<TabsPrimitive.Content
data-slot="tabs-content"
className={cn("flex-1 outline-none", className)}
{...props}
/>
)
}
export { Tabs, TabsList, TabsTrigger, TabsContent }