import { styles } from "@/styles/components/largeFolderView"; import type { APIFolder, DashURL } from "@/types/zipline"; import type { FolderActions } from "@/app/(app)/folders"; import { timeDifference } from "@/functions/util"; import Dropdown from "@/components/Dropdown"; import { Text, View } from "react-native"; import { Link } from "expo-router"; interface Props { folder: APIFolder; dashUrl: DashURL; onAction: (type: FolderActions, folder: APIFolder) => Promise | void; } export default function LargeFolderView({ folder, dashUrl, onAction }: Props) { return ( {folder.public ? ( {folder.name} ) : ( {folder.name} )} { onAction("viewFiles", folder); }, }, { name: folder.public ? "Make Private" : "Make Public", id: `${folder.id}-changeVisibility`, icon: folder.public ? "lock-open" : "lock", onPress: async () => { onAction("visibility", folder); }, }, { name: folder.allowUploads ? "Deny Anonymous Uploads" : "Allow Anonymous Uploads", id: `${folder.id}-uploadPolicy`, icon: folder.allowUploads ? "share" : "block", onPress: async () => { onAction("uploadPolicy", folder); }, }, { name: "Edit Name", id: `${folder.id}-editName`, icon: "edit", onPress: () => { onAction("edit", folder); }, }, { name: "Copy URL", id: `${folder.id}-copyUrl`, icon: "content-copy", onPress: () => { onAction("copyUrl", folder); }, }, { name: "Delete", id: `${folder.id}-delete`, color: "#e65f59", iconColor: "#e65f59", icon: "delete", onPress: () => { onAction("delete", folder); }, }, ]} dropdown={{ width: 220, }} /> Created:{" "} {timeDifference(new Date(), new Date(folder.createdAt))} Updated:{" "} {timeDifference(new Date(), new Date(folder.updatedAt))} Public:{" "} {folder.public ? "Yes" : "No"} Allow Anonymous Uploads:{" "} {folder.allowUploads ? "Yes" : "No"} Files:{" "} {folder.files.length} ID: {folder.id} ); }