mirror of
https://github.com/supermemoryai/supermemory.git
synced 2026-10-09 03:18:04 +00:00
fix(extension): preserve default space in picker
This commit is contained in:
parent
434c86e2c3
commit
b85c398a7b
2 changed files with 45 additions and 3 deletions
|
|
@ -2,6 +2,7 @@
|
|||
* API service for supermemory browser extension
|
||||
*/
|
||||
import { API_ENDPOINTS } from "./constants"
|
||||
import { normalizeProjects } from "./projects"
|
||||
import { bearerToken, defaultProject, userData } from "./storage"
|
||||
import { buildSearchMemoriesBody } from "./search-request"
|
||||
import {
|
||||
|
|
@ -62,9 +63,10 @@ async function makeAuthenticatedRequest<T>(
|
|||
*/
|
||||
export async function fetchProjects(): Promise<Project[]> {
|
||||
try {
|
||||
const response =
|
||||
await makeAuthenticatedRequest<ProjectsResponse>("/v3/projects")
|
||||
return response.projects
|
||||
const response = await makeAuthenticatedRequest<ProjectsResponse | null>(
|
||||
"/v3/projects",
|
||||
)
|
||||
return normalizeProjects(response?.projects)
|
||||
} catch (error) {
|
||||
console.error("Failed to fetch projects:", error)
|
||||
throw error
|
||||
|
|
|
|||
40
apps/browser-extension/utils/projects.ts
Normal file
40
apps/browser-extension/utils/projects.ts
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
import { CONTAINER_TAGS } from "./constants"
|
||||
import type { Project } from "./types"
|
||||
|
||||
type ApiProject = Omit<Project, "name"> & {
|
||||
name?: string | null
|
||||
}
|
||||
|
||||
const defaultProject: Project = {
|
||||
id: "default",
|
||||
name: "Default Project",
|
||||
containerTag: CONTAINER_TAGS.DEFAULT_PROJECT,
|
||||
createdAt: "",
|
||||
updatedAt: "",
|
||||
documentCount: 0,
|
||||
}
|
||||
|
||||
export function normalizeProjects(
|
||||
projects: ApiProject[] | null | undefined,
|
||||
): Project[] {
|
||||
const normalizedProjects = (Array.isArray(projects) ? projects : []).map(
|
||||
(project) => ({
|
||||
...project,
|
||||
name:
|
||||
project.name?.trim() ||
|
||||
(project.containerTag === CONTAINER_TAGS.DEFAULT_PROJECT
|
||||
? defaultProject.name
|
||||
: project.containerTag),
|
||||
}),
|
||||
)
|
||||
|
||||
if (
|
||||
normalizedProjects.some(
|
||||
(project) => project.containerTag === CONTAINER_TAGS.DEFAULT_PROJECT,
|
||||
)
|
||||
) {
|
||||
return normalizedProjects
|
||||
}
|
||||
|
||||
return [defaultProject, ...normalizedProjects]
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue