The members page gives admin staff a single place to inspect every registered user, review their profile details, and update their access role. Members load through an infinite-scroll list of cards. Each card shows the member’s avatar, contact details, identity information, current role, and account status. A role selector on each card lets an admin upgrade or downgrade that member’s access with one click.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/fredy-rizo/ecommerce-delivery-frontend/llms.txt
Use this file to discover all available pages before exploring further.
Route
/miembros renders pages/Members/MembersPage.vue. The page requires admin role (2) — validateUser({ rol: 2 }) is called before every API request.
Listing members
Members are fetched through aq-infinite-scroll component. Each scroll event calls ListMembers(index, done), which increments the pagination counter and calls getMembers():
pagination.pags === pagination.pag or when the server returns an empty data array.
Member card fields displayed
Each member card displays the following information:| Field | Source |
|---|---|
| Avatar | member.avatar[0].avatar (falls back to first letter of member.name) |
| Name | member.name |
member.email | |
| Phone | member.phone_number |
| Address | member.address |
| Type of identification | member.typeIdentification |
| Identification number | member.identification |
| Role | member.roles[0].name — color-coded badge |
| Status | member.status[0].name — color-coded badge |
Role assignment
Every card has aq-select pre-populated with the member’s current role. The admin selects the new role and clicks the save (💾) button to call updateRole(member):
Available roles
Update-role request
roles entry in the reactive array is updated in place so the badge refreshes without reloading the entire list.
Member status values (color-coded badges)
| Status name | Value | Badge color |
|---|---|---|
usuario activo | 1 | teal |
Pendiente de confirmacion | 2 | orange |
usuario inactivo | 3 | purple |
Filtering
BarFilterMembers provides a debounced text input (1000 ms) that searches across name, address, email, phone, identification number, and identification type. When the input value changes, it calls the getdataFilter prop callback:
getdataFilter updates the filter ref and resets the list:
resetlistMembers() clears the members array, resets pagination.pag to 0, and re-fetches from the beginning with the new filter applied.