From 248e62247895067503dbcb0b6c569ede1c346720 Mon Sep 17 00:00:00 2001
From: Anish Sarkar <104695310+AnishSarkar22@users.noreply.github.com>
Date: Wed, 8 Jul 2026 03:53:41 +0530
Subject: [PATCH] feat(playground): enhance schema form and artifacts library
UI
- Replaced required/optional text with Badge component in schema form for better visual distinction.
- Updated EmptyState in artifacts library to include a more informative and visually appealing layout with an icon and description.
---
.../playground/components/schema-form.tsx | 8 +++++++-
.../artifacts-library/ui/artifacts-library.tsx | 13 ++++++++++---
surfsense_web/public/connectors/web.svg | 9 ++++++++-
3 files changed, 25 insertions(+), 5 deletions(-)
diff --git a/surfsense_web/app/dashboard/[workspace_id]/playground/components/schema-form.tsx b/surfsense_web/app/dashboard/[workspace_id]/playground/components/schema-form.tsx
index 0b3b641ed..36aee26bb 100644
--- a/surfsense_web/app/dashboard/[workspace_id]/playground/components/schema-form.tsx
+++ b/surfsense_web/app/dashboard/[workspace_id]/playground/components/schema-form.tsx
@@ -2,6 +2,7 @@
import { ChevronDown } from "lucide-react";
import { useMemo, useState } from "react";
+import { Badge } from "@/components/ui/badge";
import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";
import {
@@ -133,7 +134,12 @@ function FieldRow({
- {field.required && required}
+
{field.description}
diff --git a/surfsense_web/features/artifacts-library/ui/artifacts-library.tsx b/surfsense_web/features/artifacts-library/ui/artifacts-library.tsx index 53010fba2..642fed1c1 100644 --- a/surfsense_web/features/artifacts-library/ui/artifacts-library.tsx +++ b/surfsense_web/features/artifacts-library/ui/artifacts-library.tsx @@ -1,7 +1,7 @@ "use client"; import { useSetAtom } from "jotai"; -import { RefreshCw, TriangleAlert } from "lucide-react"; +import { Boxes, RefreshCw, TriangleAlert } from "lucide-react"; import { useMemo, useState } from "react"; import { openReportPanelAtom } from "@/atoms/chat/report-panel.atom"; import { MobileReportPanel } from "@/components/report-panel/report-panel"; @@ -46,8 +46,15 @@ function ErrorState({ onRetry }: { onRetry: () => void }) { function EmptyState() { return ( -No artifacts yet
++ Artifacts collect the reports, resumes, podcasts, presentations, and images SurfSense + creates for this workspace. Generated deliverables from your chats will appear here. +