Compare commits

...

6 Commits

Author SHA1 Message Date
shamoon
c6ad937619 Bump version to 1.4.6 2025-08-21 06:55:46 -07:00
shamoon
a6ab095ff9 Update component.jsx 2025-08-20 13:29:43 -07:00
shamoon
9a085bcb17 Enhancement: handle authentik v2025.8.0 breaking API changes (#5687) 2025-08-20 13:27:21 -07:00
github-actions[bot]
6d7be1c7f2 New Crowdin translations by GitHub Action (#5679)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-08-18 23:55:25 -07:00
shamoon
25cd51cee9 Update repo-maintenance.yml 2025-08-18 23:54:22 -07:00
Vincent Verdeil
495de204d1 Documentation: fix typo in docs/configs/settings.md (#5671) 2025-08-14 17:30:48 -07:00
9 changed files with 239 additions and 212 deletions

View File

@@ -212,9 +212,9 @@ jobs:
} }
const CUTOFF_1_DAYS = 180; const CUTOFF_1_DAYS = 180;
const CUTOFF_1_COUNT = 10; const CUTOFF_1_COUNT = 20;
const CUTOFF_2_DAYS = 365; const CUTOFF_2_DAYS = 365;
const CUTOFF_2_COUNT = 20; const CUTOFF_2_COUNT = 40;
const cutoff1Date = new Date(); const cutoff1Date = new Date();
cutoff1Date.setDate(cutoff1Date.getDate() - CUTOFF_1_DAYS); cutoff1Date.setDate(cutoff1Date.getDate() - CUTOFF_1_DAYS);

View File

@@ -63,7 +63,7 @@ The homepage team appreciates all effort and interest from the community in fili
- Issues, pull requests and discussions that are closed will be locked after 30 days of inactivity. - Issues, pull requests and discussions that are closed will be locked after 30 days of inactivity.
- Discussions with a marked answer will be automatically closed. - Discussions with a marked answer will be automatically closed.
- Discussions in the 'General' or 'Support' categories will be closed after 180 days of inactivity. - Discussions in the 'General' or 'Support' categories will be closed after 180 days of inactivity.
- Feature requests that do not meet the following thresholds will be closed: 10 "up-votes" after 180 days of inactivity or 20 "up-votes" after 365 days. - Feature requests that do not meet the following thresholds will be closed: 20 "up-votes" after 180 days of inactivity or 40 "up-votes" after 365 days.
In all cases, threads can be re-opened by project maintainers and, of course, users can always create a new discussion for related concerns. In all cases, threads can be re-opened by project maintainers and, of course, users can always create a new discussion for related concerns.
Finally, remember that all information remains searchable and 'closed' feature requests can still serve as inspiration for new features. Finally, remember that all information remains searchable and 'closed' feature requests can still serve as inspiration for new features.

View File

@@ -264,7 +264,7 @@ fullWidth: true
### Maximum Group Columns ### Maximum Group Columns
You can set the maximum number of columns of groups on larger screen sizes (note this is only for groups with the default `style: columns`, not groups with `stle: row`) by adding: You can set the maximum number of columns of groups on larger screen sizes (note this is only for groups with the default `style: columns`, not groups with `style: row`) by adding:
```yaml ```yaml
maxGroupColumns: 8 # default is 4 for services, 6 for bookmarks, max 8 maxGroupColumns: 8 # default is 4 for services, 6 for bookmarks, max 8

View File

@@ -17,9 +17,15 @@ The account you made the API token for also needs the following **Assigned globa
Allowed fields: `["users", "loginsLast24H", "failedLoginsLast24H"]`. Allowed fields: `["users", "loginsLast24H", "failedLoginsLast24H"]`.
| Authentik Version | Homepage Widget Version |
| ----------------- | ----------------------- |
| < 2025.8.0 | 1 (default) |
| >= 2025.8.0 | 2 |
```yaml ```yaml
widget: widget:
type: authentik type: authentik
url: http://authentik.host.or.ip:port url: http://authentik.host.or.ip:port
key: api_token key: api_token
version: 2 # optional, default is 1
``` ```

View File

@@ -1,6 +1,6 @@
{ {
"name": "homepage", "name": "homepage",
"version": "1.4.5", "version": "1.4.6",
"private": true, "private": true,
"scripts": { "scripts": {
"preinstall": "npx only-allow pnpm", "preinstall": "npx only-allow pnpm",

View File

@@ -93,9 +93,9 @@
"http_status": "Estado HTTP", "http_status": "Estado HTTP",
"error": "Error", "error": "Error",
"response": "Respuesta", "response": "Respuesta",
"down": "Down", "down": "Inactivo",
"up": "Up", "up": "Activos",
"not_available": "Not Available" "not_available": "No disponible"
}, },
"emby": { "emby": {
"playing": "Reproduciendo", "playing": "Reproduciendo",
@@ -108,11 +108,11 @@
"songs": "Canciones" "songs": "Canciones"
}, },
"esphome": { "esphome": {
"offline": "Offline", "offline": "Fuera de línea",
"offline_alt": "Offline", "offline_alt": "Fuera de línea",
"online": "En línea", "online": "En línea",
"total": "Total", "total": "Total",
"unknown": "Unknown" "unknown": "Desconocido"
}, },
"evcc": { "evcc": {
"pv_power": "Producción", "pv_power": "Producción",
@@ -133,7 +133,7 @@
"unread": "Sin leer" "unread": "Sin leer"
}, },
"fritzbox": { "fritzbox": {
"connectionStatus": "Status", "connectionStatus": "Estado",
"connectionStatusUnconfigured": "Sin configurar", "connectionStatusUnconfigured": "Sin configurar",
"connectionStatusConnecting": "Conectando", "connectionStatusConnecting": "Conectando",
"connectionStatusAuthenticating": "Autenticando", "connectionStatusAuthenticating": "Autenticando",
@@ -141,11 +141,11 @@
"connectionStatusDisconnecting": "Desconectando", "connectionStatusDisconnecting": "Desconectando",
"connectionStatusDisconnected": "Desconectado", "connectionStatusDisconnected": "Desconectado",
"connectionStatusConnected": "Conectado", "connectionStatusConnected": "Conectado",
"uptime": "Uptime", "uptime": "Tiempo activo",
"maxDown": "Descarga máxima", "maxDown": "Descarga máxima",
"maxUp": "Subida máxima", "maxUp": "Subida máxima",
"down": "Down", "down": "Inactivo",
"up": "Up", "up": "Activos",
"received": "Recibido", "received": "Recibido",
"sent": "Enviado", "sent": "Enviado",
"externalIPAddress": "IP ext.", "externalIPAddress": "IP ext.",
@@ -193,7 +193,7 @@
"tv": "Series" "tv": "Series"
}, },
"sabnzbd": { "sabnzbd": {
"rate": "Rate", "rate": "Tasa",
"queue": "En cola", "queue": "En cola",
"timeleft": "Tiempo restante" "timeleft": "Tiempo restante"
}, },
@@ -315,7 +315,7 @@
"download": "Descargado", "download": "Descargado",
"nondownload": "No descargado", "nondownload": "No descargado",
"read": "Leído", "read": "Leído",
"unread": "Sin leer", "unread": "No leídos",
"downloadedread": "Descargado y leído", "downloadedread": "Descargado y leído",
"downloadedunread": "Descargado y no leído", "downloadedunread": "Descargado y no leído",
"nondownloadedread": "No descargado y leído", "nondownloadedread": "No descargado y leído",
@@ -344,12 +344,12 @@
"totalAuthoritative": "Autoritarios", "totalAuthoritative": "Autoritarios",
"totalRecursive": "Recursivos", "totalRecursive": "Recursivos",
"totalCached": "En caché", "totalCached": "En caché",
"totalBlocked": "Blocked", "totalBlocked": "Bloqueado",
"totalDropped": "Descartados", "totalDropped": "Descartados",
"totalClients": "Clientes" "totalClients": "Clientes"
}, },
"tdarr": { "tdarr": {
"queue": "Queue", "queue": "Cola",
"processed": "Procesado", "processed": "Procesado",
"errored": "Error", "errored": "Error",
"saved": "Guardado" "saved": "Guardado"
@@ -360,13 +360,13 @@
"middleware": "Software intermedio" "middleware": "Software intermedio"
}, },
"trilium": { "trilium": {
"version": "Version", "version": "Versión",
"notesCount": "Notes", "notesCount": "Notas",
"dbSize": "Database Size", "dbSize": "Tamaño de la base de datos",
"unknown": "Unknown" "unknown": "Desconocido"
}, },
"navidrome": { "navidrome": {
"nothing_streaming": "No Active Streams", "nothing_streaming": "Sin transmisiones activas",
"please_wait": "Por favor, espera" "please_wait": "Por favor, espera"
}, },
"npm": { "npm": {
@@ -401,31 +401,31 @@
"numActiveSessions": "Sesiones", "numActiveSessions": "Sesiones",
"numConnections": "Conexiones", "numConnections": "Conexiones",
"dataRelayed": "Retransmitido", "dataRelayed": "Retransmitido",
"transferRate": "Rate" "transferRate": "Tasa"
}, },
"mastodon": { "mastodon": {
"user_count": "Users", "user_count": "Usuarios",
"status_count": "Publicaciones", "status_count": "Publicaciones",
"domain_count": "Dominios" "domain_count": "Dominios"
}, },
"medusa": { "medusa": {
"wanted": "Wanted", "wanted": "Buscando",
"queued": "Queued", "queued": "En cola",
"series": "Series" "series": "Series"
}, },
"minecraft": { "minecraft": {
"players": "Jugadores", "players": "Jugadores",
"version": "Versión", "version": "Versión",
"status": "Status", "status": "Estado",
"up": "Online", "up": "En línea",
"down": "Offline" "down": "Fuera de línea"
}, },
"miniflux": { "miniflux": {
"read": "Leer", "read": "Leer",
"unread": "Unread" "unread": "Sin leer"
}, },
"authentik": { "authentik": {
"users": "Users", "users": "Usuarios",
"loginsLast24H": "Inicios de sesión (24h)", "loginsLast24H": "Inicios de sesión (24h)",
"failedLoginsLast24H": "Inicios de sesión fallidos (24h)" "failedLoginsLast24H": "Inicios de sesión fallidos (24h)"
}, },
@@ -437,19 +437,19 @@
}, },
"glances": { "glances": {
"cpu": "CPU", "cpu": "CPU",
"load": "Load", "load": "Carga",
"wait": "Please wait", "wait": "Por favor, espera",
"temp": "TEMP", "temp": "TEMP",
"_temp": "Temperatura", "_temp": "Temperatura",
"warn": "Advertir", "warn": "Advertir",
"uptime": "UP", "uptime": "ACTIVO",
"total": "Total", "total": "Total",
"free": "Free", "free": "Libre",
"used": "Used", "used": "Usado",
"days": "d", "days": "d",
"hours": "h", "hours": "h",
"crit": "Crít.", "crit": "Crít.",
"read": "Read", "read": "Leído",
"write": "Escribir", "write": "Escribir",
"gpu": "GPU", "gpu": "GPU",
"mem": "Memoria", "mem": "Memoria",
@@ -470,57 +470,57 @@
"1-day": "Mayormente soleado", "1-day": "Mayormente soleado",
"1-night": "Mayormente despejado", "1-night": "Mayormente despejado",
"2-day": "Parcialmente nuboso", "2-day": "Parcialmente nuboso",
"2-night": "Partly Cloudy", "2-night": "Parcialmente nublado",
"3-day": "Nublado", "3-day": "Nublado",
"3-night": "Cloudy", "3-night": "Nublado",
"45-day": "Niebla", "45-day": "Niebla",
"45-night": "Foggy", "45-night": "Neblinoso",
"48-day": "Foggy", "48-day": "Neblinoso",
"48-night": "Foggy", "48-night": "Neblinoso",
"51-day": "Llovizna ligera", "51-day": "Llovizna ligera",
"51-night": "Light Drizzle", "51-night": "Llovizna ligera",
"53-day": "Llovizna", "53-day": "Llovizna",
"53-night": "Drizzle", "53-night": "Llovizna",
"55-day": "Llovizna intensa", "55-day": "Llovizna intensa",
"55-night": "Heavy Drizzle", "55-night": "Llovizna intensa",
"56-day": "Llovizna helada ligera", "56-day": "Llovizna helada ligera",
"56-night": "Light Freezing Drizzle", "56-night": "Llovizna helada ligera",
"57-day": "Llovizna helada", "57-day": "Llovizna helada",
"57-night": "Freezing Drizzle", "57-night": "Llovizna helada",
"61-day": "Lluvia ligera", "61-day": "Lluvia ligera",
"61-night": "Light Rain", "61-night": "Lluvia ligera",
"63-day": "Lluvia", "63-day": "Lluvia",
"63-night": "Rain", "63-night": "Lluvia",
"65-day": "Lluvia torrencial", "65-day": "Lluvia torrencial",
"65-night": "Heavy Rain", "65-night": "Lluvia fuerte",
"66-day": "Granizo", "66-day": "Granizo",
"66-night": "Freezing Rain", "66-night": "Lluvia helada",
"67-day": "Freezing Rain", "67-day": "Lluvia helada",
"67-night": "Freezing Rain", "67-night": "Lluvia helada",
"71-day": "Nevada leve", "71-day": "Nevada leve",
"71-night": "Light Snow", "71-night": "Nieve ligera",
"73-day": "Nevada", "73-day": "Nevada",
"73-night": "Snow", "73-night": "Nieve",
"75-day": "Nevada intensa", "75-day": "Nevada intensa",
"75-night": "Heavy Snow", "75-night": "Nieve intensa",
"77-day": "Granizada", "77-day": "Granizada",
"77-night": "Snow Grains", "77-night": "Granizada",
"80-day": "Llovizna", "80-day": "Llovizna",
"80-night": "Light Showers", "80-night": "Chubascos ligeros",
"81-day": "Lluvia", "81-day": "Lluvia",
"81-night": "Showers", "81-night": "Chubascos",
"82-day": "Lluvias torrenciales", "82-day": "Lluvias torrenciales",
"82-night": "Heavy Showers", "82-night": "Chubascos fuertes",
"85-day": "Lluvia de nieve", "85-day": "Lluvia de nieve",
"85-night": "Snow Showers", "85-night": "Chubascos de nieve",
"86-day": "Snow Showers", "86-day": "Chubascos de nieve",
"86-night": "Snow Showers", "86-night": "Chubascos de nieve",
"95-day": "Tormenta", "95-day": "Tormenta",
"95-night": "Thunderstorm", "95-night": "Tormenta",
"96-day": "Tormenta con granizo", "96-day": "Tormenta con granizo",
"96-night": "Thunderstorm With Hail", "96-night": "Tormenta con granizo",
"99-day": "Thunderstorm With Hail", "99-day": "Tormenta con granizo",
"99-night": "Thunderstorm With Hail" "99-night": "Tormenta con granizo"
}, },
"homebridge": { "homebridge": {
"available_update": "Sistema", "available_update": "Sistema",
@@ -535,11 +535,11 @@
}, },
"healthchecks": { "healthchecks": {
"new": "Nuevo", "new": "Nuevo",
"up": "Up", "up": "Activo",
"grace": "En Periodo de Gracia", "grace": "En Periodo de Gracia",
"down": "Down", "down": "Inactivo",
"paused": "Pausado", "paused": "Pausado",
"status": "Status", "status": "Estado",
"last_ping": "Último ping", "last_ping": "Último ping",
"never": "Aún no hay pings" "never": "Aún no hay pings"
}, },
@@ -549,26 +549,26 @@
"containers_failed": "Fallido" "containers_failed": "Fallido"
}, },
"autobrr": { "autobrr": {
"approvedPushes": "Approved", "approvedPushes": "Aprobado",
"rejectedPushes": "Rechazado", "rejectedPushes": "Rechazado",
"filters": "Filtros", "filters": "Filtros",
"indexers": "Indexers" "indexers": "Indexadores"
}, },
"tubearchivist": { "tubearchivist": {
"downloads": "Queue", "downloads": "Cola",
"videos": "Videos", "videos": "Videos",
"channels": "Canales", "channels": "Canales",
"playlists": "Listas de reproducción" "playlists": "Listas de reproducción"
}, },
"truenas": { "truenas": {
"load": "Carga del sistema", "load": "Carga del sistema",
"uptime": "Uptime", "uptime": "Tiempo activo",
"alerts": "Alerts" "alerts": "Alertas"
}, },
"pyload": { "pyload": {
"speed": "Velocidad", "speed": "Velocidad",
"active": "Active", "active": "Activo",
"queue": "Queue", "queue": "Cola",
"total": "Total" "total": "Total"
}, },
"gluetun": { "gluetun": {
@@ -578,21 +578,21 @@
"port_forwarded": "Puerto redireccionado" "port_forwarded": "Puerto redireccionado"
}, },
"hdhomerun": { "hdhomerun": {
"channels": "Channels", "channels": "Canales",
"hd": "Alta definición", "hd": "Alta definición",
"tunerCount": "Sintonizadores", "tunerCount": "Sintonizadores",
"channelNumber": "Canal", "channelNumber": "Canal",
"channelNetwork": "Red", "channelNetwork": "Red",
"signalStrength": "Intensidad", "signalStrength": "Intensidad",
"signalQuality": "Calidad", "signalQuality": "Calidad",
"symbolQuality": "Quality", "symbolQuality": "Calidad",
"networkRate": "Bitrate", "networkRate": "Tasa de bits",
"clientIP": "Cliente" "clientIP": "Cliente"
}, },
"scrutiny": { "scrutiny": {
"passed": "Aprobado", "passed": "Aprobado",
"failed": "Failed", "failed": "Fallido",
"unknown": "Unknown" "unknown": "Desconocido"
}, },
"paperlessngx": { "paperlessngx": {
"inbox": "Bandeja de entrada", "inbox": "Bandeja de entrada",
@@ -602,23 +602,23 @@
"battery_charge": "Carga de la batería", "battery_charge": "Carga de la batería",
"ups_load": "Carga del UPS", "ups_load": "Carga del UPS",
"ups_status": "Estado del UPS", "ups_status": "Estado del UPS",
"online": "Online", "online": "En línea",
"on_battery": "Con batería", "on_battery": "Con batería",
"low_battery": "Batería baja" "low_battery": "Batería baja"
}, },
"nextdns": { "nextdns": {
"wait": "Please Wait", "wait": "Por favor, espera",
"no_devices": "No se recibieron datos del dispositivo" "no_devices": "No se recibieron datos del dispositivo"
}, },
"mikrotik": { "mikrotik": {
"cpuLoad": "Carga de la CPU", "cpuLoad": "Carga de la CPU",
"memoryUsed": "Memoria utilizada", "memoryUsed": "Memoria utilizada",
"uptime": "Uptime", "uptime": "Tiempo activo",
"numberOfLeases": "Alquileres" "numberOfLeases": "Alquileres"
}, },
"xteve": { "xteve": {
"streams_all": "Todas las transmisiones", "streams_all": "Todas las transmisiones",
"streams_active": "Active Streams", "streams_active": "Transmisiones activas",
"streams_xepg": "Canales XEPG" "streams_xepg": "Canales XEPG"
}, },
"opendtu": { "opendtu": {
@@ -628,7 +628,7 @@
"limit": "Límite" "limit": "Límite"
}, },
"opnsense": { "opnsense": {
"cpu": "CPU Load", "cpu": "Carga de la CPU",
"memory": "Memoria activa", "memory": "Memoria activa",
"wanUpload": "Subida WAN", "wanUpload": "Subida WAN",
"wanDownload": "Descarga WAN" "wanDownload": "Descarga WAN"
@@ -640,7 +640,7 @@
"layers": "Capas" "layers": "Capas"
}, },
"octoprint": { "octoprint": {
"printer_state": "Status", "printer_state": "Estado",
"temp_tool": "Temperatura de la herramienta", "temp_tool": "Temperatura de la herramienta",
"temp_bed": "Temperatura de la plataforma", "temp_bed": "Temperatura de la plataforma",
"job_completion": "Finalización" "job_completion": "Finalización"
@@ -653,8 +653,8 @@
"load": "Promedio de carga", "load": "Promedio de carga",
"memory": "Uso de memoria", "memory": "Uso de memoria",
"wanStatus": "Estado de la WAN", "wanStatus": "Estado de la WAN",
"up": "Up", "up": "Activo",
"down": "Down", "down": "Inactivo",
"temp": "Temp", "temp": "Temp",
"disk": "Uso del disco", "disk": "Uso del disco",
"wanIP": "IP de la WAN" "wanIP": "IP de la WAN"
@@ -666,7 +666,7 @@
"memory_usage": "Memoria" "memory_usage": "Memoria"
}, },
"immich": { "immich": {
"users": "Users", "users": "Usuarios",
"photos": "Fotos", "photos": "Fotos",
"videos": "Videos", "videos": "Videos",
"storage": "Almacenamiento" "storage": "Almacenamiento"
@@ -674,7 +674,7 @@
"uptimekuma": { "uptimekuma": {
"up": "Sitios activos", "up": "Sitios activos",
"down": "Sitios inactivos", "down": "Sitios inactivos",
"uptime": "Uptime", "uptime": "Tiempo activo",
"incident": "Incidencia", "incident": "Incidencia",
"m": "m" "m": "m"
}, },
@@ -687,17 +687,17 @@
"komga": { "komga": {
"libraries": "Librerías", "libraries": "Librerías",
"series": "Series", "series": "Series",
"books": "Books" "books": "Libros"
}, },
"diskstation": { "diskstation": {
"days": "Days", "days": "Días",
"uptime": "Uptime", "uptime": "Tiempo activo",
"volumeAvailable": "Available" "volumeAvailable": "Disponible"
}, },
"mylar": { "mylar": {
"series": "Series", "series": "Series",
"issues": "Números", "issues": "Números",
"wanted": "Wanted" "wanted": "Buscando"
}, },
"photoprism": { "photoprism": {
"albums": "Álbumes", "albums": "Álbumes",
@@ -706,9 +706,9 @@
"people": "Personas" "people": "Personas"
}, },
"fileflows": { "fileflows": {
"queue": "Queue", "queue": "Cola",
"processing": "Processing", "processing": "Procesando",
"processed": "Processed", "processed": "Procesado",
"time": "Tiempo" "time": "Tiempo"
}, },
"firefly": { "firefly": {
@@ -730,11 +730,11 @@
"numshares": "Elementos compartidos" "numshares": "Elementos compartidos"
}, },
"kopia": { "kopia": {
"status": "Status", "status": "Estado",
"size": "Tamaño", "size": "Tamaño",
"lastrun": "Última ejecución", "lastrun": "Última ejecución",
"nextrun": "Siguiente ejecución", "nextrun": "Siguiente ejecución",
"failed": "Failed" "failed": "Fallido"
}, },
"unmanic": { "unmanic": {
"active_workers": "Trabajadores activos", "active_workers": "Trabajadores activos",
@@ -751,20 +751,20 @@
"targets_total": "Objetivos totales" "targets_total": "Objetivos totales"
}, },
"gatus": { "gatus": {
"up": "Sites Up", "up": "Sitios activos",
"down": "Sites Down", "down": "Sitios inactivos",
"uptime": "Uptime" "uptime": "Tiempo activo"
}, },
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "Today", "gross_percent_today": "Hoy",
"gross_percent_1y": "Un año", "gross_percent_1y": "Un año",
"gross_percent_max": "Todo el tiempo" "gross_percent_max": "Todo el tiempo"
}, },
"audiobookshelf": { "audiobookshelf": {
"podcasts": "Podcasts", "podcasts": "Podcasts",
"books": "Books", "books": "Libros",
"podcastsDuration": "Duración", "podcastsDuration": "Duración",
"booksDuration": "Duration" "booksDuration": "Duración"
}, },
"homeassistant": { "homeassistant": {
"people_home": "Personas en casa", "people_home": "Personas en casa",
@@ -789,32 +789,32 @@
}, },
"kavita": { "kavita": {
"seriesCount": "Series", "seriesCount": "Series",
"totalFiles": "Files" "totalFiles": "Archivos"
}, },
"azuredevops": { "azuredevops": {
"result": "Resultado", "result": "Resultado",
"status": "Status", "status": "Estado",
"buildId": "ID de compilación", "buildId": "ID de compilación",
"succeeded": "Exitoso", "succeeded": "Exitoso",
"notStarted": "No iniciado", "notStarted": "No iniciado",
"failed": "Failed", "failed": "Fallido",
"canceled": "Cancelado", "canceled": "Cancelado",
"inProgress": "En curso", "inProgress": "En curso",
"totalPrs": "RP totales", "totalPrs": "PRs totales",
"myPrs": "Mis logros", "myPrs": "Mis PRs",
"approved": "Approved" "approved": "Aprobado"
}, },
"gamedig": { "gamedig": {
"status": "Status", "status": "Estado",
"online": "Online", "online": "En línea",
"offline": "Offline", "offline": "Fuera de línea",
"name": "Nombre", "name": "Nombre",
"map": "Mapa", "map": "Mapa",
"currentPlayers": "Jugadores actuales", "currentPlayers": "Jugadores actuales",
"players": "Players", "players": "Jugadores",
"maxPlayers": "Jugadores máximos", "maxPlayers": "Jugadores máximos",
"bots": "Bots", "bots": "Bots",
"ping": "Ping" "ping": "Latencia"
}, },
"urbackup": { "urbackup": {
"ok": "OK", "ok": "OK",
@@ -824,42 +824,42 @@
}, },
"mealie": { "mealie": {
"recipes": "Recetas", "recipes": "Recetas",
"users": "Users", "users": "Usuarios",
"categories": "Categories", "categories": "Categorías",
"tags": "Etiquetas" "tags": "Etiquetas"
}, },
"openmediavault": { "openmediavault": {
"downloading": "Descargando", "downloading": "Descargando",
"total": "Total", "total": "Total",
"running": "Running", "running": "Ejecutando",
"stopped": "Stopped", "stopped": "Detenido",
"passed": "Passed", "passed": "Aprobado",
"failed": "Failed" "failed": "Fallido"
}, },
"openwrt": { "openwrt": {
"uptime": "Uptime", "uptime": "Tiempo activo",
"cpuLoad": "Carga promedio del CPU (5m)", "cpuLoad": "Carga promedio del CPU (5m)",
"up": "Up", "up": "Activo",
"down": "Down", "down": "Inactivo",
"bytesTx": "Transmitido", "bytesTx": "Transmitido",
"bytesRx": "Received" "bytesRx": "Recibido"
}, },
"uptimerobot": { "uptimerobot": {
"status": "Status", "status": "Estado",
"uptime": "Uptime", "uptime": "Tiempo activo",
"lastDown": "Último periodo de inactividad", "lastDown": "Último periodo de inactividad",
"downDuration": "Duración de inactividad", "downDuration": "Duración de inactividad",
"sitesUp": "Sites Up", "sitesUp": "Sitios activos",
"sitesDown": "Sites Down", "sitesDown": "Sitios inactivos",
"paused": "Paused", "paused": "Pausado",
"notyetchecked": "Aún no verificado", "notyetchecked": "Aún no comprobado",
"up": "Up", "up": "Activo",
"seemsdown": "Parece caída", "seemsdown": "Parece caído",
"down": "Down", "down": "Inactivo",
"unknown": "Unknown" "unknown": "Desconocido"
}, },
"calendar": { "calendar": {
"inCinemas": "En cine", "inCinemas": "En cines",
"physicalRelease": "Lanzamiento en físico", "physicalRelease": "Lanzamiento en físico",
"digitalRelease": "Lanzamiento en digital", "digitalRelease": "Lanzamiento en digital",
"noEventsToday": "¡Sin eventos para hoy!", "noEventsToday": "¡Sin eventos para hoy!",
@@ -875,10 +875,10 @@
"totalfilesize": "Tamaño total" "totalfilesize": "Tamaño total"
}, },
"mailcow": { "mailcow": {
"domains": "Domains", "domains": "Dominios",
"mailboxes": "Buzones de correo", "mailboxes": "Buzones de correo",
"mails": "Correos", "mails": "Correos",
"storage": "Storage" "storage": "Almacenamiento"
}, },
"netdata": { "netdata": {
"warnings": "Advertencias", "warnings": "Advertencias",
@@ -887,12 +887,12 @@
"plantit": { "plantit": {
"events": "Eventos", "events": "Eventos",
"plants": "Plantas", "plants": "Plantas",
"photos": "Photos", "photos": "Fotos",
"species": "Especies" "species": "Especies"
}, },
"gitea": { "gitea": {
"notifications": "Notificaciones", "notifications": "Notificaciones",
"issues": "Issues", "issues": "Incidencias",
"pulls": "Solicitudes de cambios", "pulls": "Solicitudes de cambios",
"repositories": "Repositorios" "repositories": "Repositorios"
}, },
@@ -908,13 +908,13 @@
"galleries": "Galerías", "galleries": "Galerías",
"performers": "Intérpretes", "performers": "Intérpretes",
"studios": "Estudios", "studios": "Estudios",
"movies": "Movies", "movies": "Películas",
"tags": "Tags", "tags": "Etiquetas",
"oCount": "Cantidad de O" "oCount": "Cantidad de O"
}, },
"tandoor": { "tandoor": {
"users": "Users", "users": "Usuarios",
"recipes": "Recipes", "recipes": "Recetas",
"keywords": "Palabras clave" "keywords": "Palabras clave"
}, },
"homebox": { "homebox": {
@@ -922,11 +922,11 @@
"totalWithWarranty": "Con garantía", "totalWithWarranty": "Con garantía",
"locations": "Ubicaciones", "locations": "Ubicaciones",
"labels": "Etiquetas", "labels": "Etiquetas",
"users": "Users", "users": "Usuarios",
"totalValue": "Valor total" "totalValue": "Valor total"
}, },
"crowdsec": { "crowdsec": {
"alerts": "Alerts", "alerts": "Alertas",
"bans": "Baneos" "bans": "Baneos"
}, },
"wgeasy": { "wgeasy": {
@@ -942,9 +942,9 @@
"banned": "Baneado" "banned": "Baneado"
}, },
"myspeed": { "myspeed": {
"ping": "Ping", "ping": "Latencia",
"download": "Download", "download": "Descarga",
"upload": "Upload" "upload": "Subida"
}, },
"stocks": { "stocks": {
"stocks": "Acciones", "stocks": "Acciones",
@@ -955,17 +955,17 @@
}, },
"frigate": { "frigate": {
"cameras": "Cámaras", "cameras": "Cámaras",
"uptime": "Uptime", "uptime": "Tiempo activo",
"version": "Version" "version": "Versión"
}, },
"linkwarden": { "linkwarden": {
"links": "Enlaces", "links": "Enlaces",
"collections": "Colecciones", "collections": "Colecciones",
"tags": "Tags" "tags": "Etiquetas"
}, },
"zabbix": { "zabbix": {
"unclassified": "No clasificado", "unclassified": "No clasificado",
"information": "Information", "information": "Información",
"warning": "Advertencia", "warning": "Advertencia",
"average": "Promedio", "average": "Promedio",
"high": "Alto", "high": "Alto",
@@ -986,22 +986,22 @@
"tasksInProgress": "Tareas en progreso" "tasksInProgress": "Tareas en progreso"
}, },
"headscale": { "headscale": {
"name": "Name", "name": "Nombre",
"address": "Address", "address": "Dirección",
"last_seen": "Last Seen", "last_seen": "Visto por última vez",
"status": "Status", "status": "Estado",
"online": "Online", "online": "En línea",
"offline": "Offline" "offline": "Fuera de línea"
}, },
"beszel": { "beszel": {
"name": "Name", "name": "Nombre",
"systems": "Sistemas", "systems": "Sistemas",
"up": "Up", "up": "Activo",
"down": "Down", "down": "Inactivo",
"paused": "Paused", "paused": "Pausado",
"pending": "Pending", "pending": "Pendiente",
"status": "Status", "status": "Estado",
"updated": "Updated", "updated": "Actualizado",
"cpu": "CPU", "cpu": "CPU",
"memory": "MEM", "memory": "MEM",
"disk": "Disco", "disk": "Disco",
@@ -1011,26 +1011,26 @@
"apps": "Apps", "apps": "Apps",
"synced": "Sincronizado", "synced": "Sincronizado",
"outOfSync": "Desincronizado", "outOfSync": "Desincronizado",
"healthy": "Healthy", "healthy": "Saludable",
"degraded": "Degradado", "degraded": "Degradado",
"progressing": "Progresando", "progressing": "Progresando",
"missing": "Missing", "missing": "Faltantes",
"suspended": "Suspendido" "suspended": "Suspendido"
}, },
"spoolman": { "spoolman": {
"loading": "Loading" "loading": "Cargando"
}, },
"gitlab": { "gitlab": {
"groups": "Grupos", "groups": "Grupos",
"issues": "Issues", "issues": "Incidencias",
"merges": "Solicitudes de fusión", "merges": "Solicitudes de fusión",
"projects": "Proyectos" "projects": "Proyectos"
}, },
"apcups": { "apcups": {
"status": "Status", "status": "Estado",
"load": "Load", "load": "Carga",
"bcharge": "Battery Charge", "bcharge": "Carga de la batería",
"timeleft": "Time Left" "timeleft": "Tiempo restante"
}, },
"karakeep": { "karakeep": {
"bookmarks": "Marcadores", "bookmarks": "Marcadores",
@@ -1038,10 +1038,10 @@
"archived": "Archivado", "archived": "Archivado",
"highlights": "Destacados", "highlights": "Destacados",
"lists": "Listas", "lists": "Listas",
"tags": "Tags" "tags": "Etiquetas"
}, },
"slskd": { "slskd": {
"slskStatus": "Network", "slskStatus": "Red",
"connected": "Conectado", "connected": "Conectado",
"disconnected": "Desconectado", "disconnected": "Desconectado",
"updateStatus": "Actualización", "updateStatus": "Actualización",
@@ -1049,12 +1049,12 @@
"update_no": "Actualizado", "update_no": "Actualizado",
"downloads": "Descargas", "downloads": "Descargas",
"uploads": "Subidas", "uploads": "Subidas",
"sharedFiles": "Compartidos" "sharedFiles": "Archivos"
}, },
"jellystat": { "jellystat": {
"songs": "Songs", "songs": "Canciones",
"movies": "Movies", "movies": "Películas",
"episodes": "Episodes", "episodes": "Episodios",
"other": "Otros" "other": "Otros"
}, },
"checkmk": { "checkmk": {
@@ -1063,25 +1063,25 @@
}, },
"komodo": { "komodo": {
"total": "Total", "total": "Total",
"running": "Running", "running": "En ejecución",
"stopped": "Stopped", "stopped": "Detenido",
"down": "Down", "down": "Inactivo",
"unhealthy": "Unhealthy", "unhealthy": "En mal estado",
"unknown": "Unknown", "unknown": "Desconocido",
"servers": "Servers", "servers": "Servidores",
"stacks": "Stacks", "stacks": "Stacks",
"containers": "Containers" "containers": "Contenedores"
}, },
"filebrowser": { "filebrowser": {
"available": "Available", "available": "Disponible",
"used": "Used", "used": "Usado",
"total": "Total" "total": "Total"
}, },
"wallos": { "wallos": {
"activeSubscriptions": "Subscriptions", "activeSubscriptions": "Suscripciones",
"thisMonthlyCost": "This Month", "thisMonthlyCost": "Este mes",
"nextMonthlyCost": "Next Month", "nextMonthlyCost": "Próximo mes",
"previousMonthlyCost": "Prev. Month", "previousMonthlyCost": "Mes anterior",
"nextRenewingSubscription": "Next Payment" "nextRenewingSubscription": "Próximo pago"
} }
} }

View File

@@ -308,7 +308,7 @@ export function cleanServiceGroups(groups) {
// gamedig // gamedig
gameToken, gameToken,
// beszel, glances, immich, komga, mealie, pihole, pfsense, speedtest // authentik, beszel, glances, immich, komga, mealie, pihole, pfsense, speedtest
version, version,
// glances // glances
@@ -518,6 +518,7 @@ export function cleanServiceGroups(groups) {
} }
if ( if (
[ [
"authentik",
"beszel", "beszel",
"glances", "glances",
"immich", "immich",

View File

@@ -10,8 +10,12 @@ export default function Component({ service }) {
const { widget } = service; const { widget } = service;
const { data: usersData, error: usersError } = useWidgetAPI(widget, "users"); const { data: usersData, error: usersError } = useWidgetAPI(widget, "users");
const { data: loginsData, error: loginsError } = useWidgetAPI(widget, "login");
const { data: failedLoginsData, error: failedLoginsError } = useWidgetAPI(widget, "login_failed"); const loginsEndpoint = widget.version === 2 ? "loginv2" : "login";
const { data: loginsData, error: loginsError } = useWidgetAPI(widget, loginsEndpoint);
const failedLoginsEndpoint = widget.version === 2 ? "login_failedv2" : "login_failed";
const { data: failedLoginsData, error: failedLoginsError } = useWidgetAPI(widget, failedLoginsEndpoint);
if (usersError || loginsError || failedLoginsError) { if (usersError || loginsError || failedLoginsError) {
const finalError = usersError ?? loginsError ?? failedLoginsError; const finalError = usersError ?? loginsError ?? failedLoginsError;
@@ -28,15 +32,25 @@ export default function Component({ service }) {
); );
} }
const yesterday = new Date(Date.now()).setHours(-24); let loginsLast24H;
const loginsLast24H = loginsData.reduce( let failedLoginsLast24H;
(total, current) => (current.x_cord >= yesterday ? total + current.y_cord : total), switch (widget.version) {
0, case 1:
); const yesterday = new Date(Date.now()).setHours(-24);
const failedLoginsLast24H = failedLoginsData.reduce( loginsLast24H = loginsData.reduce(
(total, current) => (current.x_cord >= yesterday ? total + current.y_cord : total), (total, current) => (current.x_cord >= yesterday ? total + current.y_cord : total),
0, 0,
); );
failedLoginsLast24H = failedLoginsData.reduce(
(total, current) => (current.x_cord >= yesterday ? total + current.y_cord : total),
0,
);
break;
case 2:
loginsLast24H = loginsData[0]?.count || 0;
failedLoginsLast24H = failedLoginsData[0]?.count || 0;
break;
}
return ( return (
<Container service={service}> <Container service={service}>

View File

@@ -11,9 +11,15 @@ const widget = {
login: { login: {
endpoint: "events/events/per_month/?action=login", endpoint: "events/events/per_month/?action=login",
}, },
loginv2: {
endpoint: "events/events/volume/?action=login&&history_days=1",
},
login_failed: { login_failed: {
endpoint: "events/events/per_month/?action=login_failed", endpoint: "events/events/per_month/?action=login_failed",
}, },
login_failedv2: {
endpoint: "events/events/volume/?action=login_failed&&history_days=1",
},
}, },
}; };