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,108 @@
|
||||
# FightRate React Native Bare Rebuild — Mini-spec
|
||||
|
||||
Data: 2026-06-10
|
||||
Status: implementação autorizada
|
||||
Stack: **React Native Community CLI, sem Expo**
|
||||
|
||||
## Objetivo
|
||||
|
||||
Criar a nova base do FightRate em React Native bare, sem Expo, usando a direção visual oficial **Corner Instrument**.
|
||||
|
||||
A implementação inicial deve provar:
|
||||
|
||||
- identidade visual escolhida;
|
||||
- fluxo principal de captura contínua;
|
||||
- estrutura de código React Native escalável;
|
||||
- telas base para Captura, Histórico, Sensor e Insights;
|
||||
- dados mockados apenas como estado de protótipo local, não como gráfico ou amostra real persistida.
|
||||
|
||||
## Fora de escopo nesta primeira fatia
|
||||
|
||||
- BLE real Magene H003.
|
||||
- SQLite real.
|
||||
- Build de APK final assinado.
|
||||
- Migração de todos os recursos do Android legado.
|
||||
- Expo ou qualquer dependência Expo.
|
||||
|
||||
## Decisões
|
||||
|
||||
- Criar novo app em `FightRateRN/` para não destruir o Android legado antes da base RN compilar.
|
||||
- Usar React Native Community CLI.
|
||||
- Usar TypeScript.
|
||||
- Começar com UI e estado local; BLE/persistência entram em fatias posteriores.
|
||||
- Fonte visual obrigatória: `FIGHTRATE_DESIGN_SYSTEM.md`.
|
||||
|
||||
## Estrutura desejada
|
||||
|
||||
```text
|
||||
FightRateRN/
|
||||
src/
|
||||
app/
|
||||
FightRateApp.tsx
|
||||
components/
|
||||
ActionButton.tsx
|
||||
MetricTile.tsx
|
||||
SectionPanel.tsx
|
||||
StatusTag.tsx
|
||||
TrainingChart.tsx
|
||||
screens/
|
||||
CaptureScreen.tsx
|
||||
HistoryScreen.tsx
|
||||
SensorScreen.tsx
|
||||
InsightsScreen.tsx
|
||||
theme/
|
||||
colors.ts
|
||||
radius.ts
|
||||
spacing.ts
|
||||
typography.ts
|
||||
index.ts
|
||||
data/
|
||||
demoTraining.ts
|
||||
```
|
||||
|
||||
## Critérios de aceite
|
||||
|
||||
1. Projeto React Native bare criado sem Expo.
|
||||
2. `package.json` não contém dependências Expo.
|
||||
3. App inicial mostra a direção Corner Instrument.
|
||||
4. Captura contínua é o fluxo principal.
|
||||
5. Round manual não domina a interface.
|
||||
6. Design tokens estão centralizados em `src/theme`.
|
||||
7. Componentes principais reutilizáveis existem.
|
||||
8. Telas visíveis:
|
||||
- Captura;
|
||||
- Histórico;
|
||||
- Sensor;
|
||||
- Insights.
|
||||
9. Verificação mínima:
|
||||
|
||||
```bash
|
||||
cd FightRateRN
|
||||
npm install
|
||||
npm run typecheck
|
||||
npm run lint
|
||||
npm test -- --runInBand
|
||||
```
|
||||
|
||||
Build Android debug validado neste ambiente:
|
||||
|
||||
```bash
|
||||
cd FightRateRN/android
|
||||
./gradlew assembleDebug
|
||||
```
|
||||
|
||||
Observação local: o PATH atual tem JRE, mas não `javac`. Para o build Gradle RN,
|
||||
use o JBR do Android Studio como `JAVA_HOME`:
|
||||
|
||||
```bash
|
||||
export JAVA_HOME="/c/Users/Evandro/AppData/Local/Programs/Android Studio/jbr"
|
||||
export PATH="$JAVA_HOME/bin:$PATH"
|
||||
cd FightRateRN/android
|
||||
./gradlew assembleDebug
|
||||
```
|
||||
|
||||
## Riscos
|
||||
|
||||
- React Native CLI pode mudar template conforme versão atual.
|
||||
- Ambiente local pode não ter Android SDK/NDK adequado para build RN.
|
||||
- BLE real exigirá dependência nativa futura e teste físico.
|
||||
Reference in new issue
Block a user