diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index 9c64713..8aab32e 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -1,5 +1,6 @@
import "./globals.css";
-import { Providers } from "./providers";
+import { ReactNode } from "react";
+import { Providers } from "@/app/providers";
import { Metadata } from "next";
import Script from "next/script";
import { Footer } from "@/components/Footer";
@@ -48,12 +49,7 @@ export const metadata: Metadata = {
const isDev = process.env.NEXT_PUBLIC_NODE_ENV !== 'production' || process.env.NODE_ENV == null;
//const isDev = false;
-export default function RootLayout({
- children,
-}: {
- children: React.ReactNode;
-}) {
-
+export default function RootLayout({ children }: { children: ReactNode }) {
return (
diff --git a/src/app/page.tsx b/src/app/page.tsx
index e303b30..58789cb 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -1,32 +1,17 @@
-'use client';
-
-import { useState } from 'react';
import { DocumentUploader } from '@/components/DocumentUploader';
import { DocumentList } from '@/components/DocumentList';
import { SettingsModal } from '@/components/SettingsModal';
-import { SettingsIcon } from '@/components/icons/Icons';
-import { Button } from '@headlessui/react';
export default function Home() {
- const [isSettingsOpen, setIsSettingsOpen] = useState(false);
-
return (
-
+
OpenReader WebUI
A bring your own text-to-speech api web interface for reading documents with high quality voices
-
);
}
diff --git a/src/components/ConfirmDialog.tsx b/src/components/ConfirmDialog.tsx
index e8bca7e..cd828d5 100644
--- a/src/components/ConfirmDialog.tsx
+++ b/src/components/ConfirmDialog.tsx
@@ -1,6 +1,4 @@
-'use client';
-
-import { Fragment, useEffect } from 'react';
+import { Fragment, KeyboardEvent } from 'react';
import { Dialog, DialogPanel, DialogTitle, Transition, TransitionChild } from '@headlessui/react';
interface ConfirmDialogProps {
@@ -24,23 +22,21 @@ export function ConfirmDialog({
cancelText = 'Cancel',
isDangerous = false,
}: ConfirmDialogProps) {
- useEffect(() => {
- if (!isOpen) return;
-
- const handleKeyDown = (e: KeyboardEvent) => {
- if (e.key === 'Enter') {
- e.preventDefault();
- onConfirm();
- }
- };
-
- window.addEventListener('keydown', handleKeyDown);
- return () => window.removeEventListener('keydown', handleKeyDown);
- }, [isOpen, onConfirm]);
+ const handleKeyDown = (e: KeyboardEvent) => {
+ if (e.key === 'Enter') {
+ e.preventDefault();
+ onConfirm();
+ }
+ };
return (
-