feat: version 2.1.0 -- logo de marca separado en barra lateral

El logo de empresa (Configuracion > Empresa) ahora va en un espacio
nuevo arriba de la barra lateral, solo visible si esta configurado.
El logo de LinkedCorp de abajo deja de ser configurable: identifica
siempre al desarrollador del sistema, sin importar que empresa lo use.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Milton Gonzalez
2026-09-22 11:40:55 -05:00
parent 81e495b533
commit 43fef6048e
7 changed files with 38 additions and 6 deletions
+7
View File
@@ -1,5 +1,12 @@
# Changelog - project.linkedcorp.net
## [2.1.0] - 2026-09-22
### Added
- Nuevo espacio de marca en la barra lateral (arriba a la izquierda): si el sistema tiene un
logo de empresa configurado (Configuración → Empresa), aparece ahí. El logo "LinkedCorp" de
abajo ya no es configurable — es fijo, identifica siempre al desarrollador del sistema,
independiente de qué empresa lo use.
## [2.0.2] - 2026-09-22
### Changed
- Instalación nueva en servidor de exilaser (`192.168.0.30`, `project.exilaser.net`): stack
+10 -1
View File
@@ -2,7 +2,7 @@
## Estado actual
- Version actual: `2.0.2`
- Version actual: `2.1.0`
- Estado: `operativo`
- Ultima validacion: `2026-09-22`
@@ -553,6 +553,15 @@ iRedMail):
- Sin cambios de esquema sobre este servidor (`.3`); se redespliega igual para dejarlo en v2.0.2
y mantener el repo en el mismo commit en ambos servidores.
## Actualizacion v2.1.0 (2026-09-22) — logo de marca en la barra lateral
- Pedido del usuario (detectado al usar el logo de empresa en el servidor de exilaser): el logo
"de empresa" (Configuracion > Empresa) estaba pisando al logo de LinkedCorp abajo en la barra
lateral y en el login. Se separa en dos lugares: uno nuevo arriba en la barra lateral (solo
visible si hay logo de empresa configurado) para el cliente que usa el sistema, y el de abajo
vuelve a ser siempre el de LinkedCorp (desarrollador), ya no configurable.
- Sin migracion (solo frontend). Probado en dev con un logo de prueba antes de subir.
## Comandos utiles
```bash
+1 -1
View File
@@ -1 +1 @@
2.0.2
2.1.0
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "project-linkedcorp-backend",
"version": "2.0.2",
"version": "2.1.0",
"private": true,
"type": "module",
"main": "src/server.js",
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "project-linkedcorp-frontend",
"private": true,
"version": "2.0.2",
"version": "2.1.0",
"type": "module",
"scripts": {
"dev": "vite",
+11 -2
View File
@@ -26,6 +26,15 @@ export function NavigationView({ mode }) {
const brandName = branding.name || t('appName');
return (
<nav className={`nav-view ${mode}`}>
{branding.logoUrl && (
<div className="nav-header">
<img
src={branding.logoUrl}
alt={brandName}
className={compact ? 'nav-logo-icon-header' : 'nav-logo-full-header'}
/>
</div>
)}
<div className="nav-items">
{items.map((item) => (
<NavLink key={item.to} to={item.to} end={item.end} className={({ isActive }) => `nav-item ${isActive ? 'active' : ''}`}>
@@ -36,10 +45,10 @@ export function NavigationView({ mode }) {
</div>
<div className="nav-footer">
{compact ? (
<img src={branding.logoUrl || logoIcon} alt={brandName} className="nav-logo-icon-footer" />
<img src={logoIcon} alt="LinkedCorp" className="nav-logo-icon-footer" />
) : (
<>
<img src={branding.logoUrl || (theme === 'light' ? logoLight : logoDark)} alt={brandName} className="nav-logo-full-footer" />
<img src={theme === 'light' ? logoLight : logoDark} alt="LinkedCorp" className="nav-logo-full-footer" />
<span className="nav-version">v{pkg.version}</span>
</>
)}
+7
View File
@@ -65,6 +65,13 @@ button { font-family: inherit; }
.nav-view.compact .nav-footer { align-items: center; }
.nav-logo-icon-footer { width: 40px; height: 40px; flex: none; object-fit: contain; }
.nav-logo-full-footer { height: 36px; width: auto; max-width: 100%; object-fit: contain; }
.nav-header {
display: flex; align-items: center; justify-content: flex-start;
padding: 14px 12px; border-bottom: 1px solid rgb(var(--line));
}
.nav-view.compact .nav-header { justify-content: center; padding: 14px 8px; }
.nav-logo-icon-header { width: 36px; height: 36px; flex: none; object-fit: contain; }
.nav-logo-full-header { height: 32px; width: auto; max-width: 100%; object-fit: contain; }
.content-column { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.topbar {