Skip to content

Commit cfbb241

Browse files
authored
fix: make the optimized table dark mode friendly (#29)
* fix: make the optimized table dark mode friendly * fix: duplicated background color
1 parent 2d171f5 commit cfbb241

File tree

3 files changed

+27
-7
lines changed

3 files changed

+27
-7
lines changed

src/renderer/components/OptimizeTable/index.tsx

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,12 @@ import styles from './styles.module.css';
1010

1111
interface OptimizeTableProps {
1212
data: unknown[][];
13-
headers: { name: string; initialSize: number; resizable?: boolean }[];
13+
headers: {
14+
name: string;
15+
initialSize: number;
16+
resizable?: boolean;
17+
icon?: ReactElement;
18+
}[];
1419
renderCell: (y: number, x: number) => ReactElement;
1520
rowHeight: number;
1621
renderAhead: number;
@@ -235,7 +240,7 @@ export default function OptimizeTable({
235240
return (
236241
<div
237242
ref={containerRef}
238-
className={styles.tableContainer}
243+
className={`${styles.tableContainer} scroll`}
239244
onScroll={onScroll}
240245
>
241246
<div
@@ -256,6 +261,11 @@ export default function OptimizeTable({
256261
<tr>
257262
{headers.map((header, idx) => (
258263
<th key={header.name}>
264+
{header.icon && (
265+
<div className={styles.tableHeaderIcon}>
266+
{header.icon}
267+
</div>
268+
)}
259269
<div className={styles.tableCellContent}>{header.name}</div>
260270
{header.resizable && (
261271
<ResizeHandler idx={idx} onResize={onHeaderResize} />

src/renderer/components/OptimizeTable/styles.module.css

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,20 @@
3636
.tableContainer th {
3737
position: sticky;
3838
top: 0;
39-
background: #fff;
4039
user-select: none;
4140
padding: 0px 10px;
4241
height: 35px;
4342
line-height: 35px;
43+
background: var(--color-surface);
44+
text-align: left;
45+
display: flex;
46+
flex-direction: row;
47+
}
48+
49+
.tableHeaderIcon {
50+
margin-right: 5px;
51+
display: flex;
52+
align-items: center;
4453
}
4554

4655
.resizer {
@@ -50,7 +59,7 @@
5059
bottom: 0;
5160
width: 3px;
5261
cursor: col-resize;
53-
background: #800;
62+
background: var(--color-critical);
5463
opacity: 0;
5564
}
5665

src/renderer/screens/DatabaseScreen/QueryResultViewer/QueryResultTable.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { useContextMenu } from 'renderer/contexts/ContextMenuProvider';
99
import { useQueryResultChange } from 'renderer/contexts/QueryResultChangeProvider';
1010
import { useTableCellManager } from './TableCellManager';
1111
import OptimizeTable from 'renderer/components/OptimizeTable';
12+
import Icon from 'renderer/components/Icon';
1213

1314
interface QueryResultTableProps {
1415
result: QueryResult;
@@ -86,7 +87,9 @@ function QueryResultTable({ result, page, pageSize }: QueryResultTableProps) {
8687
return result.headers.map((header, idx) => ({
8788
name: header.name || '',
8889
resizable: true,
89-
// icon: header?.schema?.primaryKey ? <Icon.GreenKey /> : undefined,
90+
icon: header?.schema?.primaryKey ? (
91+
<Icon.GreenKey size="sm" />
92+
) : undefined,
9093
initialSize: Math.max(
9194
header.name.length * 10,
9295
getInitialSizeByHeaderType(idx, header)
@@ -110,8 +113,6 @@ function QueryResultTable({ result, page, pageSize }: QueryResultTableProps) {
110113
[data, updatableTables, page, pageSize]
111114
);
112115

113-
console.log(headerMemo, result.rows);
114-
115116
return (
116117
<div className={styles.container} onContextMenu={handleContextMenu}>
117118
<OptimizeTable

0 commit comments

Comments
 (0)