diff --git a/src/app/api/publications/route.ts b/src/app/api/publications/route.ts
index e6b1137..8b6e8f2 100644
--- a/src/app/api/publications/route.ts
+++ b/src/app/api/publications/route.ts
@@ -34,7 +34,8 @@ async function requireAuth() {
try {
// Si es modo bypass (admin-emergency), no podemos llamar a account.get() con la API Key
- const cookieStore = await require('@/lib/appwrite.server').cookies();
+ const { cookies } = require('next/headers');
+ const cookieStore = await cookies();
const PROJECT_ID = process.env.NEXT_PUBLIC_APPWRITE_PROJECT_ID || '69b84df5003bd8957c5c';
const sessionCookie = cookieStore.get(`a_session_${PROJECT_ID.toLowerCase()}`);
diff --git a/src/app/dashboard/[entity]/page.tsx b/src/app/dashboard/[entity]/page.tsx
index defb1c9..255ea8c 100644
--- a/src/app/dashboard/[entity]/page.tsx
+++ b/src/app/dashboard/[entity]/page.tsx
@@ -131,7 +131,11 @@ export default async function EntityPage({
console.error(`Error fetching entity ${entity}:`, error);
}
- const boundEditAction = saveEntityAction.bind(null, entity);
+ const boundEditAction = async (id: string, formData: FormData) => {
+ 'use server';
+ const { updateEntityAction } = await import('@/app/actions/entities');
+ return updateEntityAction(entity, id, formData);
+ };
return (
diff --git a/src/components/publications/PublicationDrawer.tsx b/src/components/publications/PublicationDrawer.tsx
index 6c3972a..d633ef5 100644
--- a/src/components/publications/PublicationDrawer.tsx
+++ b/src/components/publications/PublicationDrawer.tsx
@@ -17,7 +17,7 @@ export interface PublicationDrawerProps {
post: Post | null;
user: AuthUser;
relationData: Record
>;
- submitAction: (formData: FormData) => Promise<{ success: boolean; error?: string; data?: unknown } | void>;
+ submitAction: (id: string, formData: FormData) => Promise<{ success: boolean; error?: string; data?: unknown } | void>;
appwriteConfig: {
endpoint: string;
projectId: string;
@@ -64,12 +64,13 @@ export const PublicationDrawer: React.FC = ({
}, [isOpen, handleKeyDown]);
const wrappedSubmit = useCallback(async (formData: FormData) => {
- const result = await submitAction(formData);
+ if (!post?.$id) return { success: false, error: 'No post ID found' };
+ const result = await submitAction(post.$id, formData);
if (!result || result.success) {
onSuccess?.();
}
return result;
- }, [submitAction, onSuccess]);
+ }, [submitAction, onSuccess, post]);
if (typeof document === 'undefined') return null;
diff --git a/src/components/publications/PublicationsList.tsx b/src/components/publications/PublicationsList.tsx
index 3bf0837..29b81d1 100644
--- a/src/components/publications/PublicationsList.tsx
+++ b/src/components/publications/PublicationsList.tsx
@@ -35,7 +35,7 @@ interface PublicationsListProps {
initialPosts: Post[];
user: AuthUser;
relationData: Record>;
- submitEditAction: (formData: FormData) => Promise<{ success: boolean; error?: string; data?: unknown } | void>;
+ submitEditAction: (id: string, formData: FormData) => Promise<{ success: boolean; error?: string; data?: unknown } | void>;
appwriteConfig: {
endpoint: string;
projectId: string;