import { redirect } from 'next/navigation';
import { getTranslations } from 'next-intl/server';
import { SiteHeader } from '@/components/SiteHeader';
import { PostEditor } from '@/components/PostEditor';
import { getCurrentUser } from '@/lib/auth';
import { getPostBySlug } from '@/lib/blog';

interface Props {
  params: Promise<{ slug: string }>;
}

export default async function EditorPage({ params }: Props) {
  const user = await getCurrentUser();
  if (!user || user.role !== 'admin') redirect('/?login=1');

  const { slug } = await params;
  const t = await getTranslations();
  const post = slug === 'new' ? null : getPostBySlug(slug);

  return (
    <>
      <SiteHeader />
      <main className="container">
        <div style={{ padding: '2rem 0' }}>
          <h2 style={{ marginBottom: '1.5rem' }}>{post ? t('editor.title') : t('admin.newPost')}</h2>
          <PostEditor initialPost={post} />
        </div>
      </main>
    </>
  );
}
