import { getCreatorList } from '@/services/creators';
import type { HomepageCollectionTextFields } from '@/services/homeCollections';

import type { CreatorListData } from '@/types/Creator';

import HomepageInteractiveCreatorPickerClient from './HomepageInteractiveCreatorPickerClient';

interface HomepageInteractiveCreatorPickerProps {
  locale: string;
  textFields?: HomepageCollectionTextFields | null;
}

const HomepageInteractiveCreatorPicker: React.FC<HomepageInteractiveCreatorPickerProps> = async ({
  locale,
  textFields,
}) => {
  const sortLocale = locale.startsWith('en') ? 'en' : 'hu';
  let creators: CreatorListData[] = [];

  try {
    const response = await getCreatorList({
      body: {
        onlyWithData: true,
      },
    });

    creators = response.sort((a, b) => (a.nev || '').localeCompare(b.nev || '', sortLocale));
  } catch (error) {
    console.error('Failed to preload creators for interactive picker:', error);
  }

  return <HomepageInteractiveCreatorPickerClient creators={creators} textFields={textFields} />;
};

export default HomepageInteractiveCreatorPicker;
