// File Path: monorepo/web/frontend/src/pages/Admin/Account/Update/Page.jsx

import React, { memo } from "react";
import {
  useAccountManager,
  useAuthManager,
  useTagManager,
  useVehicleTypeManager,
  useHowHearAboutUsItemManager,
} from "../../../../services/Services";
import { AccountFormView } from "../../../../components/business/views";
import { UIXThemeProvider } from "../../../../components/UIX";

/**
 * Account Update Page for Admin Users
 * Allows editing of profile information for Executive, Management, and Frontline staff
 */
function AdminAccountUpdatePage() {
  return (
    <UIXThemeProvider>
      <AdminAccountUpdatePageContent />
    </UIXThemeProvider>
  );
}

const AdminAccountUpdatePageContent = memo(function AdminAccountUpdatePageContent() {
  // Services
  const accountManager = useAccountManager();
  const authManager = useAuthManager();
  const tagManager = useTagManager();
  const vehicleTypeManager = useVehicleTypeManager();
  const howHearAboutUsItemManager = useHowHearAboutUsItemManager();

  return (
    <AccountFormView
      userType="admin"
      accountManager={accountManager}
      authManager={authManager}
      tagManager={tagManager}
      vehicleTypeManager={vehicleTypeManager}
      howHearAboutUsItemManager={howHearAboutUsItemManager}
    />
  );
});
AdminAccountUpdatePageContent.displayName = 'AdminAccountUpdatePageContent';

export default AdminAccountUpdatePage;
