Skip to content

Commit 7d15819

Browse files
committed
feat: rename grid item info
1 parent d555a47 commit 7d15819

File tree

1 file changed

+19
-32
lines changed
  • electron/renderer/components/grid

1 file changed

+19
-32
lines changed

electron/renderer/components/grid/grid.tsx

+19-32
Original file line numberDiff line numberDiff line change
@@ -5,29 +5,16 @@
55
import type { ReactNode } from 'react';
66
import { useCallback, useMemo, useState } from 'react';
77
import { useLogger } from '../../hooks/logger.jsx';
8-
import type { GridItemMetadata } from './grid-item.jsx';
8+
import type {
9+
GridItemBoundary,
10+
GridItemContent,
11+
GridItemInfo,
12+
} from '../../types/grid.types.js';
913
import { GridItem } from './grid-item.jsx';
1014

11-
export interface GridContentItem {
12-
layout: GridItemMetadata;
13-
content: ReactNode;
14-
}
15-
1615
export interface GridProps {
17-
/**
18-
* The dimension for the grid.
19-
*/
20-
boundary: {
21-
/**
22-
* The max height of the grid in pixels.
23-
*/
24-
height: number;
25-
/**
26-
* The max width of the grid in pixels.
27-
*/
28-
width: number;
29-
};
30-
contentItems: Array<GridContentItem>;
16+
boundary: GridItemBoundary;
17+
contentItems: Array<GridItemContent>;
3118
}
3219

3320
export const Grid: React.FC<GridProps> = (props: GridProps): ReactNode => {
@@ -39,32 +26,32 @@ export const Grid: React.FC<GridProps> = (props: GridProps): ReactNode => {
3926

4027
const focusedContentItemId = useMemo(() => {
4128
const focusedItem = contentItems.find((contentItem) => {
42-
return contentItem.layout.isFocused;
29+
return contentItem.isFocused;
4330
});
44-
return focusedItem?.layout?.itemId ?? '';
31+
return focusedItem?.itemId ?? '';
4532
}, [contentItems]);
4633

4734
const [focusedItemId, setFocusedItemId] =
4835
useState<string>(focusedContentItemId);
4936

50-
const onItemFocus = useCallback((itemMeta: GridItemMetadata) => {
51-
const { itemId } = itemMeta;
37+
const onItemFocus = useCallback((item: GridItemInfo) => {
38+
const { itemId } = item;
5239
setFocusedItemId(itemId);
5340
// TODO when an item is resized then save layout, including the focused item
5441
}, []);
5542

5643
const onItemClose = useCallback(
57-
(itemMeta: GridItemMetadata) => {
58-
const { itemId } = itemMeta;
44+
(item: GridItemInfo) => {
45+
const { itemId } = item;
5946
// TODO when an item is closed then remove it from layout and save layout
6047
logger.debug(`closed item ${itemId}`);
6148
},
6249
[logger]
6350
);
6451

6552
const onItemMoveResize = useCallback(
66-
(itemMeta: GridItemMetadata) => {
67-
const { itemId } = itemMeta;
53+
(item: GridItemInfo) => {
54+
const { itemId } = item;
6855
// TODO when an item is dragged then save layout
6956
logger.debug(`moved item ${itemId}`);
7057
},
@@ -75,10 +62,10 @@ export const Grid: React.FC<GridProps> = (props: GridProps): ReactNode => {
7562
return contentItems.map((contentItem) => {
7663
return (
7764
<GridItem
78-
key={contentItem.layout.itemId}
79-
itemId={contentItem.layout.itemId}
80-
itemTitle={contentItem.layout.itemTitle}
81-
isFocused={contentItem.layout.itemId === focusedItemId}
65+
key={contentItem.itemId}
66+
itemId={contentItem.itemId}
67+
itemTitle={contentItem.itemTitle}
68+
isFocused={contentItem.itemId === focusedItemId}
8269
onFocus={onItemFocus}
8370
onClose={onItemClose}
8471
onMoveResize={onItemMoveResize}

0 commit comments

Comments
 (0)