Files
prosappweb/lib/ui/layouts/auth/widgets/background_auth.dart
T
Lizandro GuarnizoandClaude Sonnet 4.6 bf3c380e8e feat: redesign auth layout and login view with ProsApp logo
- auth_layout: gradient header (mobile) / split panel (desktop)
- background_auth: gradient blue with network logo, tagline and feature list
- custom_title: network logo replacing local asset
- login_view: consistent UI matching phone_login_view (inputs, buttons,
  links to register/phone login, brand colors)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 17:02:03 -05:00

64 lines
2.0 KiB
Dart

import 'package:flutter/material.dart';
class BackgroundAuth extends StatelessWidget {
const BackgroundAuth({super.key});
@override
Widget build(BuildContext context) {
return Container(
decoration: const BoxDecoration(
gradient: LinearGradient(
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
colors: [Color(0xFF42A4EF), Color(0xFF1565C0)],
),
),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Image.network(
'https://prosapp.co/img/logo_prosapp.png',
width: 180,
color: Colors.white,
colorBlendMode: BlendMode.srcATop,
errorBuilder: (_, __, ___) => const Text(
'ProsApp',
style: TextStyle(fontSize: 36, fontWeight: FontWeight.bold, color: Colors.white),
),
),
const SizedBox(height: 24),
const Text(
'Conecta con los mejores\nprofesionales',
textAlign: TextAlign.center,
style: TextStyle(color: Colors.white70, fontSize: 16, height: 1.5),
),
const SizedBox(height: 48),
_FeatureItem(icon: Icons.verified_user_outlined, text: 'Profesionales verificados'),
const SizedBox(height: 12),
_FeatureItem(icon: Icons.star_outline, text: 'Calificaciones reales'),
const SizedBox(height: 12),
_FeatureItem(icon: Icons.chat_bubble_outline, text: 'Chat directo'),
],
),
);
}
}
class _FeatureItem extends StatelessWidget {
final IconData icon;
final String text;
const _FeatureItem({required this.icon, required this.text});
@override
Widget build(BuildContext context) {
return Row(
mainAxisSize: MainAxisSize.min,
children: [
Icon(icon, color: Colors.white70, size: 18),
const SizedBox(width: 8),
Text(text, style: const TextStyle(color: Colors.white70, fontSize: 14)),
],
);
}
}