From a3334a01a221877d3e06e02f960fda441f3460bd Mon Sep 17 00:00:00 2001
From: Paul Frazee <pfrazee@gmail.com>
Date: Fri, 31 Mar 2023 13:17:26 -0500
Subject: Lex refactor (#362)

* Remove the hackcheck for upgrades

* Rename the PostEmbeds folder to match the codebase style

* Updates to latest lex refactor

* Update to use new bsky agent

* Update to use api package's richtext library

* Switch to upsertProfile

* Add TextEncoder/TextDecoder polyfill

* Add Intl.Segmenter polyfill

* Update composer to calculate lengths by grapheme

* Fix detox

* Fix login in e2e

* Create account e2e passing

* Implement an e2e mocking framework

* Don't use private methods on mobx models as mobx can't track them

* Add tooling for e2e-specific builds and add e2e media-picker mock

* Add some tests and fix some bugs around profile editing

* Add shell tests

* Add home screen tests

* Add thread screen tests

* Add tests for other user profile screens

* Add search screen tests

* Implement profile imagery change tools and tests

* Update to new embed behaviors

* Add post tests

* Fix to profile-screen test

* Fix session resumption

* Update web composer to new api

* 1.11.0

* Fix pagination cursor parameters

* Add quote posts to notifications

* Fix embed layouts

* Remove youtube inline player and improve tap handling on link cards

* Reset minimal shell mode on all screen loads and feed swipes (close #299)

* Update podfile.lock

* Improve post notfound UI (close #366)

* Bump atproto packages
---
 src/view/com/util/PostEmbeds/index.tsx | 165 ---------------------------------
 1 file changed, 165 deletions(-)
 delete mode 100644 src/view/com/util/PostEmbeds/index.tsx

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

diff --git a/src/view/com/util/PostEmbeds/index.tsx b/src/view/com/util/PostEmbeds/index.tsx
deleted file mode 100644
index 02a8aa90e..000000000
--- a/src/view/com/util/PostEmbeds/index.tsx
+++ /dev/null
@@ -1,165 +0,0 @@
-import React from 'react'
-import {
-  StyleSheet,
-  StyleProp,
-  View,
-  ViewStyle,
-  Image as RNImage,
-} from 'react-native'
-import {
-  AppBskyEmbedImages,
-  AppBskyEmbedExternal,
-  AppBskyEmbedRecord,
-  AppBskyFeedPost,
-} from '@atproto/api'
-import {Link} from '../Link'
-import {AutoSizedImage} from '../images/AutoSizedImage'
-import {ImageLayoutGrid} from '../images/ImageLayoutGrid'
-import {ImagesLightbox} from 'state/models/ui/shell'
-import {useStores} from 'state/index'
-import {usePalette} from 'lib/hooks/usePalette'
-import {saveImageModal} from 'lib/media/manip'
-import YoutubeEmbed from './YoutubeEmbed'
-import ExternalLinkEmbed from './ExternalLinkEmbed'
-import {getYoutubeVideoId} from 'lib/strings/url-helpers'
-import QuoteEmbed from './QuoteEmbed'
-
-type Embed =
-  | AppBskyEmbedRecord.Presented
-  | AppBskyEmbedImages.Presented
-  | AppBskyEmbedExternal.Presented
-  | {$type: string; [k: string]: unknown}
-
-export function PostEmbeds({
-  embed,
-  style,
-}: {
-  embed?: Embed
-  style?: StyleProp<ViewStyle>
-}) {
-  const pal = usePalette('default')
-  const store = useStores()
-  if (AppBskyEmbedRecord.isPresented(embed)) {
-    if (
-      AppBskyEmbedRecord.isPresentedRecord(embed.record) &&
-      AppBskyFeedPost.isRecord(embed.record.record) &&
-      AppBskyFeedPost.validateRecord(embed.record.record).success
-    ) {
-      return (
-        <QuoteEmbed
-          quote={{
-            author: embed.record.author,
-            cid: embed.record.cid,
-            uri: embed.record.uri,
-            indexedAt: embed.record.record.createdAt, // TODO
-            text: embed.record.record.text,
-          }}
-        />
-      )
-    }
-  }
-  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))
-      }
-      const onLongPress = (index: number) => {
-        saveImageModal({uri: uris[index]})
-      }
-      const onPressIn = (index: number) => {
-        const firstImageToShow = uris[index]
-        RNImage.prefetch(firstImageToShow)
-        uris.forEach(uri => {
-          if (firstImageToShow !== uri) {
-            // First image already prefeched above
-            RNImage.prefetch(uri)
-          }
-        })
-      }
-
-      if (embed.images.length === 4) {
-        return (
-          <View style={[styles.imagesContainer, style]}>
-            <ImageLayoutGrid
-              type="four"
-              uris={embed.images.map(img => img.thumb)}
-              onPress={openLightbox}
-              onLongPress={onLongPress}
-              onPressIn={onPressIn}
-            />
-          </View>
-        )
-      } else if (embed.images.length === 3) {
-        return (
-          <View style={[styles.imagesContainer, style]}>
-            <ImageLayoutGrid
-              type="three"
-              uris={embed.images.map(img => img.thumb)}
-              onPress={openLightbox}
-              onLongPress={onLongPress}
-              onPressIn={onPressIn}
-            />
-          </View>
-        )
-      } else if (embed.images.length === 2) {
-        return (
-          <View style={[styles.imagesContainer, style]}>
-            <ImageLayoutGrid
-              type="two"
-              uris={embed.images.map(img => img.thumb)}
-              onPress={openLightbox}
-              onLongPress={onLongPress}
-              onPressIn={onPressIn}
-            />
-          </View>
-        )
-      } else {
-        return (
-          <View style={[styles.imagesContainer, style]}>
-            <AutoSizedImage
-              uri={embed.images[0].thumb}
-              onPress={() => openLightbox(0)}
-              onLongPress={() => onLongPress(0)}
-              onPressIn={() => onPressIn(0)}
-              style={styles.singleImage}
-            />
-          </View>
-        )
-      }
-    }
-  }
-  if (AppBskyEmbedExternal.isPresented(embed)) {
-    const link = embed.external
-    const youtubeVideoId = getYoutubeVideoId(link.uri)
-
-    if (youtubeVideoId) {
-      return <YoutubeEmbed videoId={youtubeVideoId} link={link} />
-    }
-
-    return (
-      <Link
-        style={[styles.extOuter, pal.view, pal.border, style]}
-        href={link.uri}
-        noFeedback>
-        <ExternalLinkEmbed link={link} />
-      </Link>
-    )
-  }
-  return <View />
-}
-
-const styles = StyleSheet.create({
-  imagesContainer: {
-    marginTop: 4,
-  },
-  singleImage: {
-    borderRadius: 8,
-    maxHeight: 500,
-  },
-  extOuter: {
-    borderWidth: 1,
-    borderRadius: 8,
-    marginTop: 4,
-  },
-})
-- 
cgit 1.4.1

