import { View, Text, ScrollView, RefreshControl } from "react-native"; import { useRouter } from "expo-router"; import { useState, useCallback } from "react"; import { useQuery } from "convex/react"; import { api } from "../../../convex/_generated/api"; import { useAuth } from "../../_layout"; import { useTheme } from "../../../components/theme"; import { ChatListItem } from "../../../components/chat-list-item"; import { Button } from "../../../components/ui/button"; import { Loading } from "../../../components/ui/loading"; export default function ChatScreen() { const theme = useTheme(); const router = useRouter(); const { token, userId, isAuthenticated } = useAuth(); const [refreshing, setRefreshing] = useState(false); const chats = useQuery( api.chats.listByUser, isAuthenticated && token ? { token } : "skip" ); const onRefresh = useCallback(() => { setRefreshing(true); setTimeout(() => setRefreshing(false), 800); }, []); if (!isAuthenticated) { return ( } contentContainerStyle={{ padding: theme.spacing.lg }} > {"\uD83D\uDCAC"} Чатови Најавете се за да ги видите вашите разговори. ); } if (chats === undefined) { return ( ); } if (chats.length === 0) { return ( } contentContainerStyle={{ padding: theme.spacing.lg }} > {"\uD83D\uDCAC"} Немате разговори Започнете разговор со мајстор или клиент. ); } return ( } style={{ backgroundColor: theme.colors.background }} > {chats.map((chat) => ( ))} ); }