import type { DataTableColDef } from "@/components/ui/data-table";
import type { GridValidRowModel } from "@mui/x-data-grid";

export const MEETING_REQUEST_COLUMN_WIDTH = 280;

export const MEETING_SUMMARY_TABLE_CONFIG = {
  minWidth: 2062,
  pageSize: 9,
  rowHeight: 60,
  headerHeight: 50,
};

/** Lock each column to its configured width so DataGrid does not compress columns. */
export function withFixedColumnWidths<Row extends GridValidRowModel>(
  columns: DataTableColDef<Row>[],
): DataTableColDef<Row>[] {
  return columns.map((column) => {
    const width = typeof column.width === "number" ? column.width : 120;

    return {
      ...column,
      width,
      minWidth: width,
      maxWidth: width,
      flex: 0,
      resizable: false,
    };
  });
}
