Skip to Content

🕒 Watch Later Screen

A versatile implementation of the WatchLater component that enables users to view and manage content they’ve marked to watch later — supporting grid/list layouts, loading states, and full customization.


📸 Preview

Watch Later Light Preview
Watch Later Dark Preview

⚙️ Key Features

FeatureDescription
📋 Grid or List LayoutSupports both grid (poster) and list (detailed) views
🌃 Theme SupportAdapts styling based on app theme
🕐 Loading StatesShows skeleton UI while data is fetching
📬 Empty StatesShows fallback UI when no Watch Later data is found
🔍 Search & BackOptional handlers for navigation actions
🧹 Extendable UIAccepts custom renderers for header, items, skeletons, and empty states

📡 API Call Methods

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

🧪 The following API method is used to fetch saved Watch Later content:


🧑‍💻 Example Usage

UserWatchLaterScreen.tsx
import React from "react"; import { SafeAreaWrapper, WatchLater, } from "@zezosoft/zezo-ott-react-native-ui-kit"; import { goBack } from "@ZezoOtt/utils/NavigationUtil"; const UserWatchLaterScreen = () => { return ( <SafeAreaWrapper> <WatchLater data={[]} // your API response array of Watch Later items onBackPress={() => goBack()} /> </SafeAreaWrapper> ); }; export default UserWatchLaterScreen;

🔗 See related route definition: Route enum from @navigation/routes.ts


📦 WatchLater Props

PropTypeDescription
dataIWatchLaterItem[]Array of saved Watch Later content
isLoadingbooleanWhether the data is currently loading
titlestringOptional header title
headerComponentReact.ReactNodeCustom header override
onBackPress() => voidBack navigation callback
onSearchPress() => voidSearch icon action handler
showSearchIconbooleanToggle search icon visibility
itemDimensionnumberWidth of each grid item
spacingnumberGrid item spacing
renderItem(item, index) => ReactElementCustom item renderer
skeletonCountnumberNumber of loading skeletons shown
skeletonComponentReactElementCustom skeleton component
noDataComponentReact.ReactNodeCustom fallback UI when no data available
noDataTextstringText shown when no Watch Later is found
onPressItem(item) => voidCallback for item press
onEndReached() => voidTriggers when scroll reaches bottom
onEndReachedThresholdnumberScroll threshold to trigger pagination
viewModeposter detailedView style for list (detailed) or grid (poster)
themeAppThemeOptional custom theme for colors, fonts, etc.

✅ Summary

  • 🕒 Displays a responsive list of saved Watch Later content
  • 🧹 Fully customizable with render props and overrides
  • 🌃 Supports dark/light themes out of the box
  • 🚀 Works seamlessly with react-query and dummy data
  • 📬 Graceful fallback states for loading and no content

✍️ Created by Naresh Dhamu – Powered by ZezoSoft.

Last updated on