diff --git a/example/components/AccountMembership.tsx b/example/components/AccountMembership.tsx
index 0e5de4f..ef5fdff 100644
--- a/example/components/AccountMembership.tsx
+++ b/example/components/AccountMembership.tsx
@@ -1,6 +1,8 @@
import { FragmentOf, readFragment } from "gql.tada";
+import { useState } from "react";
import { P, match } from "ts-pattern";
import { graphql } from "../graphql";
+import { AccountMembershipDetail } from "./AccountMembershipDetail";
export const accountMembershipFragment = graphql(`
fragment AccountMembership on AccountMembership {
@@ -35,27 +37,37 @@ type Props = {
export const AccountMembership = ({ data }: Props) => {
const accountMembership = readFragment(accountMembershipFragment, data);
+ const [isOpen, setIsOpen] = useState(false);
+
return (
-
-
{accountMembership.id}:
- {match(accountMembership)
- .with(
- { user: { firstName: P.string, lastName: P.string } },
- ({ user: { firstName, lastName } }) => `${firstName} ${lastName}`,
- )
- .with(
- {
- statusInfo: {
- restrictedTo: { firstName: P.string, lastName: P.string },
- },
- },
- ({
- statusInfo: {
- restrictedTo: { firstName, lastName },
+ <>
+
setIsOpen(true)}>
+ {accountMembership.id}:
+ {match(accountMembership)
+ .with(
+ { user: { firstName: P.string, lastName: P.string } },
+ ({ user: { firstName, lastName } }) => `${firstName} ${lastName}`,
+ )
+ .with(
+ {
+ statusInfo: {
+ restrictedTo: { firstName: P.string, lastName: P.string },
+ },
},
- }) => `${firstName} ${lastName} (restricted to)`,
- )
- .otherwise(() => "No user")}
-
+ ({
+ statusInfo: {
+ restrictedTo: { firstName, lastName },
+ },
+ }) => `${firstName} ${lastName} (restricted to)`,
+ )
+ .otherwise(() => "No user")}
+
+ {isOpen ? (
+