feat: add smart_tv, printer and smartphone device types

Add three new device types (21 total) with Lucide icons (Tv2, Printer,
Smartphone), colour-coded badges, and translations in fr/en/es.
No backend migration needed — type is a free string field.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-17 11:48:23 +02:00
parent 8b39554982
commit 7b32e9b4fd
6 changed files with 25 additions and 4 deletions
+1 -1
View File
@@ -26,7 +26,7 @@
## ✨ Características
- 🗂️ **Inventario manual** — añade y gestiona dispositivos (18 tipos) con IPs, VLANs, descripciones y enlaces web opcionales
- 🗂️ **Inventario manual** — añade y gestiona dispositivos (21 tipos) con IPs, VLANs, descripciones y enlaces web opcionales
- 🗺️ **Vista de topología** — disposición en tarjetas por red (LAN / VLAN 802.1Q), con secciones WAN y puerta de enlace
- 📡 **Ping ICMP** — comprueba la accesibilidad de todos los hosts conocidos con un clic
- 🔍 **Descubrimiento automático** — ping sweep + consulta PTR DNS en una subred para importar nuevos hosts
+1 -1
View File
@@ -26,7 +26,7 @@
## ✨ Fonctionnalités
- 🗂️ **Inventaire manuel** — ajout et gestion d'équipements (18 types) avec IPs, VLANs, descriptions et liens web optionnels
- 🗂️ **Inventaire manuel** — ajout et gestion d'équipements (21 types) avec IPs, VLANs, descriptions et liens web optionnels
- 🗺️ **Vue topologie** — disposition en cards par réseau (LAN / VLAN 802.1Q), avec sections WAN et passerelle
- 📡 **Ping ICMP** — vérification de l'accessibilité de tous les hôtes connus en un clic
- 🔍 **Découverte automatique** — ping sweep + lookup PTR DNS sur un sous-réseau pour importer de nouveaux hôtes
+1 -1
View File
@@ -26,7 +26,7 @@
## ✨ Features
- 🗂️ **Manual inventory** — add and manage devices (18 types) with IPs, VLANs, descriptions and optional web links
- 🗂️ **Manual inventory** — add and manage devices (21 types) with IPs, VLANs, descriptions and optional web links
- 🗺️ **Topology view** — card-based layout per network (LAN / VLAN 802.1Q), with WAN and gateway sections
- 📡 **ICMP ping sweep** — check reachability of all known hosts in one click
- 🔍 **Auto-discovery** — ping sweep + PTR DNS lookup on a subnet to import new hosts
+4 -1
View File
@@ -30,7 +30,7 @@ import { computed } from 'vue'
import {
Server, Network, Wifi, Database, Globe, GitFork,
Camera, Thermometer, Gauge, House, PlugZap, ShieldAlert,
Lightbulb, BellRing, Antenna, Monitor, Laptop, Box,
Lightbulb, BellRing, Antenna, Monitor, Laptop, Tv2, Printer, Smartphone, Box,
} from 'lucide-vue-next'
import { detectBrands } from '../brandIcons.js'
@@ -64,6 +64,9 @@ const LUCIDE_MAP = {
access_point: Antenna,
desktop: Monitor,
laptop: Laptop,
smart_tv: Tv2,
printer: Printer,
smartphone: Smartphone,
other: Box,
}
@@ -299,6 +299,9 @@ const deviceTypes = computed(() => [
{ value: 'access_point', label: t('typeAccessPoint') },
{ value: 'desktop', label: t('typeDesktop') },
{ value: 'laptop', label: t('typeLaptop') },
{ value: 'smart_tv', label: t('typeSmartTv') },
{ value: 'printer', label: t('typePrinter') },
{ value: 'smartphone', label: t('typeSmartphone') },
{ value: 'other', label: t('typeOther') },
])
@@ -566,6 +569,9 @@ h1 { font-size: 22px; font-weight: 700; color: var(--text-primary); }
.icon-access_point { background: #CCFBF1; color: #0F766E; }
.icon-desktop { background: #E0E7FF; color: #4338CA; }
.icon-laptop { background: #DCFCE7; color: #15803D; }
.icon-smart_tv { background: #FCE7F3; color: #9D174D; }
.icon-printer { background: #ECFEFF; color: #0E7490; }
.icon-smartphone { background: #FFFBEB; color: #B45309; }
.icon-other { background: #F1F5F9; color: #475569; }
.device-info { flex: 1; min-width: 0; }
@@ -593,6 +599,9 @@ h1 { font-size: 22px; font-weight: 700; color: var(--text-primary); }
.badge-access_point { background: #14B8A6; }
.badge-desktop { background: #4F46E5; }
.badge-laptop { background: #16A34A; }
.badge-smart_tv { background: #DB2777; }
.badge-printer { background: #0891B2; }
.badge-smartphone { background: #D97706; }
.badge-other { background: #94A3B8; }
.badge-virt { background: #1E293B; }
.badge-virt-baremetal { background: #475569; }
+9
View File
@@ -91,6 +91,9 @@ const LANGS = {
typeAccessPoint: 'Borne WiFi / Access Point',
typeDesktop: 'Ordinateur fixe',
typeLaptop: 'Ordinateur portable',
typeSmartTv: 'TV connectée',
typePrinter: 'Imprimante',
typeSmartphone: 'Smartphone',
typeOther: 'Autre',
virtBaremetal: 'Bare-metal',
virtLxc: 'LXC',
@@ -246,6 +249,9 @@ const LANGS = {
typeAccessPoint: 'WiFi Access Point',
typeDesktop: 'Desktop computer',
typeLaptop: 'Laptop',
typeSmartTv: 'Smart TV',
typePrinter: 'Printer',
typeSmartphone: 'Smartphone',
typeOther: 'Other',
virtBaremetal: 'Bare-metal',
virtLxc: 'LXC',
@@ -398,6 +404,9 @@ const LANGS = {
typeAccessPoint: 'Punto de acceso WiFi',
typeDesktop: 'Ordenador de sobremesa',
typeLaptop: 'Portátil',
typeSmartTv: 'Smart TV',
typePrinter: 'Impresora',
typeSmartphone: 'Smartphone',
typeOther: 'Otro',
virtBaremetal: 'Bare-metal',
virtLxc: 'LXC',