mirror of
https://github.com/colanode/colanode.git
synced 2025-12-16 11:47:47 +01:00
* Init mobile app * Minor fixes and improvements * Improve assets loading * Fix event bus proxy * Improve emojis and icons loading * Improve app initialization in web * Init tanstack router * Refactor components * Refactor some more components * Refactor layouts * Improve routing * Improve routing * Routing improvements * Make sidebar work in mobile * Refactor container and breadcrumb * Fix some packages and warnings * Encode and decode yjs update for ipc communication * Refactor servers in client * Fix some errors and warnings in editor and sidebar * Add route masking for web * Improve container layout * Improve ui for mobile * Improve mobile ui * Create custom link component * Router improvements * Implement tabs for desktop * tabs improvements * Refactor routes * Layout improvements * Improve desktop tabs * Use tanstack-db for global collections * Improve tanstack db collections * Refactor workspaces and accounts databases and routes locally * Use tanstackdb for users * Use tanstackdb for uploads and downloads * Use tanstackdb for temp files * Rename database to collections * Improve tabs * Fix packages * Improve local file handling * Rename sync cursor keys * Save some bootstrap data in a file * Reset all data on new version update in desktop * Minor refactor * Implement app reset on startup * UI fixes and improvements * More Ui improvements * Fix logout * Add tab in route contexts for workspace routes * Store last used workspace id as metadata * Fix account logout * Fix file preview * Fix file thumbnail loading in tabs * Fix chat tab loading * Fix some redirect handling * Disable staletime for icon.svg.get query * Fix not found pages and throws * add readme for mobile * fix some keys * Improve add tab handler * Fix path
47 lines
1.2 KiB
TypeScript
47 lines
1.2 KiB
TypeScript
import { LocalDatabaseNode } from '@colanode/client/types';
|
|
import { Avatar } from '@colanode/ui/components/avatars/avatar';
|
|
import { useWorkspace } from '@colanode/ui/contexts/workspace';
|
|
import { useLiveQuery } from '@colanode/ui/hooks/use-live-query';
|
|
|
|
interface DatabaseContainerTabProps {
|
|
databaseId: string;
|
|
}
|
|
|
|
export const DatabaseContainerTab = ({
|
|
databaseId,
|
|
}: DatabaseContainerTabProps) => {
|
|
const workspace = useWorkspace();
|
|
|
|
const nodeGetQuery = useLiveQuery({
|
|
type: 'node.get',
|
|
nodeId: databaseId,
|
|
userId: workspace.userId,
|
|
});
|
|
|
|
if (nodeGetQuery.isPending) {
|
|
return <p className="text-sm text-muted-foreground">Loading...</p>;
|
|
}
|
|
|
|
const database = nodeGetQuery.data as LocalDatabaseNode;
|
|
if (!database) {
|
|
return <p className="text-sm text-muted-foreground">Not found</p>;
|
|
}
|
|
|
|
const name =
|
|
database.attributes.name && database.attributes.name.length > 0
|
|
? database.attributes.name
|
|
: 'Unnamed';
|
|
|
|
return (
|
|
<div className="flex items-center space-x-2">
|
|
<Avatar
|
|
size="small"
|
|
id={database.id}
|
|
name={name}
|
|
avatar={database.attributes.avatar}
|
|
/>
|
|
<span>{name}</span>
|
|
</div>
|
|
);
|
|
};
|