# Hide “Join” button if user already joined (or event is full)

**URL:** <https://community.glideapps.com/t/hide-join-button-if-user-already-joined-or-event-is-full/82957>\
**Category:** Ask for Help\
**Created:** [July 5, 2025, 10:03am UTC](https://community.glideapps.com/t/hide-join-button-if-user-already-joined-or-event-is-full/82957 "2025-07-05T10:03:04Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Gillian](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/gillian/32/83715_2.png) [@Gillian](https://community.glideapps.com/u/Gillian)\
**Post date:** [July 5, 2025, 10:03am UTC](https://community.glideapps.com/t/hide-join-button-if-user-already-joined-or-event-is-full/82957/1 "2025-07-05T10:03:04Z")

</div>

Hi everyone 👋

I’m trying to build an event system where users can **join or leave an active event**.

The core issue seems to be related to **multi-match logic** in Glide.

Here’s the problem:

- When a user joins, their name is added to a list (either in a text field or through a relation).
- If another user joins after, things get messy.
- If I store the names in a text field, Glide doesn’t treat it as a data list, so I can’t check if the current user is already there.
- If I use a relation to a junction table (where each user registration = one row), then Glide only lets me use **“is empty”** or **“is not empty”** as conditions — which isn’t enough. That way I either get **all users** , or **none** , but I can’t test if the **current user is included**.

* * *

I’d like to:

- **Hide the “Join this event” button** if the **current user has already joined** the event, or if the **event is full**
- (And ideally show a “Leave event” button in that case)

Any ideas or best practices to achieve this? Im missed someting or not ? (my brain just surrender on this problem ahah)

Thanks in advance! 🙏

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [July 5, 2025, 11:48pm UTC](https://community.glideapps.com/t/hide-join-button-if-user-already-joined-or-event-is-full/82957/2 "2025-07-05T23:48:31Z")

</div>

This [video by Robert Petitto](https://www.youtube.com/watch?v=L1giKujUHxo) introduces a method that can solve your problem. We call it “Trebuchet” around here.

**1. Use a Multiple Files/Text/Images (Array) Column**

- In your **Events** table, add a “Joined Users” column (type: Multiple Files, Multiple Texts or Multiple Images).
- This column will store an array of user IDs, not just a text string.

**2. Add/Remove Users with Set Column Actions**

- In the Events table, use a Make Array column to add the signed-in user’s ID to the existing “Joined Users” column, let’s call it “Add User Array”.
- When a user joins an event, use a **Set Column Values** action to set the “Add User Array” value to “Joined Users”.
- When a user leaves, use a similar logic to remove their ID from the array (using a computed “remove element” column).

**3. Prevent Duplicate Joins**

- The method includes logic to **disable or hide the “Join” button** if the user’s ID is already in the array.
- This is done by setting a condition: only show the button if the user’s ID is **not** in the array.

**4. Check for Full Events (if needed)**

- You can easily check the **length of the array** (number of joined users) and compare it to your event’s capacity.
- If the event is full, hide or disable the “Join” button.

**5. Show “Leave” Button**

- If the user’s ID is in the array, show a “Leave” button instead, which removes their ID from the array.

---

<div class="post-metadata">

**Author:** ![Gillian](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/gillian/32/83715_2.png) [@Gillian](https://community.glideapps.com/u/Gillian)\
**Post date:** [July 6, 2025, 12:23pm UTC](https://community.glideapps.com/t/hide-join-button-if-user-already-joined-or-event-is-full/82957/3 "2025-07-06T12:23:40Z")

</div>

Thanks for the video ! I will check up 🙏  
Ive find a way, i think its not a good pratice but… its working 😁

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [July 7, 2025, 2:53am UTC](https://community.glideapps.com/t/hide-join-button-if-user-already-joined-or-event-is-full/82957/4 "2025-07-07T02:53:30Z")

</div>

[![](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/7/1/710efd757d00cc0b9b980d772ac5503199299dd8.jpeg "Glide: TWO WAYS to Allow Users to RSVP, Register and Join") ](https://www.youtube.com/watch?v=IWZWB1hn3DU)
