···
import type { AtUri, DidPlc, DidWeb } from "@/lib/types/atproto";
import { systemsGmstnDevelopmentChannelInviteRecordSchema } from "@/lib/types/lexicon/systems.gmstn.development.channel.invite";
import { partition } from "@/lib/utils/arrays";
-
getCommitFromFullAtUri,
-
getRecordFromFullAtUri,
-
} from "@/lib/utils/atproto";
import { addMembership } from "@/lib/utils/gmstn";
import { useMemberships } from "@/providers/authed/MembershipsProvider";
···
import { useMutation, useQueryClient } from "@tanstack/react-query";
import { Check, Mail, MailOpen, X } from "lucide-react-native";
import { FlatList, Pressable, View } from "react-native";
export const Invites = () => {
const { semantic } = useCurrentPalette();
const { atoms, typography } = useFacet();
const { memberships } = useMemberships();
const session = useOAuthSessionGuaranteed();
-
useConstellationInvitesQuery(session);
const { data: invites, isLoading } = useQuery();
···
-
console.log({existingInvites, pendingInvites})
···
const { queryKey: constellationInvitesQueryKey } =
useConstellationInvitesQuery(session);
const queryClient = useQueryClient();
-
const queryKeysToInvalidate = constellationInvitesQueryKey.concat(["membership", session.did])
const { mutate: mutateInvites, error: inviteMutationError } = useMutation({
mutationFn: async (state: "accepted" | "rejected") => {
···
-
if(!creationResult.ok) throw new Error(`Error when submitting data. Check the inputs. ${creationResult.error}`)
await queryClient.invalidateQueries({
···
<View style={{ flexDirection: "row", alignItems: "center", gap: 2 }}>
<Text>{inviteAtUri.rKey}</Text>
-
<Pressable style={{ marginLeft: 2 }} onPress={() => {
-
mutateInvites("accepted")
···
-
<Pressable style={{ marginLeft: 2 }} onPress={() => {
-
mutateInvites("rejected")
···
import type { AtUri, DidPlc, DidWeb } from "@/lib/types/atproto";
import { systemsGmstnDevelopmentChannelInviteRecordSchema } from "@/lib/types/lexicon/systems.gmstn.development.channel.invite";
import { partition } from "@/lib/utils/arrays";
+
import { getCommitFromFullAtUri, stringToAtUri } from "@/lib/utils/atproto";
import { addMembership } from "@/lib/utils/gmstn";
import { useMemberships } from "@/providers/authed/MembershipsProvider";
···
import { useMutation, useQueryClient } from "@tanstack/react-query";
import { Check, Mail, MailOpen, X } from "lucide-react-native";
import { FlatList, Pressable, View } from "react-native";
+
import { z } from "zod";
export const Invites = () => {
const { semantic } = useCurrentPalette();
const { atoms, typography } = useFacet();
const { memberships } = useMemberships();
const session = useOAuthSessionGuaranteed();
+
const { useQuery } = useConstellationInvitesQuery(session);
const { data: invites, isLoading } = useQuery();
···
+
console.log({ existingInvites, pendingInvites });
···
const { queryKey: constellationInvitesQueryKey } =
useConstellationInvitesQuery(session);
const queryClient = useQueryClient();
+
const queryKeysToInvalidate = constellationInvitesQueryKey.concat([
const { mutate: mutateInvites, error: inviteMutationError } = useMutation({
mutationFn: async (state: "accepted" | "rejected") => {
···
+
if (!creationResult.ok)
+
`Error when submitting data. Check the inputs. ${creationResult.error}`,
await queryClient.invalidateQueries({
···
<View style={{ flexDirection: "row", alignItems: "center", gap: 2 }}>
<Text>{inviteAtUri.rKey}</Text>
+
style={{ marginLeft: 2 }}
+
mutateInvites("accepted");
···
+
style={{ marginLeft: 2 }}
+
mutateInvites("rejected");