suiss/uim · Block

Log Live

A live activity feed that adds a new event every few seconds, with session stats and a Pause button.

Log Live is an open-source mobile screen from suiss/uim for React Native and Expo, with SwiftUI and Jetpack Compose versions built from the same design tokens. The @esuiss/uim CLI copies its source into your project, so you own the code.

iOS
Log Live on iOS in light mode

An admin screen with a collapsing Header, three stats for the session, and a list of recent events with an Avatar or icon for each actor. A timer adds the next sample event every 2.2 seconds and keeps the seven newest, with a pulsing Live dot while it runs. The header button pauses and resumes the feed. A TabBar at the bottom switches between admin sections; only Activity has content in the sample.

Installation

$ pnpm dlx @esuiss/uim@latest add log-live

The CLI also adds what it builds on: Avatar, Button, Header, Icon, Screen, Tab Bar, Text.

Manual

  1. Install the dependencies:
npx expo install cn phosphor-react-native react-native-reanimated react-native-svg react-native-worklets
  1. Add the pieces it builds on: Avatar, Button, Header, Icon, Screen, Tab Bar, Text.

  2. Copy the source into components/blocks/log-live.tsx:

uniwind/components/blocks/log-live.tsx
import { cn } from "cn"
import {
  ChartBarIcon,
  ChatCircleIcon,
  CloudIcon,
  GearIcon,
  HandbagIcon,
  PauseIcon,
  type Icon as PhosphorIcon,
  PlayIcon,
  ShieldIcon,
  TagIcon,
  UsersIcon,
  WarningIcon,
} from "phosphor-react-native"
import * as React from "react"
  1. Update the import paths to match your project.

Usage

import { LogLive } from "@/components/blocks/log-live"
<LogLive />

Replace FEED with your events and swap the timer for your real-time source. Wire onRunningChange and onNavigate to your app.