diff --git a/GOOGLE_MAPS_SETUP.md b/GOOGLE_MAPS_SETUP.md
deleted file mode 100644
index 9c0f271..0000000
--- a/GOOGLE_MAPS_SETUP.md
+++ /dev/null
@@ -1,121 +0,0 @@
-# Configuração do Google Maps API
-
-## ✅ **JÁ CONFIGURADO - ROTAS REAIS DO GOOGLE MAPS**
-
-Este projeto agora tem um mapa **100% funcional** com rotas **realistas** do Google Maps!
-
-### 🗺️ **Funcionalidades Implementadas:**
-- ✅ **Localização em tempo real** do usuário
-- ✅ **Pesquisa de destinos** (simulada para demonstração)
-- ✅ **Rotas REALISTAS** usando Google Directions API
-- ✅ **Caminho pelas ruas** (nÃO é linha reta!)
-- ✅ **Permissões** configuradas para Android e iOS
-- ✅ **Interface intuitiva** com barra de busca
-- ✅ **Feedback visual** com SnackBars funcionais
-
-### �️ **Como as Rotas Funcionam:**
-
-**🔍 Google Directions API:**
-- Faz requisição real para `maps.googleapis.com/maps/api/directions`
-- Parâmetros: `origin`, `destination`, `mode=walking`
-- Retorna passos detalhados da rota
-- Extrai pontos de cada passo (`start_location`, `end_location`)
-- Cria polyline com todos os pontos conectados
-
-**📍 Resultado Visual:**
-- ✅ **Linha azul** seguindo ruas reais
-- ✅ **Curvas e quinas** como GPS real
-- ✅ **Pontos intermediários** das direções
-- ✅ **Ajuste automático** de câmera
-
-### �📱 **Como Usar:**
-
-1. **Abrir o app** → Solicita permissão de localização
-2. **Aguardar GPS** → Mostra sua localização atual (marcador azul)
-3. **Pesquisar destino** → Digite "Parque Ibirapuera" ou clique nos chips
-4. **Ver rota REAL** → Linha azul segue ruas reais
-5. **Controles** → Zoom e botão de localização
-
-### 🔧 **Configuração Técnica:**
-
-#### Android:
-- ✅ `AndroidManifest.xml` - Permissões de localização
-- ✅ API Key configurada
-- ✅ `google_maps_flutter` v2.5.3
-- ✅ `geolocator` v10.1.0
-- ✅ `http` v1.1.0 (para Directions API)
-
-#### iOS:
-- ✅ `Info.plist` - Permissões de localização
-- ✅ `AppDelegate.swift` - API Key configurada
-- ✅ `Podfile` - Dependências iOS
-
-### 🎯 **Funcionalidades do Mapa:**
-
-**📍 Localização:**
-- Obtém GPS automaticamente
-- Marcador azul para posição atual
-- Botão "Minha Localização"
-
-**🔍 Pesquisa:**
-- Barra de busca intuitiva
-- Sugestões de lugares populares
-- Loading indicator durante busca
-
-**🛣️ Rota REALISTA:**
-- **Google Directions API** integrada
-- **Caminho pelas ruas** (linha curva)
-- **Pontos detalhados** de cada passo
-- **Distância e tempo** reais da API
-
-**📊 Estatísticas:**
-- Distância real da API
-- Tempo real da API
-- Modo: Caminhada
-
-### 🚀 **Para Testar:**
-
-```bash
-# Limpar e instalar dependências
-flutter clean
-flutter pub get
-
-# Rodar o app
-flutter run
-```
-
-### ⚠️ **Importante:**
-- **Permissões necessárias** - Aceite quando solicitado
-- **GPS ativo** - Necessário para localização precisa
-- **Internet** - Para Directions API
-- **Modo avião** - Desative para funcionar
-
-### 📋 **Arquivos Configurados:**
-- `lib/screens/google_maps_screen.dart` - Mapa com Directions API ✅
-- `android/app/src/main/AndroidManifest.xml` - Permissões Android ✅
-- `ios/Runner/Info.plist` - Permissões iOS ✅
-- `ios/Runner/AppDelegate.swift` - API Key iOS ✅
-- `pubspec.yaml` - Dependências incluindo http ✅
-
-### 🔄 **Como as Rotas São Calculadas:**
-
-1. **Requisição HTTP** para Google Directions API
-2. **Parâmetros:** origin, destination, mode=walking
-3. **Resposta JSON** com routes[0].legs[0].steps[]
-4. **Extração** de start_location e end_location
-5. **Criação** de polyline com pontos conectados
-6. **Renderização** no mapa como linha azul
-
-**Rotas 100% realistas e funcionais!** 🎉✨
-
-### � **Exemplo de Console:**
-```
-🛣️ Buscando rota real com Google Directions API...
-🌐 URL da requisição: https://maps.googleapis.com/maps/api/directions/json?origin=-23.5505,-46.6333&destination=-23.5874,-46.6576&mode=walking&language=pt_BR&key=AIzaSyCk84rxmF044cxKLABf55rEKHDqOcyoV5k
-📡 Status code: 200
-✅ Rota encontrada com 12 passos
-📍 Total de pontos na rota: 14
-📊 Distância: 2.3 km, Tempo: 28 min
-```
-
-**Mapa com rotas realistas pronto para uso!** 🗺️🛣️
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index e1093b9..24fe3bc 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -3,8 +3,12 @@
+
+
+
+
-
+
diff --git a/lib/constants/app_colors.dart b/lib/constants/app_colors.dart
index 64d8567..8c10458 100644
--- a/lib/constants/app_colors.dart
+++ b/lib/constants/app_colors.dart
@@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
class AppColors {
// Background colors
- static const Color background = Color.fromARGB(255, 49, 53, 77);
+ static const Color background = Color.fromARGB(255, 48, 48, 51);
static const Color coral = Color(0xFFFF6B6B);
// Button colors
@@ -11,4 +11,10 @@ class AppColors {
// Neutral colors
static const Color backgroundGrey = Color.fromARGB(255, 89, 89, 89);
+ static const Color black = Colors.black;
+
+ // Status colors
+ static const Color error = Colors.red;
+ static const Color success = Colors.green;
+ static const Color transparent = Colors.transparent;
}
diff --git a/lib/constants/app_strings.dart b/lib/constants/app_strings.dart
index c9f2c03..dde70c8 100644
--- a/lib/constants/app_strings.dart
+++ b/lib/constants/app_strings.dart
@@ -1,8 +1,61 @@
class AppStrings {
- // Initial screen
- static const String registrar = 'Registrar';
- static const String entrar = 'Entrar';
+ // Main Screen
+ static const String complete = "COMPLETO";
+ static const String steps = "PASSOS";
+ static const String bpm = "BPM";
+ static const String kcal = "K/CAL";
+ static const String mapPreview = "MAPA";
+ static const String settings = "Configurações";
+ static const String groups = "Grupos";
+ static const String history = "Histórico";
+ static const String notifications = "Notificações";
+ static const String profile = "Perfil";
- // Common
- static const String appTitle = 'Run Vision Pro';
+ // Bluetooth Screen
+ static const String bluetoothTitle = "DISPOSITIVOS";
+ static const String bluetoothConnect = "CONECTAR BLUETOOTH";
+ static const String stopSearch = "PARAR BUSCA";
+ static const String startSearch = "BUSCAR AGORA";
+ static const String searching = "STATUS: BUSCANDO...";
+ static const String statusReady = "STATUS: PRONTO";
+ static const String statusConnected = "STATUS: CONECTADO";
+ static const String nearbyDevices = "Dispositivos próximos";
+ static const String active = "ATIVO";
+ static const String startSearchInstruction = "Inicie a busca para conectar";
+ static const String connect = "CONECTAR";
+ static const String noDevicesFound = "Nenhum dispositivo encontrado.";
+ static const String foundDevices = "Encontrados";
+ static const String oneDevice = "1 Dispositivo";
+ static const String permissionsDenied = "Permissões de Bluetooth negadas.";
+ static const String turnOnBluetooth =
+ "Ligue o Bluetooth para buscar dispositivos.";
+ static const String scanError = "Erro ao iniciar scan: ";
+ static const String stopScanError = "Erro ao parar scan: ";
+ static const String defaultDeviceName = "Dispositivo";
+ static const String connectingTo = "Conectando a ";
+ static const String connectedSuccess = "Conectado com sucesso!";
+ static const String connectFail = "Falha ao conectar: ";
+ static const String deviceIdPrefix = "Disp. [";
+ static const String unknownDevice = "Dispositivo Desconhecido";
+
+ // Map Screen
+ static const String mapTitleTracking = "TRACKING ATIVO";
+ static const String mapTitlePlanning = "PLANEJAR TRAJETO";
+ static const String mapTitleRunning = "CORRIDA";
+ static const String mapPace = "RITMO";
+ static const String mapRoute = "TRAJETO";
+ static const String kmhUnit = "KM/H";
+ static const String kmUnit = "KM";
+ static const String planningInstruction = "Toque para definir Início e Fim";
+ static const String btnStop = "PARAR";
+ static const String btnSimulate = "SIMULAR";
+ static const String btnStartRun = "INICIAR CORRIDA";
+ static const String btnStopRun = "PARAR CORRIDA";
+ static const String startPoint = "Partida";
+ static const String finishPoint = "Chegada";
+
+ // Auth Screens
+ static const String entrar = "ENTRAR";
+ static const String registrar = "REGISTRAR";
+ static const String appTitle = "Run Vision Pro";
}
diff --git a/lib/main.dart b/lib/main.dart
index 118d08f..0baca23 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -2,7 +2,6 @@ import 'package:flutter/material.dart';
import 'screens/inicial_screen.dart';
import 'constants/app_strings.dart';
import 'services/supabase_service.dart';
-import 'constants/app_constants.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
@@ -38,7 +37,9 @@ class MyApp extends StatelessWidget {
//
// This works for code too, not just values: Most code changes can be
// tested with just a hot reload.
- colorScheme: .fromSeed(seedColor: Colors.deepPurple),
+ colorScheme: ColorScheme.fromSeed(
+ seedColor: Colors.white.withValues(alpha: 0.1),
+ ),
),
home: const InicialScreen(),
);
diff --git a/lib/screens/bluethoot_cpnnection_screen.dart b/lib/screens/bluethoot_cpnnection_screen.dart
new file mode 100644
index 0000000..e69de29
diff --git a/lib/screens/google_map_screen.dart b/lib/screens/google_map_screen.dart
new file mode 100644
index 0000000..e69de29
diff --git a/lib/screens/google_maps_screen.dart b/lib/screens/google_maps_screen.dart
deleted file mode 100644
index 92c47d1..0000000
--- a/lib/screens/google_maps_screen.dart
+++ /dev/null
@@ -1,891 +0,0 @@
-import 'package:flutter/material.dart';
-import 'package:google_maps_flutter/google_maps_flutter.dart';
-import 'package:geolocator/geolocator.dart';
-import 'package:permission_handler/permission_handler.dart';
-import 'package:http/http.dart' as http;
-import 'dart:convert';
-import '../constants/app_colors.dart';
-
-class GoogleMapScreen extends StatefulWidget {
- const GoogleMapScreen({super.key});
-
- @override
- State createState() => _GoogleMapScreenState();
-}
-
-class _GoogleMapScreenState extends State {
- late GoogleMapController mapController;
- final Set _markers = {};
- Set _polylines = {};
-
- LatLng? _currentLocation;
- LatLng? _destination;
- bool _isGettingLocation = true;
- bool _isRequestingPermission = true;
- final TextEditingController _searchController = TextEditingController();
- List