import { Avatar, Badge, Card, Group, Loader, Stack, Text } from '@mantine/core' import type { UseQueryResult } from '@tanstack/react-query' export type User = { id: string name: string email: string role: string status: 'active' | 'away' | 'offline' } const STATUS_COLOR: Record = { active: 'green', away: 'yellow', offline: 'gray', } export type UserCardProps = { query: UseQueryResult } export const UserCard: React.FC = ({ query }) => { if (query.isLoading) { return ( Loading user… ) } if (query.isError) { return ( Couldn’t load user {query.error instanceof Error ? query.error.message : 'Unknown error'} ) } const user = query.data if (!user) { return ( No user to show. ) } return ( {user.name} {user.email} {user.status} {user.role} ) }