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>
31 lines
833 B
TypeScript
31 lines
833 B
TypeScript
import {View} from 'react-native'
|
|
import {msg} from '@lingui/macro'
|
|
import {useLingui} from '@lingui/react'
|
|
|
|
import {atoms as a, useTheme, type ViewStyleProp} from '#/alf'
|
|
import {Button, ButtonIcon} from '#/components/Button'
|
|
import {TimesLarge_Stroke2_Corner0_Rounded as X} from '#/components/icons/Times'
|
|
|
|
export function ExternalEmbedRemoveBtn({
|
|
onRemove,
|
|
style,
|
|
}: {onRemove: () => void} & ViewStyleProp) {
|
|
const t = useTheme()
|
|
const {_} = useLingui()
|
|
|
|
return (
|
|
<View style={[a.absolute, {top: 8, right: 8}, a.z_50, style]}>
|
|
<Button
|
|
label={_(msg`Remove attachment`)}
|
|
onPress={onRemove}
|
|
size="small"
|
|
variant="solid"
|
|
color="secondary"
|
|
shape="round"
|
|
style={[t.atoms.shadow_sm]}>
|
|
<ButtonIcon icon={X} size="sm" />
|
|
</Button>
|
|
</View>
|
|
)
|
|
}
|