Files
colanode/packages/ui/src/components/databases/database-container-tab.tsx
Hakan Shehu 3e4c8b8125 Implement new routing with tanstack router and mobile app kickoff (#248)
* 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
2025-11-11 07:00:14 -08:00

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>
);
};