As the title suggests, my table is not responsive for mobile devices. I applied overflow-x-auto but the scrollbar is not appearing. This is how it looks on mobile devices
This is my first time posting on stack overflow so if I did something wrong I apologize.
This is my current code. I have daisyui and tailwind installed.
<div className="overflow-x-auto">
<table {...getTableProps()} className="table table-xs md:table-md lg:table-lg mt-10 border-collapse">
<thead>
{headerGroups.map((headerGroup, idx) => (
<tr key={idx} {...headerGroup.getHeaderGroupProps()}>
{headerGroup.headers.map((column, idx) => (
<th key={idx} {...column.getHeaderProps()}>
{column.render("Header")}
</th>
))}
</tr>
))}
</thead>
<tbody {...getTableBodyProps()}>
{page.map((row, idx) => {
prepareRow(row);
return (
<tr key={idx} {...row.getRowProps()}>
{row.cells.map((cell, idx) => (
<td key={idx} {...cell.getCellProps()}>
{cell.render("Cell")}
</td>
))}
</tr>
);
})}
</tbody>
</table>
<div className="mt-12 flex flex-col space-y-1 md:flex-row justify-between items-center">
<span>
Go to Page :{" "}
<input
type="number"
className="w-12 border"
defaultValue={pageIndex + 1}
onChange={(e) => {
const pageNumber = e.target.value
? Number(e.target.value) - 1
: 0;
gotoPage(pageNumber);
}}
/>
</span>
<div className="flex flex-col space-y-1 md:flex-row justify-center items-center gap-6">
<button
className="btn bg-rose text-white"
onClick={() => previousPage()}
disabled={!canPreviousPage}
>
Previous
</button>
<button
onClick={() => gotoPage(0)}
disabled={!canPreviousPage}
className="text-rose font-bold"
>
{"<<"}
</button>
<span>
Page{" "}
<strong>
{pageIndex + 1} of {pageOptions.length}
</strong>{" "}
</span>
<button
onClick={() => gotoPage(pageCount - 1)}
disabled={!canNextPage}
className="text-rose font-bold"
>
{">>"}
</button>
<button
className="btn bg-rose text-white"
onClick={() => nextPage()}
disabled={!canNextPage}
>
Next
</button>
</div>
<div className="flex flex-col lg:flex-row lg:gap-2">
<h1>Rows in page</h1>
<select
className="border"
value={pageSize}
onChange={(e) => setPageSize(Number(e.target.value))}
>
<option value="3">Show 3</option>
<option value="5">Show 5</option>
<option value="10">Show 10</option>
<option value="15">Show 15</option>
<option value="20">Show 20</option>
</select>
</div>
</div>
</div>