Skip to content

Commit 2f64bf6

Browse files
committed
Rename component Table to settings-list
1 parent 80e4f12 commit 2f64bf6

File tree

5 files changed

+44
-45
lines changed

5 files changed

+44
-45
lines changed

design-system/Table/Table.tsx

Lines changed: 0 additions & 34 deletions
This file was deleted.

design-system/Table/TableRow.tsx renamed to design-system/settings-list/settings-list-row.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@ import { useAppTheme, ThemedStyle } from "@/theme/useAppTheme";
55
import { HStack } from "@/design-system/HStack";
66
import { VStack } from "@/design-system/VStack";
77
import { Icon } from "@/design-system/Icon/Icon";
8-
import { ITableRow } from "./Table.types";
8+
import { ISettingsListRow } from "./settings-list.types";
99

10-
type ITableRowProps = {
11-
row: ITableRow;
10+
type ISettingsListRowProps = {
11+
row: ISettingsListRow;
1212
editMode?: boolean;
1313
};
1414

15-
export const TableRow = memo(function TableRow({
15+
export const SettingsListRow = memo(function SettingsListRow({
1616
row,
1717
editMode,
18-
}: ITableRowProps) {
18+
}: ISettingsListRowProps) {
1919
const { theme, themed } = useAppTheme();
2020

2121
const content = (
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import React, { memo } from "react";
2+
import { View, ViewStyle } from "react-native";
3+
import { useAppTheme, ThemedStyle } from "@/theme/useAppTheme";
4+
import { SettingsListRow } from "./settings-list-row";
5+
import { ISettingsListRow } from "./settings-list.types";
6+
7+
type ISettingsListProps = {
8+
rows: ISettingsListRow[];
9+
editMode?: boolean;
10+
};
11+
12+
export const SettingsList = memo(function SettingsList({
13+
rows,
14+
editMode,
15+
}: ISettingsListProps) {
16+
const { themed } = useAppTheme();
17+
18+
return (
19+
<View style={themed($container)}>
20+
{rows.map((row, index) => (
21+
<SettingsListRow
22+
key={row.label + index}
23+
row={row}
24+
editMode={editMode}
25+
/>
26+
))}
27+
</View>
28+
);
29+
});
30+
31+
const $container: ThemedStyle<ViewStyle> = () => ({
32+
width: "100%",
33+
});
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
export type ITableRow = {
1+
export type ISettingsListRow = {
22
label: string;
3-
value?: string | number;
3+
value?: string | boolean;
4+
onPress?: () => void;
45
onValueChange?: (value: boolean) => void;
5-
isSwitch?: boolean;
66
isWarning?: boolean;
7+
isSwitch?: boolean;
78
disabled?: boolean;
8-
onPress?: () => void;
99
};

screens/Profile.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {
1010
} from "react-native";
1111
import { Screen } from "@/components/Screen/ScreenComp/Screen";
1212
import { ContactCard } from "@/features/profiles/components/contact-card";
13-
import { Table } from "@/design-system/Table/Table";
13+
import { SettingsList } from "@/design-system/settings-list/settings-list";
1414
import { VStack } from "@/design-system/VStack";
1515
import { Text } from "@/design-system/Text";
1616
import { useRoute, useRouter } from "@navigation/useNavigation";
@@ -274,7 +274,7 @@ export default function ProfileScreen() {
274274
<VStack
275275
style={[themed($section), { paddingVertical: theme.spacing.lg }]}
276276
>
277-
<Table
277+
<SettingsList
278278
editMode={editMode}
279279
rows={[
280280
...(notificationsPermissionStatus !== "granted"

0 commit comments

Comments
 (0)