aboutsummaryrefslogtreecommitdiffstats
path: root/apps/mobile/components/bookmarks/BookmarkCard.tsx
diff options
context:
space:
mode:
authorMohamedBassem <me@mbassem.com>2024-07-28 20:03:15 -0700
committerMohamedBassem <me@mbassem.com>2024-07-28 20:56:27 -0700
commit93afb75619a02aa741b464634911b994620092be (patch)
tree414eb0b184027c67b01112caa56c039f2d82aebf /apps/mobile/components/bookmarks/BookmarkCard.tsx
parent92c92c161b3195bdfb571284e783f39f369a25a5 (diff)
downloadkarakeep-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.tsx20
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}
>