"Añadidas politicas de privacidad en la pantalla principal"

This commit is contained in:
2025-02-14 12:35:18 +01:00
parent 2cf910e5a1
commit 0d61ca6d01
2 changed files with 50 additions and 14 deletions

View File

@ -49,3 +49,14 @@ Future<void> launchAemetURL() async {
throw Exception('Error al lanzar la URL de Aemet: $e');
}
}
Future<void> launchPrivacyPolicyURL() async {
const urlString = 'https://crcivan.asociacionador.es/politica-privacidad.html';
final url = Uri.parse(urlString);
try {
await launch(urlString);
} catch (e) {
throw Exception('Error al lanzar la URL de la política de privacidad: $e');
}
}

View File

@ -6,6 +6,7 @@ import 'package:crcivan/pages/noticias';
import 'package:crcivan/pages/pregon';
import 'package:crcivan/pages/embalses';
import 'package:crcivan/widgets/background_widget.dart';
import 'package:url_launcher/url_launcher.dart';
class MyHomePage extends StatelessWidget {
const MyHomePage({super.key, required this.title});
@ -15,17 +16,22 @@ class MyHomePage extends StatelessWidget {
Widget build(BuildContext context) {
return Scaffold(
appBar: const CustomAppBar(), //Barra superior personalizada
body: BackgroundWidget( //Widget fondo del fichero BackgroundWidget
body: BackgroundWidget(
//Widget fondo del fichero BackgroundWidget
child: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
InkWell(
onTap: () { Navigator.push(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const NoticiasPage()),
);},
child: SizedBox( //Botón Noticias
MaterialPageRoute(
builder: (context) => const NoticiasPage()),
);
},
child: SizedBox(
//Botón Noticias
width: 300.0,
child: Padding(
padding: const EdgeInsets.only(bottom: 20.0),
@ -55,7 +61,8 @@ class MyHomePage extends StatelessWidget {
MaterialPageRoute(builder: (context) => const Pregon()),
);
},
child: SizedBox(//Botón Pregón
child: SizedBox(
//Botón Pregón
width: 300.0,
child: Padding(
padding: const EdgeInsets.only(bottom: 20.0),
@ -82,10 +89,12 @@ class MyHomePage extends StatelessWidget {
onTap: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const EmbalsesPage()),
MaterialPageRoute(
builder: (context) => const EmbalsesPage()),
);
},
child: SizedBox( //Botón Embalses
child: SizedBox(
//Botón Embalses
width: 300.0,
child: Padding(
padding: const EdgeInsets.only(bottom: 20.0),
@ -110,9 +119,10 @@ class MyHomePage extends StatelessWidget {
),
InkWell(
onTap: () {
launchAemetURL();//Función a link externo
launchAemetURL(); //Función a link externo
},
child: SizedBox(//Botón Tiempo
child: SizedBox(
//Botón Tiempo
width: 300.0,
child: Padding(
padding: const EdgeInsets.only(bottom: 20.0),
@ -135,11 +145,26 @@ class MyHomePage extends StatelessWidget {
),
),
),
SizedBox(height: 20),
InkWell(
onTap: () {
launchPrivacyPolicyURL();
},
child: const Text(
'Lee nuestras políticas de privacidad',
style: TextStyle(
color: Colors.blue,
decoration: TextDecoration.underline,
fontSize: 16.0,
),
),
),
],
),
),
),
bottomNavigationBar: const CustomBottomBar(),//Barra inferior personalizada
bottomNavigationBar:
const CustomBottomBar(), //Barra inferior personalizada
);
}
}