forked from mrzachnugent/react-native-reusables
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathskeleton.tsx
32 lines (32 loc) · 915 Bytes
/
skeleton.tsx
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
import { Skeleton as MotiSkeleton } from 'moti/skeleton';
import { useColorScheme } from 'nativewind';
import React from 'react';
import { NAV_THEME } from '~/lib/constants';
const COLORS_LIGHT_THEME = [
NAV_THEME.light.card,
NAV_THEME.light.border,
NAV_THEME.light.card,
NAV_THEME.light.border,
NAV_THEME.light.card,
NAV_THEME.light.border,
];
const COLORS_DARK_THEME = [
NAV_THEME.dark.border,
NAV_THEME.dark.card,
NAV_THEME.dark.border,
NAV_THEME.dark.card,
NAV_THEME.dark.card,
NAV_THEME.dark.border,
];
/**
* @docs https://moti.fyi/skeleton
*/
export function Skeleton(props: React.ComponentProps<typeof MotiSkeleton>) {
const { colorScheme } = useColorScheme();
const {
colorMode = colorScheme,
colors = colorScheme === 'dark' ? COLORS_DARK_THEME : COLORS_LIGHT_THEME,
...rest
} = props;
return <MotiSkeleton colorMode={colorMode} colors={colors} {...rest} />;
}