All files / src/components/settings SettingsCard.tsx

100% Statements 2/2
100% Branches 2/2
100% Functions 1/1
100% Lines 2/2

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35                                        51x 51x                          
import React from "react";
import { View, type StyleProp, type ViewStyle } from "react-native";
import { useTheme } from "../../hooks/useTheme";
import { settingsSharedStyles } from "./settingsSharedStyles";
 
export type SettingsCardProps = {
  children: React.ReactNode;
  style?: StyleProp<ViewStyle>;
  /** Override default bottom margin (e.g. 14 for tighter stacks). */
  marginBottom?: number;
};
 
/**
 * Composite leaf: themed surface card. Compose with row primitives inside.
 */
export function SettingsCard({
  children,
  style,
  marginBottom,
}: Readonly<SettingsCardProps>) {
  const { colors } = useTheme();
  return (
    <View
      style={[
        settingsSharedStyles.card,
        { backgroundColor: colors.card },
        marginBottom !== undefined && { marginBottom },
        style,
      ]}
    >
      {children}
    </View>
  );
}