Skip to Content
React NativeComponentHeader

🧩 Header

The Zezo OTT UI Kit includes three flexible header components, optimized for OTT-style React Native apps.

Header VariantLayout
Header.OneLogo + Menu + Search
Header.TwoCentered Logo + Menu Button
Header.ThreeLogo + Custom Category View (e.g. “Movies”)

🖼️ Preview

Use these headers anywhere in your app — Home, Category, Detail, or Search screens.

Header.OneHeader One
Header.TwoHeader Two
Header.ThreeHeader Three

📡 API Call Methods

⚙️ First, set up the getZezoOtt API client: API Client Setup

You can fetch branding and category data using:

🎯 Example Field Mapping

FieldUsed In
settings.logologoUri prop in all Header components
categoriescategory prop in Header.Three

🔹 Header.One

Best suited for dashboards or landing screens.

▶️ Example

HomeScreen.tsx
import React from "react"; import { Header, SafeAreaWrapper, } from "@zezosoft/zezo-ott-react-native-ui-kit"; const HomeScreen = () => { return ( <SafeAreaWrapper> <Header.One logoUri={ "https://res.cloudinary.com/djuznvvbr/image/upload/v1749801710/ZezoOttLogo_ztf50t.png" // App logo URL from settings API } onMenuPress={() => console.log("Menu")} onSearchPress={() => console.log("Search")} isLoading={} // settings API loading state for logo /> </SafeAreaWrapper> ); }; export default HomeScreen;

📋 Props

PropTypeDescription
logoUristringLogo image URL
onMenuPress() => voidCallback for menu icon
onSearchPress() => voidCallback for search icon
isLoadingbooleanShow loading shimmer on logo
MenuIconReact.FC<{ width: number, height: number }>Optional custom menu icon
SearchIconReact.FC<{ width: number, height: number }>Optional custom search icon
themeAppThemeOptional theme override

🔹 Header.Two

Ideal for detail pages or back-navigation flows.

▶️ Example

HomeScreen.tsx
import React from "react"; import { Header, SafeAreaWrapper, } from "@zezosoft/zezo-ott-react-native-ui-kit"; const HomeScreen = () => { return ( <SafeAreaWrapper> <Header.Two logoUri={ "https://res.cloudinary.com/djuznvvbr/image/upload/v1749801710/ZezoOttLogo_ztf50t.png" // App logo URL from settings API } onMenuPress={() => console.log("Menu Press")} isLoading={} // settings API loading state for logo /> </SafeAreaWrapper> ); }; export default HomeScreen;

📋 Props

PropTypeDescription
logoUristringCenter logo image
onMenuPress() => voidCallback for back/menu icon
MenuIconReact.FC<{ width: number, height: number }>Optional custom left-side icon
isLoadingbooleanShow loading shimmer on logo
themeAppThemeOptional theme override

🔹 Header.Three

Great for category views like Movies, Shows, etc.

▶️ Example

HomeScreen.tsx
import React from "react"; import { FlatList } from "react-native"; import { Header, SafeAreaWrapper, Text, } from "@zezosoft/zezo-ott-react-native-ui-kit"; import { getZezoOtt } from "@ZezoOtt/http"; import { useQuery } from "@tanstack/react-query"; const HomeScreen = () => { return ( <SafeAreaWrapper> <Header.Three logoUri={ "https://res.cloudinary.com/djuznvvbr/image/upload/v1749801710/ZezoOttLogo_ztf50t.png" // App logo URL from settings API } isLoading={} // settings API loading state for logo category={ <FlatList data={categories} // Category list from categories API response horizontal showsHorizontalScrollIndicator={false} keyExtractor={(item) => item._id} contentContainerStyle={{ flexDirection: "row", gap: 12, }} renderItem={({ item }) => <Text key={item._id}>{item.name}</Text>} /> } /> </SafeAreaWrapper> ); }; export default HomeScreen;

📋 Props

PropTypeDescription
logoUristringLogo image URL
isLoadingbooleanShow loading shimmer on logo
categoryReact.ReactNodeElement to render next to the logo
themeAppThemeOptional theme override

💡 Features

  • Theming (light/dark mode ready)
  • ✅ Custom icons supported via props
  • ✅ Cross-platform (Android/iOS)
  • ✅ Touch ripple & press feedback (uses Pressable)
  • ✅ Icon scaling powered by react-native-size-matters

✍️ Created by Naresh Dhamu – Powered by ZezoSoft

Last updated on