1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-10-27 11:02:16 +01:00

chore: align text to cell top (#10837)

First part of UI refactoring for the change requests table: align
content to the top of the cell to facilitate scanning the table.

To facilitate this, I've mad the paginated table stylable by adding a
class name.

Before:
<img width="1810" height="1500" alt="image"
src="https://github.com/user-attachments/assets/febc9471-5d57-4afa-a9b0-0d22044fcd92"
/>

After:
<img width="1809" height="1326" alt="image"
src="https://github.com/user-attachments/assets/e6aea2e9-0f1d-42f9-bd09-ad7317acbd4e"
/>
This commit is contained in:
Thomas Heartman 2025-10-21 14:08:03 +02:00 committed by GitHub
parent 859e3bbdde
commit b9d81e5f59
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 16 additions and 3 deletions

View File

@ -1,5 +1,5 @@
import { useId, useMemo } from 'react'; import { useId, useMemo } from 'react';
import { Box } from '@mui/material'; import { Box, styled } from '@mui/material';
import { PageContent } from 'component/common/PageContent/PageContent'; import { PageContent } from 'component/common/PageContent/PageContent';
import { PageHeader } from 'component/common/PageHeader/PageHeader'; import { PageHeader } from 'component/common/PageHeader/PageHeader';
import { PaginatedTable, TablePlaceholder } from 'component/common/Table'; import { PaginatedTable, TablePlaceholder } from 'component/common/Table';
@ -36,6 +36,14 @@ import { useAuthUser } from 'hooks/api/getters/useAuth/useAuthUser.js';
const columnHelper = createColumnHelper<ChangeRequestSearchItemSchema>(); const columnHelper = createColumnHelper<ChangeRequestSearchItemSchema>();
const StyledPaginatedTable = styled(
PaginatedTable<ChangeRequestSearchItemSchema>,
)(() => ({
td: {
verticalAlign: 'top',
},
}));
const ChangeRequestsInner = () => { const ChangeRequestsInner = () => {
const { user } = useAuthUser(); const { user } = useAuthUser();
const urlParams = new URLSearchParams(window.location.search); const urlParams = new URLSearchParams(window.location.search);
@ -204,7 +212,10 @@ const ChangeRequestsInner = () => {
className={themeStyles.fullwidth} className={themeStyles.fullwidth}
ref={bodyLoadingRef} ref={bodyLoadingRef}
> >
<PaginatedTable tableInstance={table} totalItems={total} /> <StyledPaginatedTable
tableInstance={table}
totalItems={total}
/>
{data.length === 0 && !loading ? ( {data.length === 0 && !loading ? (
<Box sx={(theme) => ({ padding: theme.spacing(1, 3, 3) })}> <Box sx={(theme) => ({ padding: theme.spacing(1, 3, 3) })}>
<TablePlaceholder> <TablePlaceholder>

View File

@ -53,9 +53,11 @@ const TableContainer = styled('div')(({ theme }) => ({
* Use with react-table v8 * Use with react-table v8
*/ */
export const PaginatedTable = <T extends object>({ export const PaginatedTable = <T extends object>({
className,
totalItems, totalItems,
tableInstance, tableInstance,
}: { }: {
className?: string;
tableInstance: TableType<T>; tableInstance: TableType<T>;
totalItems?: number; totalItems?: number;
}) => { }) => {
@ -76,7 +78,7 @@ export const PaginatedTable = <T extends object>({
return ( return (
<> <>
<TableContainer ref={tableRef}> <TableContainer ref={tableRef}>
<Table> <Table className={className}>
<TableHead> <TableHead>
{tableInstance.getHeaderGroups().map((headerGroup) => ( {tableInstance.getHeaderGroups().map((headerGroup) => (
<TableRow key={headerGroup.id}> <TableRow key={headerGroup.id}>