// app/admin/dashboard/packages/new/page.tsx
import PackageForm from '@/app/components/admin/packages/PackageForm';
import { authService } from '@/services/auth-service';
import { PERMISSIONS } from '@/lib/permissions';
import { redirect } from 'next/navigation';
import { getTokenFromCookies } from '@/lib/auth-utils';
import { Metadata } from 'next';

export const metadata: Metadata = {
  title: 'Create Package',
  description: 'Create a new guest posting package in the admin panel.',
};

export default async function CreatePackagePage() {
  const token = await getTokenFromCookies();
  
  if (!token) {
    redirect('/admin/login');
  }

  const verifiedToken = await authService.verifyToken(token);
  if (!verifiedToken) {
    redirect('/admin/login');
  }

  const hasPermission = await authService.checkUserPermission(token, PERMISSIONS.PACKAGES_CREATE);
  if (!hasPermission) {
    return (
      <div className="max-w-6xl mx-auto">
        <div className="bg-var-danger-bg border border-var-danger-border rounded-2xl p-6 text-center">
          <h1 className="text-2xl font-bold text-var-danger-text">Access Denied</h1>
          <p className="text-var-danger-text mt-2">
            You don`t have permission to create packages.
          </p>
        </div>
      </div>
    );
  }

  return <PackageForm />;
}