import React from 'react' import { DimensionValue, StyleProp, StyleSheet, View, ViewStyle, } from 'react-native' import {usePalette} from 'lib/hooks/usePalette' import {s} from 'lib/styles' import {useTheme} from 'lib/ThemeContext' import {atoms as a, useTheme as useTheme_NEW} from '#/alf' import {Bubble_Stroke2_Corner2_Rounded as Bubble} from '#/components/icons/Bubble' import { Heart2_Filled_Stroke2_Corner0_Rounded as HeartIconFilled, Heart2_Stroke2_Corner0_Rounded as HeartIconOutline, } from '#/components/icons/Heart2' import {Repost_Stroke2_Corner2_Rounded as Repost} from '#/components/icons/Repost' export function LoadingPlaceholder({ width, height, style, }: { width: DimensionValue height: DimensionValue style?: StyleProp }) { const theme = useTheme() return ( ) } export function PostLoadingPlaceholder({ style, }: { style?: StyleProp }) { const t = useTheme_NEW() const pal = usePalette('default') return ( ) } export function PostFeedLoadingPlaceholder() { return ( ) } export function NotificationLoadingPlaceholder({ style, }: { style?: StyleProp }) { const pal = usePalette('default') return ( ) } export function NotificationFeedLoadingPlaceholder() { return ( <> ) } export function ProfileCardLoadingPlaceholder({ style, }: { style?: StyleProp }) { const pal = usePalette('default') return ( ) } export function ProfileCardFeedLoadingPlaceholder() { return ( <> ) } export function FeedLoadingPlaceholder({ style, showLowerPlaceholder = true, showTopBorder = true, }: { style?: StyleProp showTopBorder?: boolean showLowerPlaceholder?: boolean }) { const pal = usePalette('default') return ( {showLowerPlaceholder && ( )} ) } export function FeedFeedLoadingPlaceholder() { return ( <> ) } const styles = StyleSheet.create({ loadingPlaceholder: { borderRadius: 6, }, post: { flexDirection: 'row', alignItems: 'flex-start', paddingHorizontal: 10, paddingTop: 20, paddingBottom: 5, paddingRight: 15, }, postCtrls: { opacity: 0.5, flexDirection: 'row', justifyContent: 'space-between', }, postCtrl: { flex: 1, }, postBtn: { flex: 1, flexDirection: 'row', alignItems: 'center', padding: 5, }, avatar: { borderRadius: 26, marginRight: 10, marginLeft: 8, }, notification: { flexDirection: 'row', padding: 10, }, profileCard: { flexDirection: 'row', padding: 10, margin: 1, }, profileCardAvi: { borderRadius: 20, marginRight: 10, }, smallAvatar: { borderRadius: 15, marginRight: 10, }, })