diff options
| author | MohamedBassem <me@mbassem.com> | 2024-07-28 20:03:15 -0700 |
|---|---|---|
| committer | MohamedBassem <me@mbassem.com> | 2024-07-28 20:56:27 -0700 |
| commit | 93afb75619a02aa741b464634911b994620092be (patch) | |
| tree | 414eb0b184027c67b01112caa56c039f2d82aebf /apps/mobile/components/bookmarks/BookmarkCard.tsx | |
| parent | 92c92c161b3195bdfb571284e783f39f369a25a5 (diff) | |
| download | karakeep-93afb75619a02aa741b464634911b994620092be.tar.zst | |
feat(mobile): Add ability to manage lists
Diffstat (limited to 'apps/mobile/components/bookmarks/BookmarkCard.tsx')
| -rw-r--r-- | apps/mobile/components/bookmarks/BookmarkCard.tsx | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/apps/mobile/components/bookmarks/BookmarkCard.tsx b/apps/mobile/components/bookmarks/BookmarkCard.tsx index 8faa8618..3be1f9a0 100644 --- a/apps/mobile/components/bookmarks/BookmarkCard.tsx +++ b/apps/mobile/components/bookmarks/BookmarkCard.tsx @@ -1,3 +1,4 @@ +import { useRef } from "react"; import { ActivityIndicator, Image, @@ -13,6 +14,7 @@ import { Link } from "expo-router"; import * as WebBrowser from "expo-web-browser"; import useAppSettings from "@/lib/settings"; import { api } from "@/lib/trpc"; +import { BottomSheetModal } from "@gorhom/bottom-sheet"; import { MenuView } from "@react-native-menu/menu"; import { Ellipsis, Star } from "lucide-react-native"; @@ -32,6 +34,7 @@ import { TailwindResolver } from "../TailwindResolver"; import { Divider } from "../ui/Divider"; import { Skeleton } from "../ui/Skeleton"; import { useToast } from "../ui/Toast"; +import ListPickerModal from "./ListPickerModal"; function ActionBar({ bookmark }: { bookmark: ZBookmark }) { const { toast } = useToast(); @@ -70,6 +73,8 @@ function ActionBar({ bookmark }: { bookmark: ZBookmark }) { onError, }); + const manageListsSheetRef = useRef<BottomSheetModal>(null); + return ( <View className="flex flex-row gap-4"> {(isArchivePending || isDeletionPending) && <ActivityIndicator />} @@ -89,6 +94,12 @@ function ActionBar({ bookmark }: { bookmark: ZBookmark }) { )} </Pressable> + <ListPickerModal + ref={manageListsSheetRef} + snapPoints={["50%", "90%"]} + bookmarkId={bookmark.id} + /> + <MenuView onPressAction={({ nativeEvent }) => { Haptics.selectionAsync(); @@ -101,6 +112,8 @@ function ActionBar({ bookmark }: { bookmark: ZBookmark }) { bookmarkId: bookmark.id, archived: !bookmark.archived, }); + } else if (nativeEvent.event === "manage_list") { + manageListsSheetRef?.current?.present(); } }} actions={[ @@ -121,6 +134,13 @@ function ActionBar({ bookmark }: { bookmark: ZBookmark }) { ios: "trash", }), }, + { + id: "manage_list", + title: "Manage Lists", + image: Platform.select({ + ios: "list", + }), + }, ]} shouldOpenOnLongPress={false} > |
