Merge branch 'main' into ENG-3586

This commit is contained in:
x032205
2025-09-05 18:59:38 -04:00
306 changed files with 16755 additions and 7458 deletions
@@ -153,7 +153,7 @@ const NewProjectForm = ({ onOpenChange }: NewProjectFormProps) => {
reset();
onOpenChange(false);
navigate({
to: getProjectHomePage(project.type),
to: getProjectHomePage(project.type, project.environments),
params: { projectId: project.id }
});
} catch (err) {
@@ -1,6 +1,7 @@
import {
faCheck,
faExclamationTriangle,
faHourglass,
faRotate,
IconDefinition
} from "@fortawesome/free-solid-svg-icons";
@@ -29,7 +30,11 @@ export const SecretSyncStatusBadge = ({ status }: Props) => {
text = "Synced";
icon = faCheck;
break;
case SecretSyncStatus.Pending: // no need to differentiate from user perspective
case SecretSyncStatus.Pending:
variant = "primary";
text = "Queued";
icon = faHourglass;
break;
case SecretSyncStatus.Running:
default:
variant = "primary";
@@ -42,11 +47,7 @@ export const SecretSyncStatusBadge = ({ status }: Props) => {
<Badge className="flex h-5 w-min items-center gap-1.5 whitespace-nowrap" variant={variant}>
<FontAwesomeIcon
icon={icon}
className={
[SecretSyncStatus.Pending, SecretSyncStatus.Running].includes(status)
? "animate-spin"
: ""
}
className={[SecretSyncStatus.Running].includes(status) ? "animate-spin" : ""}
/>
<span>{text}</span>
</Badge>
@@ -60,7 +60,8 @@ export const CreatableSelect = <T,>({
isSelected && "text-mineshaft-200",
"px-3 py-2 text-xs hover:cursor-pointer"
),
noOptionsMessage: () => "text-mineshaft-400 p-2 rounded-md"
noOptionsMessage: () => "text-mineshaft-400 p-2 rounded-md",
loadingMessage: () => "text-mineshaft-400 p-2 rounded-md"
}}
{...props}
/>
@@ -10,6 +10,7 @@ type Props = {
children?: ReactNode;
icon?: IconDefinition;
iconSize?: SizeProp;
titleClassName?: string;
};
export const EmptyState = ({
@@ -17,7 +18,8 @@ export const EmptyState = ({
className,
children,
icon = faCubesStacked,
iconSize = "2x"
iconSize = "2x",
titleClassName
}: Props) => (
<div
className={twMerge(
@@ -27,7 +29,7 @@ export const EmptyState = ({
>
<FontAwesomeIcon icon={icon} size={iconSize} />
<div className="flex flex-col items-center py-4">
<div className="text-sm text-bunker-300">{title}</div>
<div className={twMerge("text-sm text-bunker-300", titleClassName)}>{title}</div>
<div>{children}</div>
</div>
</div>
@@ -67,7 +67,7 @@ export const FilterableSelect = <T,>({
}),
menuPortal: (provided) => ({
...provided,
zIndex: 9999
zIndex: 99999
})
}}
tabSelectsValue={tabSelectsValue}
@@ -91,7 +91,7 @@ export const FilterableSelect = <T,>({
),
placeholder: () =>
`${isMulti ? "py-[0.22rem]" : "leading-7"} text-mineshaft-400 text-sm pl-1`,
input: () => "pl-1",
input: () => `pl-1 ${isMulti ? "py-[0.22rem]" : ""}`,
valueContainer: () =>
`px-1 max-h-[8.2rem] ${
isMulti ? "!overflow-y-auto thin-scrollbar py-1" : "py-[0.1rem]"
@@ -114,7 +114,8 @@ export const FilterableSelect = <T,>({
isSelected && "text-mineshaft-200",
"rounded px-3 py-2 text-xs hover:cursor-pointer"
),
noOptionsMessage: () => "text-mineshaft-400 p-2 rounded-md"
noOptionsMessage: () => "text-mineshaft-400 p-2 rounded-md",
loadingMessage: () => "text-mineshaft-400 p-2 rounded-md"
}}
{...props}
/>
+15 -17
View File
@@ -1,4 +1,4 @@
import { DetailedHTMLProps, HTMLAttributes, ReactNode, TdHTMLAttributes } from "react";
import { DetailedHTMLProps, forwardRef, HTMLAttributes, ReactNode, TdHTMLAttributes } from "react";
import { twMerge } from "tailwind-merge";
import { Skeleton } from "../Skeleton";
@@ -9,22 +9,20 @@ export type TableContainerProps = {
className?: string;
} & DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>;
export const TableContainer = ({
children,
className,
isRounded = true,
...props
}: TableContainerProps): JSX.Element => (
<div
className={twMerge(
"relative w-full overflow-x-auto border border-solid border-mineshaft-700 bg-mineshaft-800 font-inter",
isRounded && "rounded-lg",
className
)}
{...props}
>
{children}
</div>
export const TableContainer = forwardRef<HTMLDivElement, TableContainerProps>(
({ children, className, isRounded = true, ...props }, ref): JSX.Element => (
<div
ref={ref}
className={twMerge(
"relative w-full overflow-x-auto border border-solid border-mineshaft-700 bg-mineshaft-800 font-inter",
isRounded && "rounded-lg",
className
)}
{...props}
>
{children}
</div>
)
);
// main parent table