123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- import 'package:animate_do/animate_do.dart';
- import 'package:flutter/material.dart';
- void mostrarInformacionNegocioBottomSheet(BuildContext context) {
- showModalBottomSheet(
- context: context,
- isScrollControlled: true,
- backgroundColor: Colors.transparent,
- builder: (context) => BounceInUp(
- duration: const Duration(milliseconds: 450),
- child: Container(
- height: MediaQuery.of(context).size.height * 0.7,
- decoration: const BoxDecoration(
- color: Colors.white,
- borderRadius: BorderRadius.only(
- topLeft: Radius.circular(25),
- topRight: Radius.circular(25),
- ),
- ),
- child: SingleChildScrollView(
- child: Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Container(
- height: 150,
- width: double.infinity,
- decoration: BoxDecoration(
- borderRadius: const BorderRadius.only(
- topLeft: Radius.circular(25),
- topRight: Radius.circular(25),
- ),
- image: DecorationImage(
- image: const AssetImage('assets/turquessa_prop.jpg'),
- fit: BoxFit.cover,
- colorFilter: ColorFilter.mode(
- Colors.black.withOpacity(0.3),
- BlendMode.darken,
- ),
- ),
- ),
- child: Center(
- child: Column(
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- Container(
- padding: const EdgeInsets.all(8),
- decoration: BoxDecoration(
- color: Colors.white,
- borderRadius: BorderRadius.circular(10),
- ),
- child: Image.asset('assets/Turquessa.png', height: 50),
- ),
- const SizedBox(height: 10),
- const Text(
- 'Turquessa-Coffee',
- style: TextStyle(
- color: Colors.white,
- fontSize: 24,
- fontWeight: FontWeight.bold,
- ),
- ),
- ],
- ),
- ),
- ),
- // Sección de información
- Padding(
- padding: const EdgeInsets.all(20),
- child: Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- const Text(
- 'Acerca de nosotros',
- style: TextStyle(
- fontSize: 18,
- fontWeight: FontWeight.bold,
- color: Color(0xFF2FD0E5),
- ),
- ),
- const SizedBox(height: 8),
- const Text(
- 'Turquessa-Coffee es una cafetería de especialidad con los mejores granos seleccionados. Nuestro compromiso es ofrecer una experiencia única en cada taza.',
- style: TextStyle(fontSize: 14, color: Colors.black87),
- ),
- const SizedBox(height: 20),
- // Información de contacto
- _buildInfoItem(Icons.location_on, 'Dirección',
- 'C. Quintero Arce 248, El Llano'),
- _buildInfoItem(Icons.access_time, 'Horario',
- 'Lun-Sáb: 8 a.m.- 10 p.m.\nDom: 4:00 p.m - 10 p.m'),
- _buildInfoItem(Icons.phone, 'Teléfono', '(662) 466 6626'),
- _buildInfoItem(
- Icons.email, 'Contacto', 'turquessacoffee@info.com'),
- _buildInfoItem(
- Icons.language, 'Sitio web', 'turquessacoffee.com'),
- const SizedBox(height: 20),
- // Redes sociales
- const Text(
- 'Síguenos en redes sociales',
- style: TextStyle(
- fontSize: 18,
- fontWeight: FontWeight.bold,
- color: Color(0xFF2FD0E5),
- ),
- ),
- const SizedBox(height: 10),
- Row(
- mainAxisAlignment: MainAxisAlignment.spaceEvenly,
- children: [
- _buildSocialButton(Icons.facebook, 'Facebook'),
- _buildSocialButton(Icons.camera_alt, 'Instagram'),
- _buildSocialButton(Icons.chat_bubble, 'Twitter'),
- ],
- ),
- const SizedBox(height: 30),
- Center(
- child: TextButton(
- onPressed: () => Navigator.pop(context),
- child: Container(
- padding: const EdgeInsets.symmetric(
- horizontal: 30, vertical: 10),
- decoration: BoxDecoration(
- color: const Color(0xFF2FD0E5),
- borderRadius: BorderRadius.circular(20),
- ),
- child: const Text('Cerrar',
- style: TextStyle(color: Colors.white)),
- ),
- ),
- ),
- const SizedBox(height: 20),
- ],
- ),
- ),
- ],
- ),
- ),
- ),
- ),
- );
- }
- // Widgets auxiliares para el Bottom Sheet
- Widget _buildInfoItem(IconData icon, String title, String content) {
- return Padding(
- padding: const EdgeInsets.symmetric(vertical: 10),
- child: Row(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Container(
- padding: const EdgeInsets.all(8),
- decoration: BoxDecoration(
- color: const Color(0xFFE6F9FB),
- borderRadius: BorderRadius.circular(8),
- ),
- child: Icon(icon, color: const Color(0xFF2FD0E5), size: 22),
- ),
- const SizedBox(width: 15),
- Expanded(
- child: Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Text(
- title,
- style: const TextStyle(
- fontSize: 16,
- fontWeight: FontWeight.bold,
- color: Colors.black87,
- ),
- ),
- const SizedBox(height: 4),
- Text(
- content,
- style: const TextStyle(color: Colors.black54, fontSize: 14),
- ),
- ],
- ),
- ),
- ],
- ),
- );
- }
- Widget _buildSocialButton(IconData icon, String platform) {
- return Column(
- children: [
- Container(
- padding: const EdgeInsets.all(12),
- decoration: BoxDecoration(
- color: const Color(0xFFE6F9FB),
- borderRadius: BorderRadius.circular(12),
- ),
- child: Icon(icon, color: const Color(0xFF2FD0E5), size: 24),
- ),
- const SizedBox(height: 5),
- Text(platform, style: const TextStyle(fontSize: 12)),
- ],
- );
- }
|