Visualização de conteudo

This commit is contained in:
2026-05-19 21:54:37 +01:00
parent 54d7042b94
commit 80ed2b1346
13 changed files with 1121 additions and 431 deletions

View File

@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_animate/flutter_animate.dart';
import 'package:go_router/go_router.dart';
import '../../../classes/presentation/pages/join_class_page.dart';
import '../../../materials/presentation/pages/content_management_page.dart';
import 'dashboard_action_card.dart';
/// Quick access cards for Student Dashboard with horizontal scrollable row
@@ -22,6 +23,7 @@ class QuickAccessWidget extends StatelessWidget {
Widget build(BuildContext context) {
final cards = [
_buildTutorIACard(context),
_buildContentManagementCard(context),
_buildQuizCard(context),
_buildAchievementsCard(context),
];
@@ -69,6 +71,8 @@ class QuickAccessWidget extends StatelessWidget {
SizedBox(width: _scrollCardWidth, child: cards[1]),
const SizedBox(width: 12),
SizedBox(width: _scrollCardWidth, child: cards[2]),
const SizedBox(width: 12),
SizedBox(width: _scrollCardWidth, child: cards[3]),
],
),
),
@@ -114,6 +118,37 @@ class QuickAccessWidget extends StatelessWidget {
);
}
Widget _buildContentManagementCard(BuildContext context) {
return ClipRRect(
borderRadius: BorderRadius.circular(16),
child:
DashboardActionCardSurface(
title: 'Gerenciamento Conteúdo',
subtitle: 'Ver por disciplinas',
icon: Icons.folder_open,
minHeight: _cardMinHeight,
titleFontSize: _titleFontSize,
subtitleFontSize: _subtitleFontSize,
iconSize: _iconSize,
padding: _cardPadding,
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (_) => const ContentManagementPage(),
),
);
},
)
.animate()
.fadeIn(
duration: const Duration(milliseconds: 300),
curve: Curves.easeOut,
)
.then(delay: const Duration(milliseconds: 150)),
);
}
Widget _buildQuizCard(BuildContext context) {
return ClipRRect(
borderRadius: BorderRadius.circular(16),
@@ -197,6 +232,18 @@ class QuickAccessWidget extends StatelessWidget {
context.go('/ai-tutor');
},
),
_QuickAccessItem(
title: 'Gerenciamento Conteúdo',
subtitle: 'Ver por disciplinas',
icon: Icons.folder_open,
onTap: () {
Navigator.pop(context);
Navigator.push(
context,
MaterialPageRoute(builder: (_) => const ContentManagementPage()),
);
},
),
_QuickAccessItem(
title: 'Quiz',
subtitle: 'Testa os teus conhecimentos',