import DataStateSkeleton from '@/components/helper/skeleton/DataStateSkeleton';
import Table from '@/components/Table';
import { Area } from '@/types/api/master-data/area';
import { ColumnDef } from '@tanstack/react-table';

const AreaTableSkeleton = ({
  columns,
  icon,
  title = 'No Data Available',
  subtitle = 'There is no area data displayed. Enter area data to get started.',
}: {
  columns: ColumnDef<Area>[];
  icon: React.ReactNode;
  title?: string;
  subtitle?: string;
}) => {
  return (
    <div className='relative size-full'>
      <Table
        data={[]}
        columns={columns}
        isLoading={true}
        className={{
          skeletonCellClassName: 'animate-none w-full h-5 bg-base-content/4',
          headerColumnClassName: 'whitespace-nowrap',
          containerClassName: 'mb-0 overflow-hidden',
          tableWrapperClassName: 'overflow-hidden',
        }}
      />
      <div className='absolute inset-0 flex items-center justify-center'>
        <DataStateSkeleton icon={icon} title={title} description={subtitle} />
      </div>
    </div>
  );
};

export default AreaTableSkeleton;
