Brijesh's Git Server — watchman-frontend @ e5f8a20cacd1325bfa96c4cf086b0645862a9d5f

admin site for watchman

src/components/table.tsx (view raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
export default function Table({
  columns,
  data,
}: {
  columns: string[];
  data: any[];
}) {
  return (
    <div>
      <div className="flow-root">
        <div className="-mx-4 -my-2 overflow-x-auto sm:-mx-6 lg:-mx-8">
          <div className="inline-block min-w-full py-2 align-middle sm:px-6 lg:px-8">
            <div className="overflow-hidden shadow ring-1 ring-slate-200 sm:-lg">
              <table className="min-w-full divide-y divide-slate-200">
                <thead className="bg-slate-100">
                  <tr>
                    {columns.map((column: string) => (
                      <th
                        key={column}
                        scope="col"
                        className="px-3 py-2 text-left text-sm font-semibold text-slate-500"
                      >
                        {column}
                      </th>
                    ))}
                  </tr>
                </thead>
                <tbody className="divide-y divide-slate-200 bg-white">
                  {data.map((row: any) => (
                    <tr key={row.id}>
                      {columns.map((column: string) => (
                        <td
                          key={column}
                          className="whitespace-nowrap py-2 px-3 text-sm text-slate-600"
                        >
                          {row[column.toLowerCase()]}
                        </td>
                      ))}
                    </tr>
                  ))}
                </tbody>
              </table>
            </div>
          </div>
        </div>
      </div>
    </div>
  );
}