import { useMemo } from 'react';

interface AmenityData {
  amenitiesId: string;
  title: string;
  slug: string;
  icon: string;
}

interface PropertyTypeFeatureData {
  title: string;
  slug: string;
  icon: string;
  count: boolean;
  description: string;
}

interface PropertyFeatureItem {
  propertyMappingId: string;
  propertyFeatureId: string;
  propertyId: string;
  propertyTypeId: string;
  propertyTypeFeatureData: PropertyTypeFeatureData;
  extras: Record<string, any>;
  count: number;
  data: any[]; // You can type this more specifically if needed
}

interface WorkspaceAndHomebase {
  workspaceData: PropertyFeatureItem | null;
  homebaseData: PropertyFeatureItem[];
}

const useWorkspaceAndHomebase = (
  featuresArray: PropertyFeatureItem[] = []
): WorkspaceAndHomebase => {
  return useMemo(() => {
    if (!Array.isArray(featuresArray)) return { workspaceData: null, homebaseData: [] };

    const workspaceIndex = featuresArray.findIndex(
      item => item.propertyTypeFeatureData?.slug === 'workspace'
    );

    if (workspaceIndex === -1) {
      return { workspaceData: null, homebaseData: featuresArray };
    }

    const workspaceData = featuresArray[workspaceIndex];
    const homebaseData = featuresArray.filter((_, index) => index !== workspaceIndex);

    return { workspaceData, homebaseData };
  }, [featuresArray]);
};

export default useWorkspaceAndHomebase;
