multiples mejoras añadidas, se retiró la categoría
This commit is contained in:
@@ -25,16 +25,19 @@ class _VideosLayoutState extends State<VideosLayout> {
|
||||
title: 'Dashboard',
|
||||
icon: Icons.dashboard,
|
||||
index: 0,
|
||||
subtitle: 'Visualiza métricas y estadísticas globales de tus contenidos',
|
||||
),
|
||||
MenuItem(
|
||||
title: 'Gestor de Videos',
|
||||
icon: Icons.video_library,
|
||||
index: 1,
|
||||
subtitle: 'Administra, edita y organiza tu biblioteca multimedia',
|
||||
),
|
||||
MenuItem(
|
||||
title: 'Configuración',
|
||||
icon: Icons.settings,
|
||||
index: 2,
|
||||
subtitle: 'Personaliza las preferencias de tu plataforma',
|
||||
),
|
||||
];
|
||||
|
||||
@@ -65,6 +68,7 @@ class _VideosLayoutState extends State<VideosLayout> {
|
||||
Widget _buildHeader(bool isMobile) {
|
||||
final isDark = AppTheme.themeMode == ThemeMode.dark;
|
||||
final isLightBackground = !isDark;
|
||||
final currentMenuItem = _menuItems[_selectedMenuIndex];
|
||||
|
||||
return Container(
|
||||
padding: EdgeInsets.all(isMobile ? 16 : 24),
|
||||
@@ -79,30 +83,85 @@ class _VideosLayoutState extends State<VideosLayout> {
|
||||
),
|
||||
child: Row(
|
||||
children: [
|
||||
if (isMobile)
|
||||
if (isMobile) ...[
|
||||
IconButton(
|
||||
icon: const Icon(Icons.menu),
|
||||
color: AppTheme.of(context).primaryText,
|
||||
onPressed: () => _scaffoldKey.currentState?.openDrawer(),
|
||||
),
|
||||
// Logo de EnergyMedia
|
||||
Image.asset(
|
||||
isMobile
|
||||
? 'assets/images/favicon.png'
|
||||
: isLightBackground
|
||||
? 'assets/images/logo_nh.png'
|
||||
: 'assets/images/logo_nh_b.png',
|
||||
height: isMobile ? 32 : 75,
|
||||
fit: BoxFit.contain,
|
||||
),
|
||||
const Spacer(),
|
||||
Text(
|
||||
_menuItems[_selectedMenuIndex].title,
|
||||
style: AppTheme.of(context).bodyText1.override(
|
||||
fontFamily: 'Poppins',
|
||||
color: AppTheme.of(context).secondaryText,
|
||||
// Logo de EnergyMedia solo en mobile
|
||||
Image.asset(
|
||||
'assets/images/favicon.png',
|
||||
height: 32,
|
||||
fit: BoxFit.contain,
|
||||
),
|
||||
const Spacer(),
|
||||
Text(
|
||||
currentMenuItem.title,
|
||||
style: AppTheme.of(context).bodyText1.override(
|
||||
fontFamily: 'Poppins',
|
||||
color: AppTheme.of(context).secondaryText,
|
||||
),
|
||||
),
|
||||
] else ...[
|
||||
// Desktop: título prominente con subtítulo
|
||||
Row(
|
||||
children: [
|
||||
Container(
|
||||
padding: const EdgeInsets.all(12),
|
||||
decoration: BoxDecoration(
|
||||
gradient: LinearGradient(
|
||||
begin: Alignment.topLeft,
|
||||
end: Alignment.bottomRight,
|
||||
colors: [
|
||||
const Color(0xFF4EC9F5).withOpacity(0.15),
|
||||
const Color(0xFFFFB733).withOpacity(0.15),
|
||||
],
|
||||
),
|
||||
borderRadius: BorderRadius.circular(12),
|
||||
border: Border.all(
|
||||
color: AppTheme.of(context).primaryColor.withOpacity(0.2),
|
||||
width: 1.5,
|
||||
),
|
||||
),
|
||||
child: Icon(
|
||||
currentMenuItem.icon,
|
||||
color: AppTheme.of(context).primaryColor,
|
||||
size: 26,
|
||||
),
|
||||
),
|
||||
),
|
||||
const Gap(16),
|
||||
Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
Text(
|
||||
currentMenuItem.title,
|
||||
style: AppTheme.of(context).title2.override(
|
||||
fontFamily: 'Poppins',
|
||||
color: AppTheme.of(context).primaryText,
|
||||
fontWeight: FontWeight.bold,
|
||||
fontSize: 24,
|
||||
letterSpacing: 0.5,
|
||||
),
|
||||
),
|
||||
if (currentMenuItem.subtitle != null) ...[
|
||||
const Gap(4),
|
||||
Text(
|
||||
currentMenuItem.subtitle!,
|
||||
style: AppTheme.of(context).bodyText2.override(
|
||||
fontFamily: 'Poppins',
|
||||
color: AppTheme.of(context).tertiaryText,
|
||||
fontSize: 13,
|
||||
fontWeight: FontWeight.w400,
|
||||
),
|
||||
),
|
||||
],
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
],
|
||||
),
|
||||
);
|
||||
@@ -161,7 +220,7 @@ class _VideosLayoutState extends State<VideosLayout> {
|
||||
],
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
// Logo con container elegante
|
||||
Container(
|
||||
@@ -961,10 +1020,12 @@ class MenuItem {
|
||||
final String title;
|
||||
final IconData icon;
|
||||
final int index;
|
||||
final String? subtitle;
|
||||
|
||||
MenuItem({
|
||||
required this.title,
|
||||
required this.icon,
|
||||
required this.index,
|
||||
this.subtitle,
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user