Files
Tracker/lib/screens/learn/husband_learn_screen.dart

204 lines
6.8 KiB
Dart

import 'package:flutter/material.dart';
import 'package:christian_period_tracker/models/scripture.dart';
class HusbandLearnScreen extends StatelessWidget {
const HusbandLearnScreen({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Reproductive Health Education'),
actions: [
IconButton(
icon: const Icon(Icons.bookmark),
onPressed: () {},
),
],
),
body: SingleChildScrollView(
child: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
_buildHealthTipsSection(context),
const SizedBox(height: 24),
_buildDiseasePreventionSection(context),
const SizedBox(height: 24),
_buildPracticalAdviceSection(context),
],
),
),
),
);
}
Widget _buildHealthTipsSection(BuildContext context) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'Reproductive Health Tips',
style: Theme.of(context).textTheme.titleLarge,
),
const SizedBox(height: 16),
Card(
elevation: 2,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)),
child: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
_buildTipCard(
context,
title: 'Understanding Female Cycles',
content: 'Learn about the different phases of your wife\'s menstrual cycle and how they affect her health.',
icon: Icons.calendar_month,
),
const SizedBox(height: 16),
_buildTipCard(
context,
title: 'Supportive Role',
content: 'Be supportive during different phases, understanding when she may need more emotional support or rest.',
icon: Icons.support_agent,
),
const SizedBox(height: 16),
_buildTipCard(
context,
title: 'Nutritional Support',
content: 'Understand how nutrition affects reproductive health and discuss dietary choices together.',
icon: Icons.food_bank,
),
],
),
),
),
],
);
}
Widget _buildDiseasePreventionSection(BuildContext context) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'Disease Prevention Between Partners',
style: Theme.of(context).textTheme.titleLarge,
),
const SizedBox(height: 16),
Card(
elevation: 2,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)),
child: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
_buildTipCard(
context,
title: 'Safe Sexual Practices',
content: 'Use protection consistently to prevent sexually transmitted infections and maintain mutual health.',
icon: Icons.security,
),
const SizedBox(height: 16),
_buildTipCard(
context,
title: 'Regular Testing',
content: 'Schedule regular STI screenings together with your partner for early detection and treatment.',
icon: Icons.medical_information,
),
const SizedBox(height: 16),
_buildTipCard(
context,
title: 'Open Communication',
content: 'Discuss health concerns openly to ensure both partners understand each other\'s needs and maintain trust.',
icon: Icons.chat,
),
],
),
),
),
],
);
}
Widget _buildPracticalAdviceSection(BuildContext context) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'Practical Advice for Partnership',
style: Theme.of(context).textTheme.titleLarge,
),
const SizedBox(height: 16),
Card(
elevation: 2,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)),
child: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
_buildTipCard(
context,
title: 'Educate Yourself',
content: 'Take the initiative to learn about reproductive health and partner needs.',
icon: Icons.school,
),
const SizedBox(height: 16),
_buildTipCard(
context,
title: 'Active Listening',
content: 'Listen attentively when your wife discusses her health concerns or feelings.',
icon: Icons.mic_none,
),
],
),
),
),
],
);
}
Widget _buildTipCard(BuildContext context, {required String title, required String content, required IconData icon}) {
return Card(
elevation: 1,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)),
child: Padding(
padding: const EdgeInsets.all(16.0),
child: Row(
children: [
Container(
width: 40,
height: 40,
decoration: BoxDecoration(
color: Theme.of(context).colorScheme.primaryContainer.withOpacity(0.2),
shape: BoxShape.circle,
),
child: Icon(icon, size: 24, color: Theme.of(context).colorScheme.primary),
),
const SizedBox(width: 16),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
title,
style: Theme.of(context).textTheme.titleMedium?.copyWith(fontWeight: FontWeight.bold),
),
const SizedBox(height: 4),
Text(
content,
style: Theme.of(context).textTheme.bodyMedium,
),
],
),
),
],
),
),
);
}
}