checkpoint prima del rename package

This commit is contained in:
2026-08-22 14:59:44 +02:00
parent 770c89ca3f
commit e87292dda7
15 changed files with 271 additions and 46 deletions
+75 -31
View File
@@ -8,6 +8,7 @@ import 'home_page.dart';
import 'meditation_page.dart';
import '../widgets/app_drawer.dart';
import '../widgets/app_bottom_nav.dart';
import 'package:url_launcher/url_launcher.dart';
import '../widgets/yogibook_background.dart';
import 'reschedule_page.dart';
import 'orders_page.dart';
@@ -179,40 +180,83 @@ class _LessonsPageState extends State<LessonsPage> {
),
),
// Bottone "Programma lezioni" (solo se ci sono ticket residui)
if (summary != null && summary!.toSchedule > 0)
Padding(
padding: const EdgeInsets.fromLTRB(16, 0, 16, 8),
child: SizedBox(
width: double.infinity,
child: ElevatedButton.icon(
style: ElevatedButton.styleFrom(
backgroundColor: const Color(0xFF10B981),
padding: const EdgeInsets.symmetric(vertical: 12),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(14),
),
),
icon: const Icon(Icons.add, color: Colors.white),
label: Text(
'Programma lezioni (${summary!.toSchedule} disponibili)',
style: const TextStyle(
color: Colors.white,
fontWeight: FontWeight.w800,
),
),
onPressed: () async {
await Navigator.push(
context,
MaterialPageRoute(
builder: (_) => OrdersPage(token: widget.token),
// Bottoni azione: Programma (condizionale) + Acquista (sempre)
Padding(
padding: const EdgeInsets.fromLTRB(16, 0, 16, 8),
child: Row(
children: [
if (summary != null && summary!.toSchedule > 0) ...[
Expanded(
child: ElevatedButton.icon(
style: ElevatedButton.styleFrom(
backgroundColor: const Color(0xFF4F46E5),
padding: const EdgeInsets.symmetric(vertical: 12),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(14),
),
),
);
_load();
},
icon: const Icon(Icons.add, color: Colors.white),
label: Text(
'Programma (${summary!.toSchedule})',
style: const TextStyle(
color: Colors.white,
fontWeight: FontWeight.w800,
),
),
onPressed: () async {
await Navigator.push(
context,
MaterialPageRoute(
builder: (_) => OrdersPage(token: widget.token),
),
);
_load();
},
),
),
const SizedBox(width: 8),
],
Expanded(
child: ElevatedButton.icon(
style: ElevatedButton.styleFrom(
backgroundColor: const Color(0xFFF59E0B),
padding: const EdgeInsets.symmetric(vertical: 12),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(14),
),
),
icon: const Icon(
Icons.shopping_bag_outlined,
color: Colors.white,
),
label: const Text(
'Acquista pacchetti',
style: TextStyle(
color: Colors.white,
fontWeight: FontWeight.w800,
),
),
onPressed: () async {
final uri = Uri.parse(
'https://yogasoul.it/abbonamenti-prezzi-yoga-seregno/',
);
if (!await launchUrl(
uri,
mode: LaunchMode.externalApplication,
)) {
if (!context.mounted) return;
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Text('Impossibile aprire il link'),
),
);
}
},
),
),
),
],
),
),
Expanded(
child: loading