diff --git a/apps/web/components/select-spaces-modal.tsx b/apps/web/components/select-spaces-modal.tsx
index 7fdfaefd..7529d521 100644
--- a/apps/web/components/select-spaces-modal.tsx
+++ b/apps/web/components/select-spaces-modal.tsx
@@ -46,6 +46,7 @@ import {
import { InstallSteps, PillButton } from "./integrations/install-steps"
import { useProjectMutations } from "@/hooks/use-project-mutations"
import { AUTO_CHAT_SPACE_ID } from "@/lib/chat-auto-space"
+import NovaOrb from "@/components/nova/nova-orb"
interface SelectSpacesModalProps {
isOpen: boolean
@@ -705,6 +706,8 @@ export function SelectSpacesModal({
{pluginInitial(plugin.label)}
)
+ ) : isOwnSpace ? (
+
) : (
{project.emoji || "📁"}
diff --git a/apps/web/components/space-selector.tsx b/apps/web/components/space-selector.tsx
index 40d5947e..73d42e2a 100644
--- a/apps/web/components/space-selector.tsx
+++ b/apps/web/components/space-selector.tsx
@@ -35,10 +35,12 @@ import { useAuth } from "@lib/auth-context"
import { analytics } from "@/lib/analytics"
import {
compareSpacesUserFirst,
+ isOwnConversationSpace,
spaceSelectorDisplayName,
} from "@/lib/ingest-auto-space"
import { detectPluginSpace, pluginInitial } from "@/lib/plugin-space"
import { usePluginSpaceMeta } from "@/hooks/use-plugin-space-meta"
+import NovaOrb from "@/components/nova/nova-orb"
export interface SpaceSelectorProps {
selectedProjects: string[]
@@ -182,18 +184,32 @@ export function SpaceSelector({
emoji: string | null
plugin: ReturnType
isAuto: boolean
+ isOwnSpace: boolean
}>(() => {
const containerTag = selectedProjects[0] ?? ""
if (includeAuto && containerTag === AUTO_CHAT_SPACE_ID) {
- return { name: "Auto", emoji: null, plugin: null, isAuto: true }
+ return {
+ name: "Auto",
+ emoji: null,
+ plugin: null,
+ isAuto: true,
+ isOwnSpace: false,
+ }
}
if (!containerTag || containerTag === DEFAULT_PROJECT_ID) {
- return { name: "My Space", emoji: "📁", plugin: null, isAuto: false }
+ return {
+ name: "My Space",
+ emoji: "📁",
+ plugin: null,
+ isAuto: false,
+ isOwnSpace: false,
+ }
}
const found = allProjects.find(
(p: ContainerTagListType) => p.containerTag === containerTag,
)
const plugin = detectPluginSpace(containerTag)
+ const isOwnSpace = isOwnConversationSpace({ containerTag }, user?.id)
const projectName = pluginMetaMap.get(containerTag)?.projectName
const idForLabel = projectName || plugin?.projectId
return {
@@ -207,6 +223,7 @@ export function SpaceSelector({
emoji: found?.emoji || "📁",
plugin,
isAuto: false,
+ isOwnSpace,
}
}, [allProjects, selectedProjects, pluginMetaMap, includeAuto, user?.id])
@@ -370,6 +387,11 @@ export function SpaceSelector({
>
{displayInfo.isAuto ? (
+ ) : displayInfo.isOwnSpace ? (
+
) : displayInfo.plugin ? (
displayInfo.plugin.iconSrc ? (
{
const plugin = detectPluginSpace(p.containerTag)
+ const isOwnSpace = isOwnConversationSpace(p, user?.id)
return (
)
+ ) : isOwnSpace ? (
+
) : (
{p.emoji || "📁"}
)}
diff --git a/apps/web/lib/ingest-auto-space.ts b/apps/web/lib/ingest-auto-space.ts
index 3f38a85a..a4d2f8dc 100644
--- a/apps/web/lib/ingest-auto-space.ts
+++ b/apps/web/lib/ingest-auto-space.ts
@@ -1,7 +1,7 @@
import { DEFAULT_PROJECT_ID } from "@lib/constants"
import type { ContainerTagListType } from "@lib/types"
-export const OWN_CONVERSATIONS_SPACE_NAME = "Your conversations"
+export const OWN_CHAT_SPACE_NAME = "Nova chats"
/**
* Spaces auto-created on first ingest use `name === \`Space ${containerTag}\``
@@ -40,7 +40,7 @@ export function spaceSelectorDisplayName(
): string {
const containerTag = p?.containerTag ?? fallback
if (containerTag === options?.currentUserId) {
- return OWN_CONVERSATIONS_SPACE_NAME
+ return OWN_CHAT_SPACE_NAME
}
if (!p) return fallback
const name = p.name ?? p.containerTag