204 lines
6.8 KiB
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.protect,
|
|
),
|
|
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,
|
|
),
|
|
],
|
|
),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
);
|
|
}
|
|
} |