suiss/uim · Block

Nav Categories

A store landing screen with a heading, help links and a scrolling row of product categories with photos.

Nav Categories 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
Nav Categories on iOS in light mode

A store screen with a large heading, links to ask a specialist or find a store, and a scrollable ChipGroup of categories, each Chip showing a photo and a label. Selecting a category updates the line below it.

Installation

$ pnpm dlx @esuiss/uim@latest add nav-categories

The CLI also adds what it builds on: Chip, Screen, Text.

Manual

  1. Install the dependencies:
npx expo install react-native-reanimated react-native-worklets
  1. Add the pieces it builds on: Chip, Screen, Text.

  2. Copy the source into components/blocks/nav-categories.tsx:

uniwind/components/blocks/nav-categories.tsx
import * as React from "react"
import { Image, Pressable, ScrollView, View } from "react-native"
import { FadeIn, FadeInDown, ReduceMotion } from "react-native-reanimated"
import { AnimatedView } from "@/components/ui/animated-view"
import { Chip, ChipGroup } from "@/components/ui/chip"
import { Screen } from "@/components/ui/screen"
import { Text } from "@/components/ui/text"

const photo = (id: string) =>
  `https://images.unsplash.com/photo-${id}?w=400&q=80&auto=format&fit=crop`

const CATEGORIES = [
  { label: "Laptop", image: photo("1785245560368-f6d715956e5d") },
  { label: "Phone", image: photo("1714578187196-29775454aa39") },
  { label: "Pad", image: photo("1607452263110-39a87c399c50") },
  { label: "Watch", image: photo("1660844817855-3ecc7ef21f12") },
  1. Update the import paths to match your project.

Usage

import { NavCategories } from "@/components/blocks/nav-categories"
<NavCategories />

Replace CATEGORIES with your categories and images. Wire onSelectCategory, onAskSpecialist and onFindStore to your navigation. The photos are Unsplash placeholders.