Files
colanode/apps/desktop/src/renderer/components/databases/database-container-tab.tsx

48 lines
1.2 KiB
TypeScript
Raw Normal View History

2025-01-27 12:32:15 +01:00
import { Avatar } from '@/renderer/components/avatars/avatar';
import { useWorkspace } from '@/renderer/contexts/workspace';
import { useQuery } from '@/renderer/hooks/use-query';
import { LocalDatabaseNode } from '@/shared/types/nodes';
2025-01-27 12:32:15 +01:00
interface DatabaseContainerTabProps {
databaseId: string;
}
export const DatabaseContainerTab = ({
databaseId,
}: DatabaseContainerTabProps) => {
const workspace = useWorkspace();
const { data, isPending } = useQuery({
type: 'node_get',
nodeId: databaseId,
2025-01-27 12:32:15 +01:00
accountId: workspace.accountId,
workspaceId: workspace.id,
});
if (isPending) {
return <p className="text-sm text-muted-foreground">Loading...</p>;
}
const database = data as LocalDatabaseNode;
2025-01-27 12:32:15 +01:00
if (!database) {
return <p className="text-sm text-muted-foreground">Not found</p>;
2025-01-27 12:32:15 +01:00
}
const name =
database.attributes.name && database.attributes.name.length > 0
? database.attributes.name
: 'Unnamed';
2025-01-27 12:32:15 +01:00
return (
<div className="flex items-center space-x-2">
<Avatar
size="small"
id={database.id}
name={name}
2025-01-27 12:32:15 +01:00
avatar={database.attributes.avatar}
/>
<span>{name}</span>
2025-01-27 12:32:15 +01:00
</div>
);
};