Actualizar imagen e iconos de marca
@@ -0,0 +1,14 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
LinkedSign adaptive icon background
|
||||||
|
Radial gradient: indigo center → deep navy edge (mirrors LinkedCorp blue circle)
|
||||||
|
-->
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:shape="rectangle">
|
||||||
|
<gradient
|
||||||
|
android:type="radial"
|
||||||
|
android:gradientRadius="75%"
|
||||||
|
android:startColor="#5B56F2"
|
||||||
|
android:centerColor="#4338CA"
|
||||||
|
android:endColor="#1E1B4B"/>
|
||||||
|
</shape>
|
||||||
@@ -1,15 +1,49 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
LinkedSign adaptive icon foreground — 108×108dp canvas
|
||||||
|
Design: fountain pen (pluma estilográfica) centered in safe zone (72dp)
|
||||||
|
-->
|
||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:width="108dp"
|
android:width="108dp"
|
||||||
android:height="108dp"
|
android:height="108dp"
|
||||||
android:viewportWidth="108"
|
android:viewportWidth="108"
|
||||||
android:viewportHeight="108">
|
android:viewportHeight="108">
|
||||||
|
|
||||||
|
<!-- Pen barrel (cuerpo redondeado) -->
|
||||||
<path
|
<path
|
||||||
android:fillColor="#FFFFFF"
|
android:fillColor="#FFFFFF"
|
||||||
android:pathData="M54,18c-11.2,8.4 -22.9,12.6 -35,12.6v21.8c0,24.5 14.8,34.4 35,40.6c20.2,-6.2 35,-16.1 35,-40.6V30.6C76.9,30.6 65.2,26.4 54,18z" />
|
android:pathData="M38,14 L70,14 Q84,14 84,28 L84,62 Q84,76 70,62 L38,62 Q24,76 24,62 L24,28 Q24,14 38,14Z"/>
|
||||||
|
|
||||||
|
<!-- Barrel inner groove (hendidura decorativa) -->
|
||||||
<path
|
<path
|
||||||
android:fillColor="#4F46E5"
|
android:fillColor="#4338CA"
|
||||||
android:pathData="M40,38h12c7.9,0 14,5.3 14,12.5S59.9,63 52,63h-4v8h-8V38zm8,7v11h3.7c3.7,0 6.1,-2.1 6.1,-5.5c0,-3.5 -2.4,-5.5 -6.1,-5.5H48z" />
|
android:alpha="0.30"
|
||||||
|
android:pathData="M50,18 L58,18 Q62,18 62,22 L62,58 Q62,62 58,62 L50,62 Q46,62 46,58 L46,22 Q46,18 50,18Z"/>
|
||||||
|
|
||||||
|
<!-- Pen clip (lateral) -->
|
||||||
<path
|
<path
|
||||||
android:fillColor="#0F172A"
|
android:fillColor="#FFFFFF"
|
||||||
android:pathData="M38,76h32v4H38z" />
|
android:alpha="0.50"
|
||||||
|
android:pathData="M68,16 L73,16 Q75,16 75,18 L75,58 Q75,60 73,60 L68,60 Q66,60 66,58 L66,18 Q66,16 68,16Z"/>
|
||||||
|
|
||||||
|
<!-- Pen nib (plumín triangular) -->
|
||||||
|
<path
|
||||||
|
android:fillColor="#FFFFFF"
|
||||||
|
android:pathData="M38,62 L54,90 L70,62Z"/>
|
||||||
|
|
||||||
|
<!-- Nib center slit -->
|
||||||
|
<path
|
||||||
|
android:strokeColor="#4338CA"
|
||||||
|
android:strokeWidth="2.5"
|
||||||
|
android:strokeAlpha="0.40"
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:strokeLineCap="round"
|
||||||
|
android:pathData="M54,67 L54,88"/>
|
||||||
|
|
||||||
|
<!-- Ink drop at nib tip -->
|
||||||
|
<path
|
||||||
|
android:fillColor="#FFFFFF"
|
||||||
|
android:alpha="0.92"
|
||||||
|
android:pathData="M54,90 A4,4 0 1,1 54,98 A4,4 0 1,1 54,90Z"/>
|
||||||
|
|
||||||
</vector>
|
</vector>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<background android:drawable="@color/ic_launcher_background" />
|
<background android:drawable="@drawable/ic_launcher_background" />
|
||||||
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
||||||
</adaptive-icon>
|
</adaptive-icon>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<background android:drawable="@color/ic_launcher_background" />
|
<background android:drawable="@drawable/ic_launcher_background" />
|
||||||
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
||||||
</adaptive-icon>
|
</adaptive-icon>
|
||||||
|
|||||||
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 4.1 KiB |
|
After Width: | Height: | Size: 4.1 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 25 KiB |
@@ -1,4 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
<color name="ic_launcher_background">#111827</color>
|
<!-- Fallback color for API < 26 (no adaptive icon support) -->
|
||||||
|
<color name="ic_launcher_background">#312E81</color>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
<link rel="icon" type="image/png" href="/app-icon-96.png" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>LinkedSign</title>
|
<title>LinkedSign</title>
|
||||||
</head>
|
</head>
|
||||||
|
|||||||
|
After Width: | Height: | Size: 6.6 KiB |
@@ -1,6 +1,30 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64" fill="none">
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 96" width="96" height="96">
|
||||||
<rect width="64" height="64" rx="16" fill="#4F46E5"/>
|
<defs>
|
||||||
<path d="M32 9C25.363 13.978 18.43 16.467 11.26 16.467V29.378C11.26 43.896 20.03 49.763 32 53.438C43.97 49.763 52.74 43.896 52.74 29.378V16.467C45.57 16.467 38.637 13.978 32 9Z" fill="white"/>
|
<radialGradient id="bg" cx="40%" cy="34%" r="72%">
|
||||||
<path d="M23.778 20.911H31.911C37.208 20.911 41.6 24.392 41.6 29.689C41.6 34.986 37.208 38.467 31.911 38.467H29.6V44.8H23.778V20.911ZM29.6 25.956V33.422H31.6C34.452 33.422 35.956 31.956 35.956 29.689C35.956 27.422 34.452 25.956 31.6 25.956H29.6Z" fill="#4F46E5"/>
|
<stop offset="0%" stop-color="#6366F1"/>
|
||||||
<path d="M22.489 48.889H41.511V51.911H22.489V48.889Z" fill="#0F172A"/>
|
<stop offset="100%" stop-color="#1E1B4B"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- Background circle -->
|
||||||
|
<circle cx="48" cy="48" r="48" fill="url(#bg)"/>
|
||||||
|
<circle cx="48" cy="48" r="44.5" fill="none" stroke="white" stroke-width="0.6" opacity="0.12"/>
|
||||||
|
|
||||||
|
<!-- Pen barrel (cuerpo) -->
|
||||||
|
<rect x="34" y="12" width="28" height="44" rx="14" fill="white"/>
|
||||||
|
|
||||||
|
<!-- Barrel inner detail -->
|
||||||
|
<rect x="45" y="16" width="6" height="36" rx="3" fill="#4338CA" opacity="0.35"/>
|
||||||
|
|
||||||
|
<!-- Pen nib (plumín) -->
|
||||||
|
<path d="M 34,54 L 48,78 L 62,54 Z" fill="white"/>
|
||||||
|
|
||||||
|
<!-- Nib slit -->
|
||||||
|
<line x1="48" y1="58" x2="48" y2="76" stroke="#4338CA" stroke-width="2" opacity="0.4"/>
|
||||||
|
|
||||||
|
<!-- Clip lateral -->
|
||||||
|
<rect x="59" y="14" width="4" height="38" rx="2" fill="white" opacity="0.5"/>
|
||||||
|
|
||||||
|
<!-- Ink dot (punta de escritura) -->
|
||||||
|
<circle cx="48" cy="79" r="3" fill="white" opacity="0.9"/>
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 693 B After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 31 KiB |
@@ -83,11 +83,11 @@ export default function Layout({ children }) {
|
|||||||
<aside className={`sidebar ${mobileMenuOpen ? 'sidebar--mobile-open' : ''}`}>
|
<aside className={`sidebar ${mobileMenuOpen ? 'sidebar--mobile-open' : ''}`}>
|
||||||
<div className="sidebar-brand">
|
<div className="sidebar-brand">
|
||||||
<div className="sidebar-brand-mark">
|
<div className="sidebar-brand-mark">
|
||||||
<FileText size={18} />
|
<img src="/app-icon-96.png" alt="LinkedSign" width="32" height="32" style={{ display: 'block' }} />
|
||||||
</div>
|
</div>
|
||||||
<div className="sidebar-brand-copy">
|
<div className="sidebar-brand-copy">
|
||||||
<span>FirmaDoc</span>
|
<span>LinkedSign</span>
|
||||||
<small>Plataforma web</small>
|
<small>Desarrollo de Soluciones</small>
|
||||||
</div>
|
</div>
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
@@ -151,6 +151,10 @@ export default function Layout({ children }) {
|
|||||||
<main className="main-content">
|
<main className="main-content">
|
||||||
<div className="topbar">
|
<div className="topbar">
|
||||||
<div className="topbar-title">{currentTitle}</div>
|
<div className="topbar-title">{currentTitle}</div>
|
||||||
|
<div className="topbar-brand-logo" aria-hidden="true">
|
||||||
|
<span className="topbar-brand-by">by</span>
|
||||||
|
<img src="/logoLinkedCorpTxtBlack.png" alt="LinkedCorp" />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{children}
|
{children}
|
||||||
</main>
|
</main>
|
||||||
|
|||||||
@@ -111,14 +111,19 @@ select {
|
|||||||
width: 32px;
|
width: 32px;
|
||||||
height: 32px;
|
height: 32px;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
background: var(--c-primary);
|
|
||||||
color: #fff;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.sidebar-brand-mark img {
|
||||||
|
width: 32px;
|
||||||
|
height: 32px;
|
||||||
|
border-radius: 8px;
|
||||||
|
object-fit: contain;
|
||||||
|
}
|
||||||
|
|
||||||
.sidebar-brand-copy {
|
.sidebar-brand-copy {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
@@ -317,6 +322,31 @@ select {
|
|||||||
color: var(--c-text);
|
color: var(--c-text);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.topbar-brand-logo {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: flex-end;
|
||||||
|
gap: 6px;
|
||||||
|
min-width: 0;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.topbar-brand-by {
|
||||||
|
font-size: 11px;
|
||||||
|
line-height: 1;
|
||||||
|
font-weight: 500;
|
||||||
|
color: var(--c-muted);
|
||||||
|
text-transform: lowercase;
|
||||||
|
}
|
||||||
|
|
||||||
|
.topbar-brand-logo img {
|
||||||
|
display: block;
|
||||||
|
height: 24px;
|
||||||
|
width: auto;
|
||||||
|
max-width: 180px;
|
||||||
|
object-fit: contain;
|
||||||
|
}
|
||||||
|
|
||||||
/* ─── Page ───────────────────────────────────────────────────── */
|
/* ─── Page ───────────────────────────────────────────────────── */
|
||||||
.page {
|
.page {
|
||||||
padding: 20px 24px;
|
padding: 20px 24px;
|
||||||
@@ -2022,6 +2052,10 @@ select {
|
|||||||
flex-basis: 100%;
|
flex-basis: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.topbar-brand-logo {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
.page {
|
.page {
|
||||||
padding: 16px;
|
padding: 16px;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
|
|||||||