feat: ui updates
This commit is contained in:
@@ -83,13 +83,55 @@ export const demoAwareWorkspacesApi = {
|
||||
export const demoAwareProjectsApi = {
|
||||
list: async (
|
||||
workspaceId: string,
|
||||
params?: { page?: number; size?: number }
|
||||
params?: { page?: number; size?: number; include_archived?: boolean }
|
||||
): Promise<PaginatedResponse<Project>> => {
|
||||
if (isDemoWorkspace(workspaceId)) {
|
||||
return paginate(demoProjects, params?.page, params?.size);
|
||||
let items = demoProjects;
|
||||
if (!params?.include_archived) {
|
||||
items = items.filter(p => p.status !== "archived");
|
||||
}
|
||||
return paginate(items, params?.page, params?.size);
|
||||
}
|
||||
return projectsApi.list(workspaceId, params);
|
||||
},
|
||||
updateInviteLinkType: async (
|
||||
workspaceId: string,
|
||||
projectId: string,
|
||||
data: { purchase_invite_type_default: "public" | "approval" }
|
||||
): Promise<Project> => {
|
||||
if (isDemoWorkspace(workspaceId)) {
|
||||
// In demo mode, just return the project (mock update)
|
||||
const project = demoProjects.find(p => p.id === projectId);
|
||||
if (!project) throw new Error("Project not found");
|
||||
return { ...project, purchase_invite_type_default: data.purchase_invite_type_default };
|
||||
}
|
||||
return projectsApi.updateInviteLinkType(workspaceId, projectId, data);
|
||||
},
|
||||
archive: async (
|
||||
workspaceId: string,
|
||||
projectId: string
|
||||
): Promise<Project> => {
|
||||
if (isDemoWorkspace(workspaceId)) {
|
||||
const project = demoProjects.find(p => p.id === projectId);
|
||||
if (!project) throw new Error("Project not found");
|
||||
return { ...project, status: "archived" };
|
||||
}
|
||||
return projectsApi.archive(workspaceId, projectId);
|
||||
},
|
||||
delete: async (
|
||||
workspaceId: string,
|
||||
projectId: string
|
||||
): Promise<void> => {
|
||||
if (isDemoWorkspace(workspaceId)) {
|
||||
// In demo mode, just mark as archived (soft delete)
|
||||
const project = demoProjects.find(p => p.id === projectId);
|
||||
if (project) {
|
||||
project.status = "archived";
|
||||
}
|
||||
return;
|
||||
}
|
||||
return projectsApi.delete(workspaceId, projectId);
|
||||
},
|
||||
};
|
||||
|
||||
// ============================================================================
|
||||
|
||||
Reference in New Issue
Block a user