diff --git a/frontend/src/app/globals.css b/frontend/src/app/globals.css
index 565966a1..3d929b8b 100644
--- a/frontend/src/app/globals.css
+++ b/frontend/src/app/globals.css
@@ -27,41 +27,30 @@
--accent-foreground: 0 0% 0%;
--destructive: 0 72% 51%;
--destructive-foreground: 0 0% 100%;
+ --warning: 48, 96%, 89%;
+ --warning-foreground: 26, 90%, 37%;
--border: 240 4.8% 95.9%;
--input: 240 6% 90%;
--ring: 0 0% 0%;
--placeholder-foreground: 240 5% 65%;
- --accent-emerald-foreground: 161.4 93.5% 30.4%;
- --accent-pink-foreground: 333.3 71.4% 50.6%;
- --accent-amber-foreground: 26 90.5% 37.1%;
-
- /* Status Colors */
- --status-red: #ef4444;
- --status-yellow: #eab308;
- --status-green: #4ade80;
- --status-blue: #2563eb;
+ --accent-amber: 48, 96%, 89%; /* amber-100 #fef3c7 */
+ --accent-amber-foreground: 26, 90%, 37%; /* amber-700 #b45309 */
+ --accent-emerald: 149, 80%, 90%; /* emerald-100 #d1fae5 */
+ --accent-emerald-foreground: 161, 94%, 30%; /* emerald-600 #059669 */
+ --accent-red: 0, 93%, 94%; /* red-100 #fee2e2 */
+ --accent-red-foreground: 0, 72%, 51%; /* red-600 #dc2626 */
+ --accent-indigo: 226, 100%, 94%; /* indigo-100 #e0e7ff */
+ --accent-indigo-foreground: 243, 75%, 59%; /* indigo-600 #4f46e5 */
+ --accent-pink: 326, 78%, 95%; /* pink-100 #fce7f3 */
+ --accent-pink-foreground: 333, 71%, 51%; /* pink-600 #db2777 */
+ --accent-purple: 269, 100%, 95%; /* purple-100 #f3e8ff */
+ --accent-purple-foreground: 271, 81%, 56%; /* purple-600 #7c3aed */
/* Component Colors */
--component-icon: #d8598a;
--flow-icon: #2f67d0;
- /* Data Type Colors */
- --datatype-blue: 221.2 83.2% 53.3%;
- --datatype-blue-foreground: 214.3 94.6% 92.7%;
- --datatype-yellow: 40.6 96.1% 40.4%;
- --datatype-yellow-foreground: 54.9 96.7% 88%;
- --datatype-red: 0 72.2% 50.6%;
- --datatype-red-foreground: 0 93.3% 94.1%;
- --datatype-emerald: 161.4 93.5% 30.4%;
- --datatype-emerald-foreground: 149.3 80.4% 90%;
- --datatype-violet: 262.1 83.3% 57.8%;
- --datatype-violet-foreground: 251.4 91.3% 95.5%;
-
- /* Warning */
- --warning: 48 96.6% 76.7%;
- --warning-foreground: 240 6% 10%;
-
--radius: 0.5rem;
}
@@ -84,29 +73,25 @@
--accent-foreground: 0 0% 100%;
--destructive: 0 84% 60%;
--destructive-foreground: 0 0% 100%;
+ --warning: 22, 78%, 26%;
+ --warning-foreground: 46, 97%, 65%;
--border: 240 3.7% 15.9%;
--input: 240 5% 34%;
--ring: 0 0% 100%;
--placeholder-foreground: 240 4% 46%;
- --accent-emerald-foreground: 158.1 64.4% 51.6%;
- --accent-pink-foreground: 328.6 85.5% 70.2%;
- --accent-amber-foreground: 45.9 96.7% 64.5%;
-
- /* Dark mode data type colors */
- --datatype-blue: 211.7 96.4% 78.4%;
- --datatype-blue-foreground: 221.2 83.2% 53.3%;
- --datatype-yellow: 50.4 97.8% 63.5%;
- --datatype-yellow-foreground: 40.6 96.1% 40.4%;
- --datatype-red: 0 93.5% 81.8%;
- --datatype-red-foreground: 0 72.2% 50.6%;
- --datatype-emerald: 156.2 71.6% 66.9%;
- --datatype-emerald-foreground: 161.4 93.5% 30.4%;
- --datatype-violet: 252.5 94.7% 85.1%;
- --datatype-violet-foreground: 262.1 83.3% 57.8%;
-
- --warning: 45.9 96.7% 64.5%;
- --warning-foreground: 240 6% 10%;
+ --accent-amber: 22, 78%, 26%; /* amber-900 #78350f */
+ --accent-amber-foreground: 46, 97%, 65%; /* amber-300 #fcd34d */
+ --accent-emerald: 164, 86%, 16%; /* emerald-900 #064e3b */
+ --accent-emerald-foreground: 158, 64%, 52%; /* emerald-400 #34d399 */
+ --accent-red: 0, 63%, 31%; /* red-900 #7f1d1d */
+ --accent-red-foreground: 0, 91%, 71%; /* red-400 #f87171 */
+ --accent-indigo: 242, 47%, 34%; /* indigo-900 #312e81 */
+ --accent-indigo-foreground: 234, 89%, 74%; /* indigo-400 #818cf8 */
+ --accent-pink: 336, 69%, 30%; /* pink-900 #831843 */
+ --accent-pink-foreground: 329, 86%, 70%; /* pink-400 #f472b6 */
+ --accent-purple: 274, 66%, 32%; /* purple-900 #4c1d95 */
+ --accent-purple-foreground: 270, 95%, 75%; /* purple-400 #a78bfa */
}
* {
diff --git a/frontend/src/app/knowledge/page.tsx b/frontend/src/app/knowledge/page.tsx
index 5155f4e2..cf35486b 100644
--- a/frontend/src/app/knowledge/page.tsx
+++ b/frontend/src/app/knowledge/page.tsx
@@ -20,6 +20,7 @@ import { KnowledgeActionsDropdown } from "@/components/knowledge-actions-dropdow
import { StatusBadge } from "@/components/ui/status-badge";
import { DeleteConfirmationDialog } from "../../../components/confirmation-dialog";
import { useDeleteDocument } from "../api/mutations/useDeleteDocument";
+import { filterAccentClasses } from "@/components/knowledge-filter-panel";
// Function to get the appropriate icon for a connector type
function getSourceIcon(connectorType?: string) {
@@ -55,7 +56,7 @@ function SearchPage() {
const { data = [], isFetching } = useGetSearchQuery(
parsedFilterData?.query || "*",
- parsedFilterData,
+ parsedFilterData
);
const handleTableSearch = (e: ChangeEvent
) => {
@@ -80,7 +81,7 @@ function SearchPage() {
return (
taskFile.status !== "active" &&
!backendFiles.some(
- (backendFile) => backendFile.filename === taskFile.filename,
+ (backendFile) => backendFile.filename === taskFile.filename
)
);
});
@@ -106,8 +107,8 @@ function SearchPage() {
onClick={() => {
router.push(
`/knowledge/chunks?filename=${encodeURIComponent(
- data?.filename ?? "",
- )}`,
+ data?.filename ?? ""
+ )}`
);
}}
>
@@ -146,7 +147,7 @@ function SearchPage() {
initialFlex: 0.5,
cellRenderer: ({ value }: CustomCellRendererProps) => {
return (
-
+
{value?.toFixed(2) ?? "-"}
);
@@ -201,7 +202,7 @@ function SearchPage() {
try {
// Delete each file individually since the API expects one filename at a time
const deletePromises = selectedRows.map((row) =>
- deleteDocumentMutation.mutateAsync({ filename: row.filename }),
+ deleteDocumentMutation.mutateAsync({ filename: row.filename })
);
await Promise.all(deletePromises);
@@ -209,7 +210,7 @@ function SearchPage() {
toast.success(
`Successfully deleted ${selectedRows.length} document${
selectedRows.length > 1 ? "s" : ""
- }`,
+ }`
);
setSelectedRows([]);
setShowBulkDeleteDialog(false);
@@ -222,7 +223,7 @@ function SearchPage() {
toast.error(
error instanceof Error
? error.message
- : "Failed to delete some documents",
+ : "Failed to delete some documents"
);
}
};
@@ -251,9 +252,13 @@ function SearchPage() {
{/* Search Input Area */}