diff options
| author | MohamedBassem <me@mbassem.com> | 2024-08-24 18:13:02 +0300 |
|---|---|---|
| committer | MohamedBassem <me@mbassem.com> | 2024-08-24 18:35:35 +0300 |
| commit | 0584ad2bd8f486a0aaff7d8c96007d05c88a9a5e (patch) | |
| tree | 9a5266f1bfc9eb635423f2c962674c77dc0b7642 /apps/mobile/components/bookmarks/BookmarkCard.tsx | |
| parent | dc68b44933008c2e319e2688552dd2557a97b50e (diff) | |
| download | karakeep-0584ad2bd8f486a0aaff7d8c96007d05c88a9a5e.tar.zst | |
fix(mobile): Allow expanding the text by clicking on bookmark card
Diffstat (limited to 'apps/mobile/components/bookmarks/BookmarkCard.tsx')
| -rw-r--r-- | apps/mobile/components/bookmarks/BookmarkCard.tsx | 71 |
1 files changed, 34 insertions, 37 deletions
diff --git a/apps/mobile/components/bookmarks/BookmarkCard.tsx b/apps/mobile/components/bookmarks/BookmarkCard.tsx index 3be1f9a0..860e5486 100644 --- a/apps/mobile/components/bookmarks/BookmarkCard.tsx +++ b/apps/mobile/components/bookmarks/BookmarkCard.tsx @@ -8,9 +8,8 @@ import { Text, View, } from "react-native"; -import Markdown from "react-native-markdown-display"; import * as Haptics from "expo-haptics"; -import { Link } from "expo-router"; +import { Link, router } from "expo-router"; import * as WebBrowser from "expo-web-browser"; import useAppSettings from "@/lib/settings"; import { api } from "@/lib/trpc"; @@ -30,10 +29,11 @@ import { } from "@hoarder/shared-react/utils/bookmarkUtils"; import { BookmarkTypes } from "@hoarder/shared/types/bookmarks"; -import { TailwindResolver } from "../TailwindResolver"; import { Divider } from "../ui/Divider"; import { Skeleton } from "../ui/Skeleton"; import { useToast } from "../ui/Toast"; +import BookmarkAssetImage from "./BookmarkAssetImage"; +import BookmarkTextMarkdown from "./BookmarkTextMarkdown"; import ListPickerModal from "./ListPickerModal"; function ActionBar({ bookmark }: { bookmark: ZBookmark }) { @@ -250,26 +250,21 @@ function TextCard({ bookmark }: { bookmark: ZBookmark }) { const content = bookmark.content.text; return ( <View className="flex max-h-96 gap-2 p-2"> - {bookmark.title && ( - <Text className="line-clamp-2 text-xl font-bold text-foreground"> - {bookmark.title} - </Text> - )} + <Pressable + onPress={() => router.push(`/dashboard/bookmarks/${bookmark.id}`)} + > + {bookmark.title && ( + <Text className="line-clamp-2 text-xl font-bold text-foreground"> + {bookmark.title} + </Text> + )} + </Pressable> <View className="max-h-56 overflow-hidden p-2 text-foreground"> - <TailwindResolver - className="text-foreground" - comp={(styles) => ( - <Markdown - style={{ - text: { - color: styles?.color?.toString(), - }, - }} - > - {content} - </Markdown> - )} - /> + <Pressable + onPress={() => router.push(`/dashboard/bookmarks/${bookmark.id}`)} + > + <BookmarkTextMarkdown text={content} /> + </Pressable> </View> <TagList bookmark={bookmark} /> <Divider orientation="vertical" className="mt-2 h-0.5 w-full" /> @@ -282,7 +277,6 @@ function TextCard({ bookmark }: { bookmark: ZBookmark }) { } function AssetCard({ bookmark }: { bookmark: ZBookmark }) { - const { settings } = useAppSettings(); if (bookmark.content.type !== BookmarkTypes.ASSET) { throw new Error("Wrong content type rendered"); } @@ -290,21 +284,24 @@ function AssetCard({ bookmark }: { bookmark: ZBookmark }) { return ( <View className="flex gap-2"> - <Image - source={{ - uri: `${settings.address}/api/assets/${bookmark.content.assetId}`, - headers: { - Authorization: `Bearer ${settings.apiKey}`, - }, - }} - className="h-56 min-h-56 w-full object-cover" - /> + <Pressable + onPress={() => router.push(`/dashboard/bookmarks/${bookmark.id}`)} + > + <BookmarkAssetImage + assetId={bookmark.content.assetId} + className="h-56 min-h-56 w-full object-cover" + /> + </Pressable> <View className="flex gap-2 p-2"> - {title && ( - <Text className="line-clamp-2 text-xl font-bold text-foreground"> - {title} - </Text> - )} + <Pressable + onPress={() => router.push(`/dashboard/bookmarks/${bookmark.id}`)} + > + {title && ( + <Text className="line-clamp-2 text-xl font-bold text-foreground"> + {title} + </Text> + )} + </Pressable> <TagList bookmark={bookmark} /> <Divider orientation="vertical" className="mt-2 h-0.5 w-full" /> <View className="mt-2 flex flex-row justify-between px-2 pb-2"> |
