feat(components): ActionButton stopAlert + typography type fixes
This commit is contained in:
1 parent
2c51fd2623
commit
bbe2919c2c
89 files changed
+75993
-9961
No files matched your search
@@ -0,0 +1,93 @@
|
||||
# FightRate RN — Real BLE / No Mocks Corrective Slice
|
||||
|
||||
Data: 2026-06-10
|
||||
Status: implementado / APK enviado ao Telegram
|
||||
Stack: React Native Community CLI bare, sem Expo
|
||||
|
||||
## Problema
|
||||
|
||||
A primeira versão React Native enviada era instalável, mas não funcional como app de treino real:
|
||||
|
||||
- usava dados de demonstração;
|
||||
- não escaneava BLE;
|
||||
- indicava estados como conectado/pronto sem sensor real;
|
||||
- gráficos não eram alimentados por amostras reais;
|
||||
- histórico e insights pareciam conteúdo estático;
|
||||
- navegação inferior estava visualmente fraca;
|
||||
- logo/ícone do projeto não aparecia na UI.
|
||||
|
||||
## Objetivo desta fatia
|
||||
|
||||
Transformar a versão RN em uma base real de captura:
|
||||
|
||||
1. Remover dados mockados da UI.
|
||||
2. Adicionar BLE real com `react-native-ble-plx`.
|
||||
3. Pedir permissões Android Bluetooth/localização.
|
||||
4. Escanear sensores com Heart Rate Service `180D`.
|
||||
5. Conectar ao sensor encontrado.
|
||||
6. Monitorar Heart Rate Measurement `2A37`.
|
||||
7. Parsear BPM real a partir do payload BLE.
|
||||
8. Atualizar BPM, média, pico e amostras em tempo real.
|
||||
9. Renderizar gráfico somente com amostras reais recebidas.
|
||||
10. Exibir histórico/insights como estados vazios honestos quando não houver sessão real.
|
||||
11. Melhorar bottom nav: ícones, barra flutuante, sem faixa preta atrás.
|
||||
12. Remover indicador `READY` do topo.
|
||||
13. Usar logo existente do projeto na UI.
|
||||
14. Gerar APK release e enviar ao Telegram.
|
||||
|
||||
## Dependências aprovadas pela necessidade do pedido
|
||||
|
||||
- `react-native-ble-plx`: BLE real no React Native bare.
|
||||
- `react-native-svg`: gráfico real leve e ícones SVG.
|
||||
- `lucide-react-native`: ícones para navegação/estado.
|
||||
|
||||
## Critérios de aceite
|
||||
|
||||
- App não mostra BPM mockado.
|
||||
- Tela de captura mostra estado de permissão/scan/conexão real.
|
||||
- Botão de captura dispara permissões e scanning BLE.
|
||||
- Se nenhum sensor for encontrado, a UI diz isso claramente.
|
||||
- Se sensor conectar, BPM vem do characteristic `2A37`.
|
||||
- Gráfico só aparece depois de amostras reais.
|
||||
- Histórico não finge sessões inexistentes.
|
||||
- Insights não fingem análise sem dados.
|
||||
- APK release abre sem Metro.
|
||||
|
||||
## Validação
|
||||
|
||||
```bash
|
||||
cd FightRateRN
|
||||
npm run typecheck
|
||||
npm run lint
|
||||
npm test -- --runInBand
|
||||
npm audit --audit-level=moderate
|
||||
```
|
||||
|
||||
Resultado:
|
||||
|
||||
```text
|
||||
tsc OK
|
||||
ESLint: No issues found
|
||||
Tests: 2 suites / 4 tests passed
|
||||
found 0 vulnerabilities
|
||||
```
|
||||
|
||||
Build Android release arm64:
|
||||
|
||||
```bash
|
||||
cd FightRateRN/android
|
||||
./gradlew assembleRelease -PreactNativeArchitectures=arm64-v8a
|
||||
```
|
||||
|
||||
Resultado:
|
||||
|
||||
```text
|
||||
BUILD SUCCESSFUL
|
||||
APK: FightRateRN/android/app/build/outputs/apk/release/app-release.apk
|
||||
Tamanho: 29.7 MB
|
||||
Telegram: enviado
|
||||
```
|
||||
|
||||
## Limitação ainda aberta
|
||||
|
||||
A conexão BLE real precisa ser validada no aparelho físico com a cinta Magene H003. O app agora escaneia/conecta/monitora BLE real, mas só o teste com o sensor confirma comportamento final de campo.
|
||||
Reference in new issue
Block a user