import ProfileEditForm from '@/components/admin/user-management/user-details/profile/profile-edit-form';
import ProfileView from '@/components/admin/user-management/user-details/profile/profile-view';
import { toProfileData } from '@/components/admin/user-management/user-details/profile/types';
import Loader from '@/components/common/loader';
import type { User } from '@/types';
import { useState } from 'react';

export default function Profile({ user }: { user?: User }) {
  const [isEditing, setIsEditing] = useState(false);

  if (!user) return <Loader />;

  const data = toProfileData(user);

  if (isEditing) {
    return (
      <ProfileEditForm
        data={data}
        userId={user.id}
        onSaved={() => setIsEditing(false)}
        onCancel={() => setIsEditing(false)}
      />
    );
  }

  return (
    <ProfileView
      data={data}
      userId={user.id}
      onEdit={() => setIsEditing(true)}
    />
  );
}
