From 6885fb2b41efdb29e386cf696ea7304baf3a87c8 Mon Sep 17 00:00:00 2001
From: Paul Frazee <pfrazee@gmail.com>
Date: Mon, 2 Jan 2023 20:56:35 -0600
Subject: Bump api@0.0.5 and use the type guard helpers

---
 src/view/com/util/PostEmbeds.tsx | 28 +++++++++++++---------------
 1 file changed, 13 insertions(+), 15 deletions(-)

(limited to 'src/view/com/util/PostEmbeds.tsx')

diff --git a/src/view/com/util/PostEmbeds.tsx b/src/view/com/util/PostEmbeds.tsx
index df2de681c..611cedf55 100644
--- a/src/view/com/util/PostEmbeds.tsx
+++ b/src/view/com/util/PostEmbeds.tsx
@@ -1,5 +1,5 @@
 import React from 'react'
-import {ImageStyle, StyleSheet, StyleProp, View, ViewStyle} from 'react-native'
+import {StyleSheet, StyleProp, View, ViewStyle} from 'react-native'
 import {AppBskyEmbedImages, AppBskyEmbedExternal} from '@atproto/api'
 import {Link} from '../util/Link'
 import {Text} from './text/Text'
@@ -23,39 +23,38 @@ export function PostEmbeds({
 }) {
   const pal = usePalette('default')
   const store = useStores()
-  if (embed?.$type === 'app.bsky.embed.images#presented') {
-    const imgEmbed = embed as AppBskyEmbedImages.Presented
-    if (imgEmbed.images.length > 0) {
-      const uris = imgEmbed.images.map(img => img.fullsize)
+  if (AppBskyEmbedImages.isPresented(embed)) {
+    if (embed.images.length > 0) {
+      const uris = embed.images.map(img => img.fullsize)
       const openLightbox = (index: number) => {
         store.shell.openLightbox(new ImagesLightbox(uris, index))
       }
-      if (imgEmbed.images.length === 4) {
+      if (embed.images.length === 4) {
         return (
           <View style={styles.imagesContainer}>
             <ImageLayoutGrid
               type="four"
-              uris={imgEmbed.images.map(img => img.thumb)}
+              uris={embed.images.map(img => img.thumb)}
               onPress={openLightbox}
             />
           </View>
         )
-      } else if (imgEmbed.images.length === 3) {
+      } else if (embed.images.length === 3) {
         return (
           <View style={styles.imagesContainer}>
             <ImageLayoutGrid
               type="three"
-              uris={imgEmbed.images.map(img => img.thumb)}
+              uris={embed.images.map(img => img.thumb)}
               onPress={openLightbox}
             />
           </View>
         )
-      } else if (imgEmbed.images.length === 2) {
+      } else if (embed.images.length === 2) {
         return (
           <View style={styles.imagesContainer}>
             <ImageLayoutGrid
               type="two"
-              uris={imgEmbed.images.map(img => img.thumb)}
+              uris={embed.images.map(img => img.thumb)}
               onPress={openLightbox}
             />
           </View>
@@ -64,7 +63,7 @@ export function PostEmbeds({
         return (
           <View style={styles.imagesContainer}>
             <AutoSizedImage
-              uri={imgEmbed.images[0].thumb}
+              uri={embed.images[0].thumb}
               onPress={() => openLightbox(0)}
               containerStyle={{borderRadius: 4}}
             />
@@ -73,9 +72,8 @@ export function PostEmbeds({
       }
     }
   }
-  if (embed?.$type === 'app.bsky.embed.external#presented') {
-    const externalEmbed = embed as AppBskyEmbedExternal.Presented
-    const link = externalEmbed.external
+  if (AppBskyEmbedExternal.isPresented(embed)) {
+    const link = embed.external
     return (
       <Link
         style={[styles.extOuter, pal.view, pal.border, style]}
-- 
cgit 1.4.1

