Files
colanode/desktop/src/components/databases/database-container-node.tsx

34 lines
898 B
TypeScript
Raw Normal View History

2024-09-02 08:43:10 +02:00
import React from 'react';
import { LocalNode } from '@/types/nodes';
import { useDatabaseQuery } from '@/queries/use-database-query';
2024-09-11 14:03:38 +02:00
import { Database } from '@/components/databases/database';
2024-09-13 14:05:30 +02:00
import { DatabaseViews } from '@/components/databases/database-views';
import { useDatabaseViewsQuery } from '@/queries/use-database-views-query';
2024-09-02 08:43:10 +02:00
interface DatabaseContainerNodeProps {
node: LocalNode;
}
export const DatabaseContainerNode = ({ node }: DatabaseContainerNodeProps) => {
2024-09-13 14:05:30 +02:00
const { data: database, isPending: isDatabasePending } = useDatabaseQuery(
node.id,
);
const { data: views, isPending: isViewsPending } = useDatabaseViewsQuery(
node.id,
);
2024-09-02 08:43:10 +02:00
2024-09-13 14:05:30 +02:00
if (isDatabasePending || isViewsPending) {
2024-09-02 08:43:10 +02:00
return null;
}
2024-09-13 14:05:30 +02:00
if (!database) {
return null;
}
2024-09-02 08:43:10 +02:00
2024-09-13 14:05:30 +02:00
return (
<Database node={database}>
{views && <DatabaseViews views={views} />}
</Database>
);
2024-09-02 08:43:10 +02:00
};