mirror of
https://github.com/supabase/supabase.git
synced 2026-10-17 15:19:08 +03:00
moved connect dialog to main header
This commit is contained in:
1 parent
b02c943a21
commit
02f5889e4d
4 files changed
+61
-68
No files matched your search
@@ -50,14 +50,12 @@ const OrganizationDropdown = ({ isNewNav = false }: OrganizationDropdownProps) =
|
||||
<div className="flex items-center">
|
||||
<Popover_Shadcn_ open={open} onOpenChange={setOpen} modal={false}>
|
||||
<PopoverTrigger_Shadcn_ asChild>
|
||||
<div className="flex items-center space-x-2 cursor-pointer">
|
||||
<Button type="text" className="pr-2" iconRight={<ChevronsUpDown />}>
|
||||
<div className="flex items-center space-x-2">
|
||||
<p className={isNewNav ? 'text-sm' : 'text-xs'}>{orgName}</p>
|
||||
{isSuccess && <Badge variant="default">{subscription?.plan.name}</Badge>}
|
||||
</div>
|
||||
</Button>
|
||||
</div>
|
||||
<Button type="text" className="pr-2" iconRight={<ChevronsUpDown />}>
|
||||
<div className="flex items-center space-x-2">
|
||||
<p className={isNewNav ? 'text-sm' : 'text-xs'}>{orgName}</p>
|
||||
{isSuccess && <Badge variant="default">{subscription?.plan.name}</Badge>}
|
||||
</div>
|
||||
</Button>
|
||||
</PopoverTrigger_Shadcn_>
|
||||
<PopoverContent_Shadcn_ className="p-0" side="bottom" align="start">
|
||||
<Command_Shadcn_>
|
||||
|
||||
@@ -117,58 +117,56 @@ const ProjectDropdown = ({ isNewNav = false }: ProjectDropdownProps) => {
|
||||
}
|
||||
|
||||
return IS_PLATFORM ? (
|
||||
<div className="flex items-center px-2">
|
||||
<Popover_Shadcn_ open={open} onOpenChange={setOpen} modal={false}>
|
||||
<PopoverTrigger_Shadcn_ asChild>
|
||||
<Button type="text" className="pr-2" iconRight={<ChevronsUpDown />}>
|
||||
<div className="flex items-center space-x-2">
|
||||
<p className={isNewNav ? 'text-sm' : 'text-xs'}>{selectedProject?.name}</p>
|
||||
</div>
|
||||
</Button>
|
||||
</PopoverTrigger_Shadcn_>
|
||||
<PopoverContent_Shadcn_ className="p-0" side="bottom" align="start">
|
||||
<Command_Shadcn_>
|
||||
<CommandInput_Shadcn_ placeholder="Find project..." />
|
||||
<CommandList_Shadcn_>
|
||||
<CommandEmpty_Shadcn_>No projects found</CommandEmpty_Shadcn_>
|
||||
<CommandGroup_Shadcn_>
|
||||
<ScrollArea className={(projects || []).length > 7 ? 'h-[210px]' : ''}>
|
||||
{projects?.map((project) => (
|
||||
<ProjectLink key={project.ref} project={project} setOpen={setOpen} />
|
||||
))}
|
||||
</ScrollArea>
|
||||
</CommandGroup_Shadcn_>
|
||||
{projectCreationEnabled && (
|
||||
<>
|
||||
<CommandSeparator_Shadcn_ />
|
||||
<CommandGroup_Shadcn_>
|
||||
<CommandItem_Shadcn_
|
||||
className="cursor-pointer w-full"
|
||||
onSelect={() => {
|
||||
<Popover_Shadcn_ open={open} onOpenChange={setOpen} modal={false}>
|
||||
<PopoverTrigger_Shadcn_ asChild>
|
||||
<Button type="text" className="pr-2" iconRight={<ChevronsUpDown />}>
|
||||
<div className="flex items-center space-x-2">
|
||||
<p className={isNewNav ? 'text-sm' : 'text-xs'}>{selectedProject?.name}</p>
|
||||
</div>
|
||||
</Button>
|
||||
</PopoverTrigger_Shadcn_>
|
||||
<PopoverContent_Shadcn_ className="p-0" side="bottom" align="start">
|
||||
<Command_Shadcn_>
|
||||
<CommandInput_Shadcn_ placeholder="Find project..." />
|
||||
<CommandList_Shadcn_>
|
||||
<CommandEmpty_Shadcn_>No projects found</CommandEmpty_Shadcn_>
|
||||
<CommandGroup_Shadcn_>
|
||||
<ScrollArea className={(projects || []).length > 7 ? 'h-[210px]' : ''}>
|
||||
{projects?.map((project) => (
|
||||
<ProjectLink key={project.ref} project={project} setOpen={setOpen} />
|
||||
))}
|
||||
</ScrollArea>
|
||||
</CommandGroup_Shadcn_>
|
||||
{projectCreationEnabled && (
|
||||
<>
|
||||
<CommandSeparator_Shadcn_ />
|
||||
<CommandGroup_Shadcn_>
|
||||
<CommandItem_Shadcn_
|
||||
className="cursor-pointer w-full"
|
||||
onSelect={() => {
|
||||
setOpen(false)
|
||||
router.push(`/new/${selectedOrganization?.slug}`)
|
||||
}}
|
||||
onClick={() => setOpen(false)}
|
||||
>
|
||||
<Link
|
||||
href={`/new/${selectedOrganization?.slug}`}
|
||||
onClick={() => {
|
||||
setOpen(false)
|
||||
router.push(`/new/${selectedOrganization?.slug}`)
|
||||
}}
|
||||
onClick={() => setOpen(false)}
|
||||
className="w-full flex items-center gap-2"
|
||||
>
|
||||
<Link
|
||||
href={`/new/${selectedOrganization?.slug}`}
|
||||
onClick={() => {
|
||||
setOpen(false)
|
||||
}}
|
||||
className="w-full flex items-center gap-2"
|
||||
>
|
||||
<Plus size={14} strokeWidth={1.5} />
|
||||
<p>New project</p>
|
||||
</Link>
|
||||
</CommandItem_Shadcn_>
|
||||
</CommandGroup_Shadcn_>
|
||||
</>
|
||||
)}
|
||||
</CommandList_Shadcn_>
|
||||
</Command_Shadcn_>
|
||||
</PopoverContent_Shadcn_>
|
||||
</Popover_Shadcn_>
|
||||
</div>
|
||||
<Plus size={14} strokeWidth={1.5} />
|
||||
<p>New project</p>
|
||||
</Link>
|
||||
</CommandItem_Shadcn_>
|
||||
</CommandGroup_Shadcn_>
|
||||
</>
|
||||
)}
|
||||
</CommandList_Shadcn_>
|
||||
</Command_Shadcn_>
|
||||
</PopoverContent_Shadcn_>
|
||||
</Popover_Shadcn_>
|
||||
) : (
|
||||
<Button type="text">
|
||||
<span className={isNewNav ? 'text-sm' : 'text-xs'}>{selectedProject?.name}</span>
|
||||
|
||||
@@ -17,6 +17,7 @@ import BreadcrumbsView from './BreadcrumbsView'
|
||||
import { FeedbackDropdown } from './FeedbackDropdown'
|
||||
import HelpPopover from './HelpPopover'
|
||||
import NotificationsPopoverV2 from './NotificationsPopoverV2/NotificationsPopover'
|
||||
import Connect from 'components/interfaces/Home/Connect/Connect'
|
||||
|
||||
const LayoutHeader = ({ customHeaderComponents, breadcrumbs = [], headerBorder = true }: any) => {
|
||||
const { ref: projectRef } = useParams()
|
||||
@@ -48,12 +49,10 @@ const LayoutHeader = ({ customHeaderComponents, breadcrumbs = [], headerBorder =
|
||||
headerBorder ? 'border-b border-default' : ''
|
||||
}`}
|
||||
>
|
||||
<div className="-ml-2 flex items-center text-sm">
|
||||
{/* Organization is selected */}
|
||||
<div className="-ml-2 flex items-center text-sm gap-3">
|
||||
{projectRef && (
|
||||
<>
|
||||
<div className="flex items-center">
|
||||
<OrganizationDropdown />
|
||||
|
||||
{projectRef && (
|
||||
<>
|
||||
<span className="text-border-stronger">
|
||||
@@ -71,9 +70,7 @@ const LayoutHeader = ({ customHeaderComponents, breadcrumbs = [], headerBorder =
|
||||
<path d="M16 3.549L7.12 20.600"></path>
|
||||
</svg>
|
||||
</span>
|
||||
|
||||
<ProjectDropdown />
|
||||
|
||||
{exceedingLimits && (
|
||||
<div className="ml-2">
|
||||
<Link href={`/org/${selectedOrganization?.slug}/usage`}>
|
||||
@@ -83,8 +80,7 @@ const LayoutHeader = ({ customHeaderComponents, breadcrumbs = [], headerBorder =
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
|
||||
{selectedProject && (
|
||||
{selectedProject && isBranchingEnabled && (
|
||||
<>
|
||||
<span className="text-border-stronger">
|
||||
<svg
|
||||
@@ -101,11 +97,13 @@ const LayoutHeader = ({ customHeaderComponents, breadcrumbs = [], headerBorder =
|
||||
<path d="M16 3.549L7.12 20.600"></path>
|
||||
</svg>
|
||||
</span>
|
||||
{isBranchingEnabled ? <BranchDropdown /> : <EnableBranchingButton />}
|
||||
{isBranchingEnabled && <BranchDropdown />}
|
||||
</>
|
||||
)}
|
||||
</>
|
||||
</div>
|
||||
)}
|
||||
<Connect />
|
||||
{!isBranchingEnabled && <EnableBranchingButton />}
|
||||
|
||||
{/* Additional breadcrumbs are supplied */}
|
||||
<BreadcrumbsView defaultValue={breadcrumbs} />
|
||||
|
||||
@@ -56,7 +56,6 @@ const Home: NextPageWithLayout = () => {
|
||||
<div className="flex items-center gap-x-3">
|
||||
{project?.status === PROJECT_STATUS.ACTIVE_HEALTHY && <SecurityStatus />}
|
||||
{IS_PLATFORM && project?.status === PROJECT_STATUS.ACTIVE_HEALTHY && <ServiceStatus />}
|
||||
{IS_PLATFORM && project?.status === PROJECT_STATUS.ACTIVE_HEALTHY && <Connect />}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in new issue
Block a user