diff --git a/src/components/categoryPageClientComponents.tsx b/src/components/categoryPageClientComponents.tsx
index ac8b908..74b1ff4 100644
--- a/src/components/categoryPageClientComponents.tsx
+++ b/src/components/categoryPageClientComponents.tsx
@@ -23,6 +23,8 @@ import {
} from '@/components/ui/alert-dialog';
import { categoryFormSchema } from '@/lib/form-schemas/categoryFormSchema';
import CategoryForm from '@/components/form/categoryForm';
+import { useMediaQuery } from '@/lib/hooks/useMediaQuery';
+import { Drawer, DrawerContent, DrawerHeader, DrawerTitle, DrawerTrigger } from '@/components/ui/drawer';
export default function CategoryPageClientContent({categories, onSubmit, onDelete, className}: {
categories: Category[],
@@ -31,6 +33,7 @@ export default function CategoryPageClientContent({categories, onSubmit, onDelet
className: string,
}) {
+ const isDesktop = useMediaQuery('(min-width: 768px)');
const router = useRouter();
const [isEditDialogOpen, setIsEditDialogOpen] = useState(false);
@@ -97,26 +100,51 @@ export default function CategoryPageClientContent({categories, onSubmit, onDelet
Categories
{/* Edit dialog */}
-
+ {
+ isDesktop ? (
+
+ ) : (
+
+
+
+
+
+
+ {selectedCategory?.id ? 'Update Category' : 'Create Category'}
+
+
+
+
+ )
+ }
{/* Data Table */}
diff --git a/src/components/entityPageClientComponents.tsx b/src/components/entityPageClientComponents.tsx
index 4f4a8bd..12697be 100644
--- a/src/components/entityPageClientComponents.tsx
+++ b/src/components/entityPageClientComponents.tsx
@@ -24,6 +24,8 @@ import {
AlertDialogFooter,
AlertDialogHeader,
} from '@/components/ui/alert-dialog';
+import { useMediaQuery } from '@/lib/hooks/useMediaQuery';
+import { Drawer, DrawerContent, DrawerHeader, DrawerTitle, DrawerTrigger } from '@/components/ui/drawer';
export default function EntityPageClientContent({entities, onSubmit, onDelete, className}: {
entities: Entity[],
@@ -32,6 +34,7 @@ export default function EntityPageClientContent({entities, onSubmit, onDelete, c
className: string,
}) {
+ const isDesktop = useMediaQuery('(min-width: 768px)');
const router = useRouter();
const [isEditDialogOpen, setIsEditDialogOpen] = useState(false);
@@ -125,26 +128,51 @@ export default function EntityPageClientContent({entities, onSubmit, onDelete, c
Entities
{/* Edit dialog */}
-
+ {
+ isDesktop ? (
+
+ ) : (
+
+
+
+
+
+
+ {selectedEntity?.id ? 'Update Entity' : 'Create Entity'}
+
+
+
+
+ )
+ }
{/* Filter input */}
diff --git a/src/components/paymentPageClientComponents.tsx b/src/components/paymentPageClientComponents.tsx
index d25f5df..60a21fd 100644
--- a/src/components/paymentPageClientComponents.tsx
+++ b/src/components/paymentPageClientComponents.tsx
@@ -23,6 +23,8 @@ import { paymentFormSchema } from '@/lib/form-schemas/paymentFormSchema';
import { Category, Entity, Payment } from '@prisma/client';
import PaymentForm from '@/components/form/paymentForm';
import { columns } from '@/app/payments/columns';
+import { Drawer, DrawerContent, DrawerHeader, DrawerTitle, DrawerTrigger } from '@/components/ui/drawer';
+import { useMediaQuery } from '@/lib/hooks/useMediaQuery';
export default function PaymentPageClientContent({
payments,
@@ -40,6 +42,7 @@ export default function PaymentPageClientContent({
className: string,
}) {
+ const isDesktop = useMediaQuery('(min-width: 768px)');
const router = useRouter();
const [isEditDialogOpen, setIsEditDialogOpen] = useState(false);
@@ -106,28 +109,55 @@ export default function PaymentPageClientContent({
Payments
{/* Edit dialog */}
-
+ {
+ isDesktop ? (
+
+ ) : (
+
+
+
+
+
+
+ {selectedPayment?.id ? 'Update Payment' : 'Create Payment'}
+
+
+
+
+ )
+ }
{/* Data Table */}