This commit is contained in:
Juan Felipe Duarte
2023-06-06 17:15:49 -05:00
parent cca8c87e7c
commit ebcc95d06a
6 changed files with 128 additions and 28 deletions
+1
View File
@@ -0,0 +1 @@
const String apiKey = 'AIzaSyBqZNw7kj3pEYH-pusqTMxXhbja8HR7eOc';
+17
View File
@@ -0,0 +1,17 @@
import 'package:flutter/cupertino.dart';
import 'package:http/http.dart' as http;
class NetworkUtility {
static Future<String?> fetchUrl(Uri uri,
{Map<String, String>? headers}) async {
try {
final response = await http.get(uri, headers: headers);
if (response.statusCode == 200) {
return response.body;
}
} catch (e) {
debugPrint('error - ${e.toString()}');
}
return null;
}
}
+12
View File
@@ -1,6 +1,7 @@
import 'dart:io';
import 'package:firebase_storage/firebase_storage.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_animate/flutter_animate.dart';
@@ -101,6 +102,17 @@ class LocalPhoto extends StatelessWidget {
@override
Widget build(BuildContext context) {
if (kIsWeb) {
return ClipOval(
child: Image.network(
file.path,
width: photoSize,
height: photoSize,
fit: BoxFit.cover,
),
);
}
return ClipOval(
child: Image.file(
file,
+58 -6
View File
@@ -9,8 +9,10 @@ import 'package:geocoding/geocoding.dart';
import 'package:geolocator/geolocator.dart';
import 'package:get/get.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:prosappco/constansts.dart';
import 'package:prosappco/src/authentication/authentication_repository.dart';
import 'package:prosappco/src/components/drawer_menu.dart';
import 'package:prosappco/src/components/network_utility.dart';
import 'package:prosappco/src/models/event_model.dart';
import 'package:prosappco/src/models/user_model.dart';
import 'package:prosappco/src/screens/professional.dart';
@@ -201,6 +203,20 @@ class _ServiceScreenState extends State<ServiceScreen> {
return address;
}
void placeAutoComplete(String query) async {
Uri uri =
Uri.https("maps.googleapis.com", "maps/api/place/autocomplete/json", {
"input": query,
"key": apiKey,
});
String? response = await NetworkUtility.fetchUrl(uri);
if (response != null) {
print(response);
}
}
@override
Widget build(BuildContext context) {
if (kIsWeb) {
@@ -237,8 +253,8 @@ class _ServiceScreenState extends State<ServiceScreen> {
},
);
},
child: Row(
children: const [
child: const Row(
children: [
Icon(Icons.location_on),
SizedBox(width: 8),
Text('Ingresar mi ubicación'),
@@ -251,7 +267,27 @@ class _ServiceScreenState extends State<ServiceScreen> {
), // Texto del título
),
body: Container(
child: const Text('data'),
child: ElevatedButton(
onPressed: () {
placeAutoComplete("Dubai");
},
style: ElevatedButton.styleFrom(
backgroundColor: const Color(0xFF2BA4EC),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(50),
),
elevation: 0,
minimumSize: const Size(230, 50),
),
child: const Text(
'Aceptar',
style: TextStyle(
color: Colors.white,
fontWeight: FontWeight.bold,
fontSize: 18,
),
),
),
),
);
}
@@ -726,10 +762,24 @@ class _ServiceScreenState extends State<ServiceScreen> {
class _EnterLocationDialog extends StatelessWidget {
const _EnterLocationDialog({super.key});
void placeAutoComplete(String query) async {
Uri uri =
Uri.https("maps.googleapis.com", "/maps/api/place/autocomplete/json", {
"input": query,
"key": apiKey,
});
String? response = await NetworkUtility.fetchUrl(uri);
if (response != null) {
print(response);
}
}
@override
Widget build(BuildContext context) {
return AlertDialog(
content: Container(
content: SizedBox(
height: 200,
child: Column(
children: [
@@ -743,12 +793,14 @@ class _EnterLocationDialog extends StatelessWidget {
const SizedBox(height: 20),
TextFormField(
decoration: const InputDecoration(
hintText: 'Ubicación',
hintText: 'Escribe tu ubicación',
),
),
const SizedBox(height: 20),
ElevatedButton(
onPressed: () {},
onPressed: () {
placeAutoComplete("Dubai");
},
style: ElevatedButton.styleFrom(
backgroundColor: const Color(0xFF2BA4EC),
shape: RoundedRectangleBorder(
+36 -20
View File
@@ -21,10 +21,10 @@ packages:
dependency: transitive
description:
name: async
sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0
sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
url: "https://pub.dev"
source: hosted
version: "2.10.0"
version: "2.11.0"
boolean_selector:
dependency: transitive
description:
@@ -37,10 +37,10 @@ packages:
dependency: transitive
description:
name: characters
sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c
sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
url: "https://pub.dev"
source: hosted
version: "1.2.1"
version: "1.3.0"
clock:
dependency: transitive
description:
@@ -77,10 +77,10 @@ packages:
dependency: transitive
description:
name: collection
sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0
sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c"
url: "https://pub.dev"
source: hosted
version: "1.17.0"
version: "1.17.1"
community_material_icon:
dependency: "direct main"
description:
@@ -145,6 +145,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "6.1.4"
file_picker:
dependency: "direct main"
description:
name: file_picker
sha256: b1729fc96627dd44012d0a901558177418818d6bd428df59dcfeb594e5f66432
url: "https://pub.dev"
source: hosted
version: "5.3.2"
firebase_auth:
dependency: "direct main"
description:
@@ -505,7 +513,7 @@ packages:
source: hosted
version: "0.11.0+2"
http:
dependency: transitive
dependency: "direct main"
description:
name: http
sha256: "6aa2946395183537c8b880962d935877325d6a09a2867c3970c05c0fed6ac482"
@@ -524,10 +532,10 @@ packages:
dependency: "direct main"
description:
name: image_picker
sha256: cb25f04595a88450970dbe727243ba8cd21b6f7e0d7d1fc5b789fc6f52e95494
sha256: "9978d3510af4e6a902e545ce19229b926e6de6a1828d6134d3aab2e129a4d270"
url: "https://pub.dev"
source: hosted
version: "0.8.7+1"
version: "0.8.7+5"
image_picker_android:
dependency: transitive
description:
@@ -580,10 +588,10 @@ packages:
dependency: transitive
description:
name: js
sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7"
sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
url: "https://pub.dev"
source: hosted
version: "0.6.5"
version: "0.6.7"
lints:
dependency: transitive
description:
@@ -596,10 +604,10 @@ packages:
dependency: transitive
description:
name: matcher
sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72"
sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb"
url: "https://pub.dev"
source: hosted
version: "0.12.13"
version: "0.12.15"
material_color_utilities:
dependency: transitive
description:
@@ -612,10 +620,10 @@ packages:
dependency: transitive
description:
name: meta
sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42"
sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3"
url: "https://pub.dev"
source: hosted
version: "1.8.0"
version: "1.9.1"
nested:
dependency: transitive
description:
@@ -628,10 +636,10 @@ packages:
dependency: transitive
description:
name: path
sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b
sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
url: "https://pub.dev"
source: hosted
version: "1.8.2"
version: "1.8.3"
petitparser:
dependency: transitive
description:
@@ -761,10 +769,10 @@ packages:
dependency: transitive
description:
name: test_api
sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206
sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb
url: "https://pub.dev"
source: hosted
version: "0.4.16"
version: "0.5.1"
timezone:
dependency: transitive
description:
@@ -885,6 +893,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "3.4.2"
win32:
dependency: transitive
description:
name: win32
sha256: "7dacfda1edcca378031db9905ad7d7bd56b29fd1a90b0908b71a52a12c41e36b"
url: "https://pub.dev"
source: hosted
version: "5.0.3"
xdg_directories:
dependency: transitive
description:
@@ -902,5 +918,5 @@ packages:
source: hosted
version: "6.2.2"
sdks:
dart: ">=2.19.3 <3.0.0"
dart: ">=3.0.0 <4.0.0"
flutter: ">=3.3.0"
+4 -2
View File
@@ -47,7 +47,7 @@ dependencies:
intl_phone_field:
cloud_firestore:
diacritic:
image_picker:
image_picker: ^0.8.7+5
flutter_animate:
flutter_rating_bar:
table_calendar:
@@ -63,7 +63,9 @@ dependencies:
firebase_messaging: ^14.5.0
flutter_local_notifications: ^14.0.0+1
responsive_builder: ^0.7.0
file_picker: ^5.3.2
http: ^0.13.5
dev_dependencies:
flutter_test:
sdk: flutter