+ {/* Navigation controls */}
+
+
+
+ Page {pageNumber} of {numPages || '...'}
+
+
+
+
+ {/* PDF content */}
+
+
+
+
+ }
+ className="flex flex-col items-center"
+ >
+
+
+
+ }
+ className="shadow-lg"
+ />
+
+
+
+ );
+}
diff --git a/e2e-chatbot-app-next/client/src/components/pdf-preview/index.ts b/e2e-chatbot-app-next/client/src/components/pdf-preview/index.ts
new file mode 100644
index 00000000..3c24eaba
--- /dev/null
+++ b/e2e-chatbot-app-next/client/src/components/pdf-preview/index.ts
@@ -0,0 +1,8 @@
+export { PDFCitationLink } from './PDFCitationLink';
+export type { PDFCitationLinkProps } from './PDFCitationLink';
+
+export { PDFPreviewSheet } from './PDFPreviewSheet';
+export type { PDFPreviewSheetProps } from './PDFPreviewSheet';
+
+export { PDFViewer } from './PDFViewer';
+export type { PDFViewerProps, PDFError } from './PDFViewer';
diff --git a/e2e-chatbot-app-next/client/src/components/ui/sheet.tsx b/e2e-chatbot-app-next/client/src/components/ui/sheet.tsx
index 951b3289..4de77039 100644
--- a/e2e-chatbot-app-next/client/src/components/ui/sheet.tsx
+++ b/e2e-chatbot-app-next/client/src/components/ui/sheet.tsx
@@ -7,6 +7,10 @@ import { cn } from '@/lib/utils';
const Sheet = SheetPrimitive.Root;
+const SheetTrigger = SheetPrimitive.Trigger;
+
+const SheetClose = SheetPrimitive.Close;
+
const SheetPortal = SheetPrimitive.Portal;
const SheetOverlay = React.forwardRef<
@@ -120,4 +124,15 @@ const SheetDescription = React.forwardRef<
));
SheetDescription.displayName = SheetPrimitive.Description.displayName;
-export { Sheet, SheetContent, SheetTitle };
+export {
+ Sheet,
+ SheetTrigger,
+ SheetClose,
+ SheetPortal,
+ SheetOverlay,
+ SheetContent,
+ SheetHeader,
+ SheetFooter,
+ SheetTitle,
+ SheetDescription,
+};
diff --git a/e2e-chatbot-app-next/client/src/contexts/AppConfigContext.tsx b/e2e-chatbot-app-next/client/src/contexts/AppConfigContext.tsx
index 36b0706a..106bc10d 100644
--- a/e2e-chatbot-app-next/client/src/contexts/AppConfigContext.tsx
+++ b/e2e-chatbot-app-next/client/src/contexts/AppConfigContext.tsx
@@ -6,6 +6,7 @@ interface ConfigResponse {
features: {
chatHistory: boolean;
};
+ workspaceUrl?: string;
}
interface AppConfigContextType {
@@ -13,6 +14,7 @@ interface AppConfigContextType {
isLoading: boolean;
error: Error | undefined;
chatHistoryEnabled: boolean;
+ workspaceUrl: string | undefined;
}
const AppConfigContext = createContext