diff options
author | Eric Bailey <git@esb.lol> | 2024-09-13 12:02:58 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-13 18:02:58 +0100 |
commit | b3381da1c11301163600a931ee6c481dea3de6f4 (patch) | |
tree | 8bae385490c144556dd0293b79d686c39d221e79 /src/components/MediaInsetBorder.tsx | |
parent | c7231537f1d18de01bb3502e508999276e47b6df (diff) | |
download | voidsky-b3381da1c11301163600a931ee6c481dea3de6f4.tar.zst |
Image/video border + tweaks (#5324)
* Image/video border (#5253) * Update AutoSizedImage.tsx * Update AutoSizedImage.tsx * Update Gallery.tsx * Update ExternalLinkEmbed.tsx * Update MediaPreview.tsx * Update UserAvatar.tsx * Update ExternalLinkEmbed.tsx * Update ExternalPlayerEmbed.tsx * Update ExternalGifEmbed.tsx * Update GifEmbed.tsx * Update ExternalGifEmbed.tsx * Update GifEmbed.tsx * Update UserAvatar.tsx * Update ExternalPlayerEmbed.tsx * Update ExternalPlayerEmbed.tsx * video * Update QuoteEmbed.tsx * Tweaks, abstract components --------- Co-authored-by: Minseo Lee <itoupluk427@gmail.com>
Diffstat (limited to 'src/components/MediaInsetBorder.tsx')
-rw-r--r-- | src/components/MediaInsetBorder.tsx | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/components/MediaInsetBorder.tsx b/src/components/MediaInsetBorder.tsx new file mode 100644 index 000000000..839d79cae --- /dev/null +++ b/src/components/MediaInsetBorder.tsx @@ -0,0 +1,42 @@ +import React from 'react' + +import {atoms as a, useTheme, ViewStyleProp} from '#/alf' +import {Fill} from '#/components/Fill' + +/** + * Applies and thin border within a bounding box. Used to contrast media from + * bg of the container. + */ +export function MediaInsetBorder({ + children, + style, + opaque, +}: { + children?: React.ReactNode + /** + * Used where this border needs to match adjacent borders, such as in + * external link previews + */ + opaque?: boolean +} & ViewStyleProp) { + const t = useTheme() + const isLight = t.name === 'light' + return ( + <Fill + style={[ + a.rounded_sm, + a.border, + opaque + ? [t.atoms.border_contrast_low] + : [ + isLight + ? t.atoms.border_contrast_low + : t.atoms.border_contrast_high, + {opacity: 0.6}, + ], + style, + ]}> + {children} + </Fill> + ) +} |