'use client';

import { useState } from 'react';
import { useRouter } from 'next/navigation';
import toast from 'react-hot-toast';
import api from '@/lib/api';
import PostForm from '../_components/PostForm';
import { Post } from '@/types';

export default function NewPostPage() {
  const router = useRouter();
  const [isSaving, setIsSaving] = useState(false);

  const handleSave = async (data: Partial<Post>) => {
    setIsSaving(true);
    try {
      const created = await api.createPost(data);
      toast.success('Post created');
      router.push(`/posts/edit?id=${created._id}`);
    } catch (err) {
      toast.error(err instanceof Error ? err.message : 'Failed to create post');
    } finally {
      setIsSaving(false);
    }
  };

  return <PostForm onSave={handleSave} isSaving={isSaving} />;
}
