@@ -424,6 +426,7 @@ export function AddDocument({
setLocalSelectedProject(projects[0] ?? localSelectedProject)
}
variant="insideOut"
+ singleSelect
/>
)}
void
+ onCreated?: (containerTag: string) => void
}) {
const [spaceName, setSpaceName] = useState("")
const [emoji, setEmoji] = useState("📁")
@@ -87,8 +89,11 @@ export function AddSpaceModal({
createProjectMutation.mutate(
{ name: trimmedName, emoji: emoji || undefined },
{
- onSuccess: () => {
+ onSuccess: (data) => {
analytics.spaceCreated()
+ if (data?.containerTag) {
+ onCreated?.(data.containerTag)
+ }
handleClose()
},
},
diff --git a/apps/web/components/select-spaces-modal.tsx b/apps/web/components/select-spaces-modal.tsx
index ad49a4ce..895bbf6d 100644
--- a/apps/web/components/select-spaces-modal.tsx
+++ b/apps/web/components/select-spaces-modal.tsx
@@ -16,6 +16,7 @@ interface SelectSpacesModalProps {
selectedProjects: string[]
onApply: (selected: string[]) => void
projects: ContainerTagListType[]
+ singleSelect?: boolean
}
export function SelectSpacesModal({
@@ -24,6 +25,7 @@ export function SelectSpacesModal({
selectedProjects,
onApply,
projects,
+ singleSelect = false,
}: SelectSpacesModalProps) {
const [searchQuery, setSearchQuery] = useState("")
const [localSelection, setLocalSelection] =
@@ -44,6 +46,10 @@ export function SelectSpacesModal({
}
const handleToggle = (containerTag: string) => {
+ if (singleSelect) {
+ setLocalSelection([containerTag])
+ return
+ }
setLocalSelection((prev) => {
if (prev.includes(containerTag)) {
return prev.filter((tag) => tag !== containerTag)
@@ -117,10 +123,12 @@ export function SelectSpacesModal({
dmSans125ClassName(),
)}
>
- Select Spaces
+ Select Space{!singleSelect && "s"}
- Choose one or more spaces to filter your memories
+ {singleSelect
+ ? "Choose a space for your memory"
+ : "Choose one or more spaces to filter your memories"}