diff --git a/apps/dashboard/index.html b/apps/dashboard/index.html
index e4b78eae123..7b6b6c8a7f7 100644
--- a/apps/dashboard/index.html
+++ b/apps/dashboard/index.html
@@ -5,6 +5,12 @@
Vite + React + TS
+
+
+
diff --git a/apps/dashboard/package.json b/apps/dashboard/package.json
index f0e95e2e0c9..5620b76684e 100644
--- a/apps/dashboard/package.json
+++ b/apps/dashboard/package.json
@@ -28,6 +28,8 @@
"@radix-ui/react-label": "^2.1.0",
"@radix-ui/react-popover": "^1.1.1",
"@radix-ui/react-progress": "^1.1.0",
+ "@radix-ui/react-dropdown-menu": "^2.1.1",
+ "@radix-ui/react-scroll-area": "^1.2.0",
"@radix-ui/react-select": "^2.1.2",
"@radix-ui/react-slot": "^1.1.0",
"@radix-ui/react-tooltip": "^1.1.3",
@@ -42,7 +44,7 @@
"react-dom": "^18.3.1",
"react-helmet-async": "^1.3.0",
"react-hook-form": "7.43.9",
- "react-icons": "^5.0.1",
+ "react-icons": "^5.3.0",
"react-router-dom": "6.26.2",
"tailwind-merge": "^2.4.0",
"tailwindcss-animate": "^1.0.7",
diff --git a/apps/dashboard/src/components/primitives/badge.tsx b/apps/dashboard/src/components/primitives/badge.tsx
index b824192c686..6f0550fd288 100644
--- a/apps/dashboard/src/components/primitives/badge.tsx
+++ b/apps/dashboard/src/components/primitives/badge.tsx
@@ -7,7 +7,7 @@ const badgeVariants = cva(
{
variants: {
variant: {
- default: 'border-transparent bg-secondary-alpha-100 text-secondary-300',
+ default: 'border-transparent bg-neutral-alpha-100 text-neutral-300',
destructive: 'border-transparent bg-destructive/10 text-destructive',
success: 'border-transparent bg-success/10 text-success',
warning: 'border-transparent bg-warning/10 text-warning',
diff --git a/apps/dashboard/src/components/primitives/button.tsx b/apps/dashboard/src/components/primitives/button.tsx
index d420c60783c..2730d05b3ad 100644
--- a/apps/dashboard/src/components/primitives/button.tsx
+++ b/apps/dashboard/src/components/primitives/button.tsx
@@ -9,7 +9,7 @@ const buttonVariants = cva(
variants: {
variant: {
default:
- 'bg-gradient-to-b from-secondary-alpha-900 to-secondary-900 text-secondary-foreground shadow-[inset_0_-4px_2px_-2px_hsl(var(--secondary-900)),inset_0_0_0_1px_rgba(255,255,255,0.16),0_0_0_1px_hsl(var(--secondary-900)),0px_1px_2px_0px_#0E121B3D] after:content-[""] after:absolute after:w-full after:h-full after:bg-gradient-to-b after:from-background/10 after:opacity-0 hover:after:opacity-100 after:rounded-lg after:transition-opacity after:duration-300',
+ 'bg-gradient-to-b from-neutral-alpha-900 to-neutral-900 text-neutral-foreground shadow-[inset_0_-4px_2px_-2px_hsl(var(--neutral-900)),inset_0_0_0_1px_rgba(255,255,255,0.16),0_0_0_1px_hsl(var(--neutral-900)),0px_1px_2px_0px_#0E121B3D] after:content-[""] after:absolute after:w-full after:h-full after:bg-gradient-to-b after:from-background/10 after:opacity-0 hover:after:opacity-100 after:rounded-lg after:transition-opacity after:duration-300',
primary:
'bg-gradient-to-b from-primary/90 to-primary text-primary-foreground shadow-[inset_0_-4px_2px_-2px_hsl(var(--primary)),inset_0_0_0_1px_rgba(255,255,255,0.16),0_0_0_1px_hsl(var(--primary)),0px_1px_2px_0px_#0E121B3D] after:content-[""] after:absolute after:w-full after:h-full after:bg-gradient-to-b after:from-background/10 after:opacity-0 hover:after:opacity-100 after:rounded-lg after:transition-opacity after:duration-300',
destructive:
diff --git a/apps/dashboard/src/components/primitives/pagination.tsx b/apps/dashboard/src/components/primitives/pagination.tsx
index 52a8476a442..b1feea2ed86 100644
--- a/apps/dashboard/src/components/primitives/pagination.tsx
+++ b/apps/dashboard/src/components/primitives/pagination.tsx
@@ -14,7 +14,7 @@ const Pagination = ({ className, ...props }: React.ComponentProps<'nav'>) => (
);
@@ -55,28 +55,28 @@ PaginationLink.displayName = 'PaginationLink';
const PaginationStart = ({ className, ...props }: React.ComponentProps) => (
-
+
);
PaginationStart.displayName = 'PaginationStart';
const PaginationPrevious = ({ className, ...props }: React.ComponentProps) => (
-
+
);
PaginationPrevious.displayName = 'PaginationPrevious';
const PaginationNext = ({ className, ...props }: React.ComponentProps) => (
-
+
);
PaginationNext.displayName = 'PaginationNext';
const PaginationEnd = ({ className, ...props }: React.ComponentProps) => (
-
+
);
PaginationEnd.displayName = 'PaginationEnd';
@@ -87,7 +87,7 @@ const PaginationEllipsis = ({ className, ...props }: React.ComponentProps<'span'
className={cn(buttonVariants({ size: 'icon', variant: 'ghost' }), 'bg-transparent hover:bg-transparent', className)}
{...props}
>
-
+
);
PaginationEllipsis.displayName = 'PaginationEllipsis';
diff --git a/apps/dashboard/src/components/primitives/popover.tsx b/apps/dashboard/src/components/primitives/popover.tsx
index 69d102de81d..0c078450627 100644
--- a/apps/dashboard/src/components/primitives/popover.tsx
+++ b/apps/dashboard/src/components/primitives/popover.tsx
@@ -19,8 +19,7 @@ const PopoverContent = React.forwardRef<
align={align}
sideOffset={sideOffset}
className={cn(
- //TODO: Change bg and text colors
- 'bg-popover text-popover-foreground 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-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none',
+ 'bg-background text-foreground-950 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-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none',
className
)}
{...props}
diff --git a/apps/dashboard/src/components/primitives/select.tsx b/apps/dashboard/src/components/primitives/select.tsx
index 0c3d6fed00f..ecb08c7d98a 100644
--- a/apps/dashboard/src/components/primitives/select.tsx
+++ b/apps/dashboard/src/components/primitives/select.tsx
@@ -19,7 +19,7 @@ const SelectTrigger = React.forwardRef<
span]:line-clamp-1',
+ 'border-input ring-offset-background placeholder:text-muted-foreground focus:ring-ring shadow-xs flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border bg-transparent px-3 py-2 text-sm focus:outline-none focus:ring-1 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1',
className
)}
{...props}
@@ -68,7 +68,7 @@ const SelectContent = React.forwardRef<
svg]:size-3.5',
diff --git a/apps/dashboard/src/components/primitives/table.tsx b/apps/dashboard/src/components/primitives/table.tsx
index aa3185a04b9..4e9fc27f1d8 100644
--- a/apps/dashboard/src/components/primitives/table.tsx
+++ b/apps/dashboard/src/components/primitives/table.tsx
@@ -1,18 +1,35 @@
import * as React from 'react';
import { cn } from '@/utils/ui';
+import { ClassNameValue } from 'tailwind-merge';
-const Table = React.forwardRef>(
- ({ className, ...props }, ref) => (
-
- )
-);
+const Table = React.forwardRef<
+ HTMLTableElement,
+ React.HTMLAttributes & { containerClassname?: ClassNameValue }
+>(({ className, containerClassname, ...props }, ref) => (
+
+));
Table.displayName = 'Table';
const TableHeader = React.forwardRef>(
- ({ className, ...props }, ref) => tr]:border-0', className)} {...props} />
+ ({ className, ...props }, ref) => (
+
+ )
);
TableHeader.displayName = 'TableHeader';
@@ -22,7 +39,13 @@ const TableBody = React.forwardRef>(
- ({ className, ...props }, ref) =>
+ ({ className, ...props }, ref) => (
+
+ )
);
TableFooter.displayName = 'TableFooter';
@@ -30,7 +53,7 @@ const TableRow = React.forwardRef (
td]:border-neutral-alpha-100 [&>td]:border-b [&>td]:last-of-type:border-0', className)}
{...props}
/>
)
@@ -42,7 +65,7 @@ const TableHead = React.forwardRef[role=checkbox]]:translate-y-[2px]',
+ 'text-foreground-600 h-10 px-2 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',
className
)}
{...props}
diff --git a/apps/dashboard/src/components/primitives/tag.tsx b/apps/dashboard/src/components/primitives/tag.tsx
index fbfdfd8eec9..608ace4b297 100644
--- a/apps/dashboard/src/components/primitives/tag.tsx
+++ b/apps/dashboard/src/components/primitives/tag.tsx
@@ -4,13 +4,13 @@ import { cva, type VariantProps } from 'class-variance-authority';
import { cn } from '@/utils/ui';
const tagVariants = cva(
- 'inline-flex items-center rounded-full border px-2 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',
+ 'inline-flex items-center rounded-full px-2 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',
{
variants: {
variant: {
- default: 'border-transparent bg-secondary-alpha-100 text-secondary-alpha-500',
- feature: 'border-transparent bg-feature/10 text-feature',
- information: 'border-transparent bg-information/10 text-information',
+ default: 'bg-neutral-alpha-100 text-neutral-alpha-500',
+ feature: 'bg-feature/10 text-feature',
+ information: 'bg-information/10 text-information',
},
},
defaultVariants: {
diff --git a/apps/dashboard/src/components/side-navigation/organization-dropdown.tsx b/apps/dashboard/src/components/side-navigation/organization-dropdown.tsx
index 0f8b1835290..eac093c3ade 100644
--- a/apps/dashboard/src/components/side-navigation/organization-dropdown.tsx
+++ b/apps/dashboard/src/components/side-navigation/organization-dropdown.tsx
@@ -5,7 +5,7 @@ const OrganizationSwitcherAppearance: OrganizationSwitcherTheme = {
elements: {
rootBox: 'w-full',
organizationSwitcherTrigger:
- 'w-full py-0 [&>.cl-organizationPreview]:px-0 px-1.5 justify-start hover:bg-background before:border-border-stroke/10 focus-visible:ring-ring group relative flex cursor-pointer items-center gap-2 rounded-lg transition duration-300 ease-out before:absolute before:bottom-[1px] before:left-0 before:h-0 before:w-full before:border-b before:border-solid before:transition-all before:duration-300 before:ease-out before:content-[""] hover:shadow-sm hover:before:border-border-stroke/0 focus-visible:outline-none focus-visible:ring-1 focus:bg-transparent focus:shadow-sm focus:bg-background focus:before:border-border-stroke/0',
+ 'w-full py-0 [&>.cl-organizationPreview]:px-0 px-1.5 justify-start hover:bg-background before:border-neutral-alpha-100 focus-visible:ring-ring group relative flex cursor-pointer items-center gap-2 rounded-lg transition duration-300 ease-out before:absolute before:bottom-[1px] before:left-0 before:h-0 before:w-full before:border-b before:border-solid before:transition-all before:duration-300 before:ease-out before:content-[""] hover:shadow-sm hover:before:border-transparent focus-visible:outline-none focus-visible:ring-1 focus:bg-transparent focus:shadow-sm focus:bg-background focus:before:border-transparent',
organizationSwitcherTriggerIcon: 'ml-auto',
organizationSwitcherPopoverActionButton__manageOrganization: {
display: 'none',
diff --git a/apps/dashboard/src/components/side-navigation/side-navigation.tsx b/apps/dashboard/src/components/side-navigation/side-navigation.tsx
index 70b5ff5be1a..636133473ec 100644
--- a/apps/dashboard/src/components/side-navigation/side-navigation.tsx
+++ b/apps/dashboard/src/components/side-navigation/side-navigation.tsx
@@ -94,7 +94,7 @@ export const SideNavigation = () => {
const onEnvironmentChange = (value: string) => switchEnvironment(value);
return (
-