Перейти до основного вмісту

📱 Mobile Architecture

Expo / React Native app. Uses NativeWind (Tailwind in RN), Redux Toolkit, i18next.

Source ↗

Layout

State Management

Same Redux pattern as Station Frontend — slices have only sync reducers, thunks dispatch lifecycle actions explicitly. See Station Frontend → Redux for the full pattern.

Styling

  • NativeWind (Tailwind classes for RN) — not styled-components
  • Same semantic color tokens as Station Frontend
  • useTranslation() for all user-facing strings

API Client

// transport/http/client.ts
const apiClient = axios.create({
baseURL: CLOUD_HOST,
// auth interceptors + token refresh
});

All API calls go through thunks in *.actions.ts files. Screens never import from transport/.

WebSocket

Mobile keeps a WSS connection to Cloud for real-time device state updates and push fallbacks.

Reference