MCPcopy Create free account
hub / github.com/Linen-dev/linen.dev / RowMember

Function RowMember

apps/web/ui/MembersView/index.tsx:141–232  ·  view source on GitHub ↗
({
  user,
  onChangeMember,
  onDeleteMember,
}: {
  user: MembersType;
  onChangeMember: (id: string, role: string, status: string) => Promise<void>;
  onDeleteMember: (user: MembersType) => Promise<void>;
})

Source from the content-addressed store, hash-verified

139}
140
141function RowMember({
142 user,
143 onChangeMember,
144 onDeleteMember,
145}: {
146 user: MembersType;
147 onChangeMember: (id: string, role: string, status: string) => Promise<void>;
148 onDeleteMember: (user: MembersType) => Promise<void>;
149}): JSX.Element {
150 const [loading, setLoading] = useState(false);
151 const [data, setData] = useState(user);
152 const [modal, setModal] = useState(false);
153
154 async function onChange(e: any) {
155 setLoading(true);
156 const role = e.target.value;
157 const id = e.target.id;
158 await onChangeMember(id, role, user.status);
159 setData({ ...data, role });
160 setLoading(false);
161 }
162
163 return (
164 <li key={user.id} className={styles.mb2}>
165 <div className={styles.border}>
166 <div className={styles.userWrapper}>
167 <Avatar src={user.profileImageUrl} text={user.displayName} />
168 <p className={styles.userDetails}>
169 {user.displayName}
170 {user.status === 'PENDING' && (
171 <Badge
172 className={classNames({
173 [styles.ml1]: !!user.displayName,
174 })}
175 type="info"
176 >
177 Pending
178 </Badge>
179 )}
180 <br />
181 <span className={styles.userEmail}>{user.email}</span>
182 </p>
183 <div className={styles.grow} />
184 <div>
185 <NativeSelect
186 id={user.id}
187 value={data.role}
188 onChange={(e: React.ChangeEvent<HTMLSelectElement>) => {
189 onChange(e);
190 }}
191 disabled={loading}
192 icon={<FiUser />}
193 theme="white"
194 options={[
195 { label: 'Member', value: Roles.MEMBER },
196 { label: 'Admin', value: Roles.ADMIN },
197 { label: 'Owner', value: Roles.OWNER },
198 ]}

Callers

nothing calls this directly

Calls 2

onDeleteMemberFunction · 0.85
onChangeFunction · 0.70

Tested by

no test coverage detected