minor updates

This commit is contained in:
pablodanswer
2025-02-05 11:32:03 -08:00
parent c58a7ef819
commit 737e37170d
4 changed files with 49 additions and 28 deletions

View File

@@ -198,7 +198,7 @@ def _check_if_cc_pairs_are_owned_by_groups(
ids=missing_cc_pair_ids, ids=missing_cc_pair_ids,
) )
for cc_pair in cc_pairs: for cc_pair in cc_pairs:
if cc_pair.access_type != AccessType.PUBLIC: if cc_pair.access_type == AccessType.PRIVATE:
raise ValueError( raise ValueError(
f"Connector Credential Pair with ID: '{cc_pair.id}'" f"Connector Credential Pair with ID: '{cc_pair.id}'"
" is not owned by the specified groups" " is not owned by the specified groups"

View File

@@ -74,8 +74,8 @@ export const AddConnectorForm: React.FC<AddConnectorFormProps> = ({
.map((userGroupCCPair) => userGroupCCPair.id) .map((userGroupCCPair) => userGroupCCPair.id)
.includes(ccPair.cc_pair_id) .includes(ccPair.cc_pair_id)
) )
// remove public docs, since they don't make sense as part of a group // remove public and synced docs, since they don't make sense as part of a group
.filter((ccPair) => !(ccPair.access_type === "public")) .filter((ccPair) => ccPair.access_type === "private")
.map((ccPair) => { .map((ccPair) => {
return { return {
name: ccPair.name?.toString() || "", name: ccPair.name?.toString() || "",

View File

@@ -32,6 +32,12 @@ import {
TableHeader, TableHeader,
TableRow, TableRow,
} from "@/components/ui/table"; } from "@/components/ui/table";
import {
Tooltip,
TooltipContent,
TooltipProvider,
TooltipTrigger,
} from "@/components/ui/tooltip";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { DeleteButton } from "@/components/DeleteButton"; import { DeleteButton } from "@/components/DeleteButton";
import { Bubble } from "@/components/Bubble"; import { Bubble } from "@/components/Bubble";
@@ -290,16 +296,21 @@ export const GroupDisplay = ({
)} )}
</div> </div>
<Button <div className="mt-3 w-fit">
className="mt-3" <Button
size="sm" tooltip={
variant="submit" !userGroup.is_up_to_date
onClick={() => setAddMemberFormVisible(true)} ? "Cannot update group while sync is occurring"
disabled={!userGroup.is_up_to_date} : undefined
> }
Add Users size="sm"
</Button> variant="submit"
onClick={() => setAddMemberFormVisible(true)}
disabled={!userGroup.is_up_to_date}
>
Add Users
</Button>
</div>
{addMemberFormVisible && ( {addMemberFormVisible && (
<AddMemberForm <AddMemberForm
users={users} users={users}
@@ -389,15 +400,21 @@ export const GroupDisplay = ({
)} )}
</div> </div>
<Button <div className="mt-3 w-fit">
className="mt-3" <Button
onClick={() => setAddConnectorFormVisible(true)} tooltip={
size="sm" !userGroup.is_up_to_date
variant="submit" ? "Cannot update group while sync is occurring"
disabled={!userGroup.is_up_to_date} : undefined
> }
Add Connectors onClick={() => setAddConnectorFormVisible(true)}
</Button> size="sm"
variant="submit"
disabled={!userGroup.is_up_to_date}
>
Add Connectors
</Button>
</div>
{addConnectorFormVisible && ( {addConnectorFormVisible && (
<AddConnectorForm <AddConnectorForm

View File

@@ -1,8 +1,10 @@
import * as React from "react"; "use client";
import { Slot } from "@radix-ui/react-slot";
import { cva, type VariantProps } from "class-variance-authority";
import * as React from "react";
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
import { Slot } from "@radix-ui/react-slot";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { cva, type VariantProps } from "class-variance-authority";
const buttonVariants = cva( const buttonVariants = cva(
"inline-flex cursor-pointer items-center justify-center gap-2 whitespace-nowrap rounded text-sm font-medium ring-offset-white transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-neutral-950 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 dark:ring-offset-neutral-950 dark:focus-visible:ring-neutral-300", "inline-flex cursor-pointer items-center justify-center gap-2 whitespace-nowrap rounded text-sm font-medium ring-offset-white transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-neutral-950 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 dark:ring-offset-neutral-950 dark:focus-visible:ring-neutral-300",
@@ -116,10 +118,12 @@ const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
if (tooltip) { if (tooltip) {
return ( return (
<div className="relative group"> <div className="group relative inline-block">
{button} {button}
<div className="absolute bottom-full left-1/2 transform -translate-x-1/2 mb-2 px-2 py-1 bg-neutral-800 text-white text-sm rounded-sm opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap"> <div className="absolute z-50 invisible group-hover:visible opacity-0 group-hover:opacity-100 transition-opacity duration-300 bottom-full left-1/2 transform -translate-x-1/2 mb-2 w-auto">
{tooltip} <div className="bg-neutral-800 text-white text-xs rounded py-1 px-2 shadow-md">
{tooltip}
</div>
</div> </div>
</div> </div>
); );