45f0f7eefe
* Direct port of embeds to new arch (cherry picked from commit cc3fa1f6cea396dd9222486c633a508bfee1ecd6) * Re-org * Split out ListEmbed and FeedEmbed * Split out ImageEmbed * DRY up a bit * Port over ExternalLinkEmbed * Port over Player and Gif embeds * Migrate ComposerReplyTo * Replace other usages of old post-embeds * Migrate view contexts * Copy pasta VideoEmbed * Copy pasta GifEmbed * Swap in new file location * Clean up * Fix up native * Add back in correct moderation on List and Feed embeds * Format * Prettier * delete old video utils * move bandwidth-estimate.ts * Remove log * Add LazyQuoteEmbed for composer use * Clean up unused things * Remove remaining items * Prettier * Fix imports * Handle nested quotes same as prod * Add back silenced error handling * Fix lint --------- Co-authored-by: Samuel Newman <mozzius@protonmail.com>
34 lines
869 B
TypeScript
34 lines
869 B
TypeScript
import {StyleSheet, View} from 'react-native'
|
|
|
|
import {usePalette} from '#/lib/hooks/usePalette'
|
|
import {InfoCircleIcon} from '#/lib/icons'
|
|
import {Text} from '#/view/com/util/text/Text'
|
|
import {atoms as a, useTheme} from '#/alf'
|
|
|
|
export function PostPlaceholder({children}: {children: React.ReactNode}) {
|
|
const t = useTheme()
|
|
const pal = usePalette('default')
|
|
return (
|
|
<View
|
|
style={[styles.errorContainer, a.border, t.atoms.border_contrast_low]}>
|
|
<InfoCircleIcon size={18} style={pal.text} />
|
|
<Text type="lg" style={pal.text}>
|
|
{children}
|
|
</Text>
|
|
</View>
|
|
)
|
|
}
|
|
|
|
const styles = StyleSheet.create({
|
|
errorContainer: {
|
|
flexDirection: 'row',
|
|
alignItems: 'center',
|
|
gap: 4,
|
|
borderRadius: 8,
|
|
marginTop: 8,
|
|
paddingVertical: 14,
|
|
paddingHorizontal: 14,
|
|
borderWidth: StyleSheet.hairlineWidth,
|
|
},
|
|
})
|