add loading spinner
This commit is contained in:
parent
000cb77acd
commit
f6c52c11c3
9
apps/web/components/common/spinner.tsx
Normal file
9
apps/web/components/common/spinner.tsx
Normal file
@ -0,0 +1,9 @@
|
||||
import { Loader2 } from 'lucide-react';
|
||||
|
||||
export function LoadingSpinner() {
|
||||
return (
|
||||
<div className="flex h-full items-center justify-center">
|
||||
<Loader2 className="size-8 animate-spin text-primary" />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@ -1,4 +1,5 @@
|
||||
'use client';
|
||||
import { LoadingSpinner } from '../common/spinner';
|
||||
import { useCustomerContacts } from '@/hooks/contacts';
|
||||
import * as GQL from '@repo/graphql/types';
|
||||
import { Avatar, AvatarFallback, AvatarImage } from '@repo/ui/components/ui/avatar';
|
||||
@ -31,6 +32,8 @@ const ContactRow = memo(function ({ contact }: ContactRowProps) {
|
||||
export function ContactsList() {
|
||||
const { contacts } = useCustomerContacts();
|
||||
|
||||
if (!contacts.length) return <LoadingSpinner />;
|
||||
|
||||
return (
|
||||
<div className="space-y-2">
|
||||
{contacts.map((contact) => (
|
||||
|
||||
@ -8,7 +8,7 @@ import { use, useEffect, useMemo } from 'react';
|
||||
|
||||
export function useCustomerContacts() {
|
||||
const { filter } = use(ContactsFilterContext);
|
||||
const { clients = [], masters = [], setClients, setMasters } = useBoundStore();
|
||||
const { clients, masters, setClients, setMasters } = useBoundStore();
|
||||
|
||||
useEffect(() => {
|
||||
if ((filter === 'masters' || filter === 'all') && !masters)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user