diff --git a/app/(auth)/(tabs)/(home,libraries,search)/livetv/guide.tsx b/app/(auth)/(tabs)/(home,libraries,search)/livetv/guide.tsx
index 101b3fe8..01652b5f 100644
--- a/app/(auth)/(tabs)/(home,libraries,search)/livetv/guide.tsx
+++ b/app/(auth)/(tabs)/(home,libraries,search)/livetv/guide.tsx
@@ -1,13 +1,21 @@
import { ItemImage } from "@/components/common/ItemImage";
+import { Text } from "@/components/common/Text";
import { HourHeader } from "@/components/livetv/HourHeader";
import { LiveTVGuideRow } from "@/components/livetv/LiveTVGuideRow";
import { TAB_HEIGHT } from "@/constants/Values";
import { apiAtom, userAtom } from "@/providers/JellyfinProvider";
+import { Ionicons } from "@expo/vector-icons";
import { getLiveTvApi } from "@jellyfin/sdk/lib/utils/api";
import { useQuery } from "@tanstack/react-query";
import { useAtom } from "jotai";
import React, { useCallback, useMemo, useState } from "react";
-import { Button, Dimensions, ScrollView, View } from "react-native";
+import {
+ Button,
+ Dimensions,
+ ScrollView,
+ TouchableOpacity,
+ View,
+} from "react-native";
import { useSafeAreaInsets } from "react-native-safe-area-context";
const HOUR_HEIGHT = 30;
@@ -78,8 +86,6 @@ export default function page() {
const screenWidth = Dimensions.get("window").width;
- const memoizedChannels = useMemo(() => channels?.Items || [], [channels]);
-
const [scrollX, setScrollX] = useState(0);
const handleNextPage = useCallback(() => {
@@ -100,24 +106,15 @@ export default function page() {
paddingRight: insets.right,
paddingBottom: 16,
}}
- style={{
- marginBottom: TAB_HEIGHT,
- }}
>
-
-
-
-
+
@@ -166,3 +163,57 @@ export default function page() {
);
}
+
+interface PageButtonsProps {
+ currentPage: number;
+ onPrevPage: () => void;
+ onNextPage: () => void;
+ isNextDisabled: boolean;
+}
+
+const PageButtons: React.FC = ({
+ currentPage,
+ onPrevPage,
+ onNextPage,
+ isNextDisabled,
+}) => {
+ return (
+
+
+
+
+ Previous
+
+
+ Page {currentPage}
+
+
+ Next
+
+
+
+
+ );
+};
diff --git a/app/(auth)/(tabs)/(home,libraries,search)/livetv/programs.tsx b/app/(auth)/(tabs)/(home,libraries,search)/livetv/programs.tsx
index 00c1235a..fe62d313 100644
--- a/app/(auth)/(tabs)/(home,libraries,search)/livetv/programs.tsx
+++ b/app/(auth)/(tabs)/(home,libraries,search)/livetv/programs.tsx
@@ -5,10 +5,7 @@ import { BaseItemDto } from "@jellyfin/sdk/lib/generated-client";
import { getLiveTvApi } from "@jellyfin/sdk/lib/utils/api";
import { useAtom } from "jotai";
import React from "react";
-import {
- ScrollView,
- View
-} from "react-native";
+import { ScrollView, View } from "react-native";
import { useSafeAreaInsets } from "react-native-safe-area-context";
export default function page() {
@@ -27,9 +24,6 @@ export default function page() {
paddingBottom: 16,
paddingTop: 8,
}}
- style={{
- marginBottom: TAB_HEIGHT,
- }}
>