diff --git a/Dockerfile b/Dockerfile index ee20047..73d58ab 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,8 +18,8 @@ FROM base AS runner WORKDIR /app ENV NODE_ENV=production -RUN addgroup --system --gid 1001 nodejs -RUN adduser --system --uid 1001 nextjs +RUN addgroup --system --gid 1001 nodejs \ + && adduser --system --uid 1001 -G nodejs nextjs COPY --from=builder /app/public ./public COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ diff --git a/public/favicon.png b/public/favicon.png new file mode 100644 index 0000000..7ce4c34 Binary files /dev/null and b/public/favicon.png differ diff --git a/public/logo-sam.png b/public/logo-sam.png new file mode 100644 index 0000000..0d68b64 Binary files /dev/null and b/public/logo-sam.png differ diff --git a/src/app/globals.css b/src/app/globals.css index fac1baa..d627be6 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -800,6 +800,23 @@ a:hover { object-fit: contain; } +.login-page .login-main-text h1 { + font-size: 2rem; + font-weight: 700; +} + +.login-page .login-main-text h3 { + font-size: 1.05rem; + font-weight: 400; + opacity: 0.85; +} + +/* Columna derecha: sin esta regla base la tarjeta queda bajo el sidenav + fijo, porque .main solo aporta el margen en pantallas >= 768px. */ +.main { + padding: 0 24px; +} + /* --------------------------------------------------------------- Responsive --------------------------------------------------------------- */ @@ -819,6 +836,22 @@ a:hover { margin-left: 0; } + .login-page .sidenav { + padding: 20px 0 10px; + } + + .login-page .login-main-text { + padding: 20px; + } + + .login-page .login-main-text h1 { + font-size: 1.5rem; + } + + .main { + padding: 0 12px; + } + .detail-grid { grid-template-columns: 1fr; gap: 24px; diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 0821de7..afb54f1 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -11,6 +11,9 @@ export const metadata: Metadata = { template: "%s · Proyectos · SAM", }, description: "Gestor de proyectos estilo Linear para la plataforma SAM.", + icons: { + icon: "/favicon.png", + }, }; /** diff --git a/src/app/login/page.tsx b/src/app/login/page.tsx index 18731f0..09b85e5 100644 --- a/src/app/login/page.tsx +++ b/src/app/login/page.tsx @@ -8,8 +8,9 @@ import { useAuth } from "@/lib/auth"; * Acceso al módulo. Valida contra sige_sam_v3.usuario en el backend * (POST /api/proyectos/auth/login), igual que el resto de módulos SAM. * - * Patrón visual de sam-portal / SistemaCalidad: sidenav azul con la marca - * a la izquierda y la tarjeta de acceso a la derecha. + * Estructura idéntica a la de sam-portal (ventas/login.aspx): sidenav azul + * sólido #00285d con la marca a la izquierda, y el formulario en .main, + * que a partir de 768px se desplaza el 40% del sidenav. */ export default function LoginPage() { const router = useRouter(); @@ -43,87 +44,80 @@ export default function LoginPage() { return (
- Gestión de proyectos · SAM -
-- Organismo Técnico de Capacitación -
-
+ - Use su RUT y clave del sistema central (SIGE). -
+