Feature: Mostrar usuarios en DispositivoCard sin expandir
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 31s
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 31s
- Agregar preview de usuarios que utilizan el dispositivo - Usuarios conectados en badge rosa, desconectados en gris - Mostrar contador total de usuarios
This commit is contained in:
@@ -19,6 +19,17 @@ const connectedCount = computed(() => {
|
|||||||
const id = props.device.id;
|
const id = props.device.id;
|
||||||
return props.users.filter(u => Array.isArray(u.dispositivos_conectados) && u.dispositivos_conectados.includes(id)).length;
|
return props.users.filter(u => Array.isArray(u.dispositivos_conectados) && u.dispositivos_conectados.includes(id)).length;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Usuarios conectados vs no conectados para mostrar en preview
|
||||||
|
const connectedUsers = computed(() => {
|
||||||
|
const id = props.device.id;
|
||||||
|
return props.users.filter(u => Array.isArray(u.dispositivos_conectados) && u.dispositivos_conectados.includes(id));
|
||||||
|
});
|
||||||
|
|
||||||
|
const disconnectedUsers = computed(() => {
|
||||||
|
const id = props.device.id;
|
||||||
|
return props.users.filter(u => !Array.isArray(u.dispositivos_conectados) || !u.dispositivos_conectados.includes(id));
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@@ -43,6 +54,29 @@ const connectedCount = computed(() => {
|
|||||||
<div v-if="device.descripcion">Descripción: {{ device.descripcion }}</div>
|
<div v-if="device.descripcion">Descripción: {{ device.descripcion }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- Preview de usuarios (siempre visible) -->
|
||||||
|
<div v-if="users && users.length && !simple" class="mt-2.5 pt-2.5 border-t border-border">
|
||||||
|
<div class="text-xs text-muted mb-1.5">Usuarios ({{ users.length }})</div>
|
||||||
|
<div class="flex flex-wrap gap-1.5">
|
||||||
|
<Badge
|
||||||
|
v-for="u in connectedUsers"
|
||||||
|
:key="u.username"
|
||||||
|
variant="pink"
|
||||||
|
class="text-[11px] py-0.5"
|
||||||
|
>
|
||||||
|
{{ u.username }}
|
||||||
|
</Badge>
|
||||||
|
<Badge
|
||||||
|
v-for="u in disconnectedUsers"
|
||||||
|
:key="u.username"
|
||||||
|
variant="secondary"
|
||||||
|
class="text-[11px] py-0.5"
|
||||||
|
>
|
||||||
|
{{ u.username }}
|
||||||
|
</Badge>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div v-if="expanded && users && users.length" class="mt-2">
|
<div v-if="expanded && users && users.length" class="mt-2">
|
||||||
<div class="grid grid-cols-[repeat(auto-fill,minmax(280px,1fr))] gap-2.5">
|
<div class="grid grid-cols-[repeat(auto-fill,minmax(280px,1fr))] gap-2.5">
|
||||||
<UserCard
|
<UserCard
|
||||||
|
|||||||
Reference in New Issue
Block a user