import type { InviteActions } from "@/app/(app)/admin/invites"; import { styles } from "@/styles/components/largeInviteView"; import type { APIInvite, DashURL } from "@/types/zipline"; import { timeDifference } from "@/functions/util"; import Dropdown from "@/components/Dropdown"; import { Text, View } from "react-native"; import { Link } from "expo-router"; interface Props { invite: APIInvite; dashUrl: DashURL; onAction: (type: InviteActions, invite: APIInvite) => Promise | void; } export default function LargeInviteView({ invite, dashUrl, onAction }: Props) { return ( {invite.code} { onAction("copy", invite); }, }, { name: "Delete", id: `${invite.id}-delete`, color: "#e65f59", iconColor: "#e65f59", icon: "delete", onPress: () => { onAction("delete", invite); }, }, ]} /> Created By:{" "} {invite.inviter.username} Created:{" "} {timeDifference(new Date(), new Date(invite.createdAt))} Updated:{" "} {timeDifference(new Date(), new Date(invite.updatedAt))} Expires:{" "} {invite.expiresAt ? timeDifference(new Date(), new Date(invite.expiresAt)) : "Never"} Max Uses:{" "} {invite.maxUses} Uses: {invite.uses} ID:{" "} {invite.id} ); }