Files
achmad 8009fc6b8a feat: implement device management UI
Adds device list panel with 1s real-time polling, device cards showing
connection type/Android version/battery, wireless connect dialog, and
DeviceInfoPanel with static fields fetched once and live fields (RAM,
battery, thermal, storage, IP) pulsed every second. Introduces the
selectedDeviceId vs profiledDeviceId split in Zustand store, Profile
toggle per card, and auto-clear on device disconnect. All non-device
feature panels gate on useActiveDevice and render NoDeviceSelected when
no device is being profiled.
2026-05-06 14:51:44 +07:00
..
2026-05-06 13:13:21 +07:00
2026-05-06 14:51:44 +07:00
2026-05-06 13:13:21 +07:00
2026-05-06 13:13:21 +07:00
2026-05-06 13:13:21 +07:00
2026-05-06 13:13:21 +07:00

React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

React Compiler

The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.

Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...

      // Remove tseslint.configs.recommended and replace with this
      tseslint.configs.recommendedTypeChecked,
      // Alternatively, use this for stricter rules
      tseslint.configs.strictTypeChecked,
      // Optionally, add this for stylistic rules
      tseslint.configs.stylisticTypeChecked,

      // Other configs...
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])

You can also install eslint-plugin-react-x and eslint-plugin-react-dom for React-specific lint rules:

// eslint.config.js
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...
      // Enable lint rules for React
      reactX.configs['recommended-typescript'],
      // Enable lint rules for React DOM
      reactDom.configs.recommended,
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])