cognitive_tests 1.0.1
cognitive_tests: ^1.0.1 copied to clipboard
A Flutter library for cognitive tests
import 'package:flutter/material.dart';
import 'stroop_test_page.dart';
import 'trail_making_test_page.dart';
import 'trail_making_test_instructions.dart';
void main() {
runApp(const CognitiveTestsApp());
}
class CognitiveTestsApp extends StatelessWidget {
const CognitiveTestsApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Cognitive Tests',
theme: ThemeData(
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: const HomePage(),
);
}
}
class HomePage extends StatelessWidget {
const HomePage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Cognitive Tests'),
centerTitle: true,
backgroundColor: Colors.blue.shade700,
foregroundColor: Colors.white,
elevation: 2,
),
body: Container(
decoration: BoxDecoration(
gradient: LinearGradient(
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
colors: [
Colors.blue.shade50,
Colors.white,
],
),
),
child: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const SizedBox(height: 20),
Text(
'Available Tests',
style: Theme.of(context).textTheme.headlineSmall?.copyWith(
fontWeight: FontWeight.bold,
color: Colors.blue.shade800,
),
),
const SizedBox(height: 8),
Text(
'Select a cognitive test to begin',
style: Theme.of(context).textTheme.bodyMedium?.copyWith(
color: Colors.grey.shade600,
),
),
const SizedBox(height: 20),
Expanded(
child: ListView(
children: [
Card(
elevation: 3,
margin: const EdgeInsets.only(bottom: 12),
child: ListTile(
leading: CircleAvatar(
backgroundColor: Colors.orange.shade100,
child: Icon(
Icons.psychology,
color: Colors.orange.shade700,
),
),
title: const Text(
'Stroop Test',
style: TextStyle(fontWeight: FontWeight.w600),
),
subtitle: const Text(
'Measures cognitive flexibility and attention',
),
trailing: const Icon(Icons.arrow_forward_ios),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const StroopTestPage(),
),
);
},
),
),
Card(
elevation: 3,
margin: const EdgeInsets.only(bottom: 12),
child: ListTile(
leading: CircleAvatar(
backgroundColor: Colors.green.shade100,
child: Icon(
Icons.route,
color: Colors.green.shade700,
),
),
title: const Text(
'Trail Making Test',
style: TextStyle(fontWeight: FontWeight.w600),
),
subtitle: const Text(
'Assesses visual attention and task switching',
),
trailing: const Icon(Icons.arrow_forward_ios),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const TrailMakingTestPage(),
),
);
},
),
),
Card(
elevation: 3,
margin: const EdgeInsets.only(bottom: 12),
child: ListTile(
leading: CircleAvatar(
backgroundColor: Colors.purple.shade100,
child: Icon(
Icons.help_outline,
color: Colors.purple.shade700,
),
),
title: const Text(
'Trail Making Test Instructions',
style: TextStyle(fontWeight: FontWeight.w600),
),
subtitle: const Text(
'Learn how to perform the trail making test',
),
trailing: const Icon(Icons.arrow_forward_ios),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) =>
const TrailMakingTestInstructions(),
),
);
},
),
),
],
),
),
],
),
),
),
);
}
}