feat(web): wire knowledge pages to real API data (#476)
Some checks failed
ci/woodpecker/push/web Pipeline failed
Some checks failed
ci/woodpecker/push/web Pipeline failed
Co-authored-by: Jason Woltje <jason@diversecanvas.com> Co-committed-by: Jason Woltje <jason@diversecanvas.com>
This commit was merged in pull request #476.
This commit is contained in:
@@ -8,8 +8,9 @@ import type {
|
||||
KnowledgeTag,
|
||||
KnowledgeEntryVersionWithAuthor,
|
||||
PaginatedResponse,
|
||||
EntryStatus,
|
||||
Visibility,
|
||||
} from "@mosaic/shared";
|
||||
import { EntryStatus, Visibility } from "@mosaic/shared";
|
||||
import { apiGet, apiPost, apiPatch, apiDelete, type ApiResponse } from "./client";
|
||||
|
||||
export interface EntryFilters {
|
||||
@@ -370,241 +371,3 @@ export async function fetchKnowledgeGraph(filters?: {
|
||||
const endpoint = queryString ? `/api/knowledge/graph?${queryString}` : "/api/knowledge/graph";
|
||||
return apiGet(endpoint);
|
||||
}
|
||||
|
||||
/**
|
||||
* Mock entries for development (until backend endpoints are ready)
|
||||
*/
|
||||
export const mockEntries: KnowledgeEntryWithTags[] = [
|
||||
{
|
||||
id: "entry-1",
|
||||
workspaceId: "workspace-1",
|
||||
slug: "getting-started",
|
||||
title: "Getting Started with Mosaic Stack",
|
||||
content: "# Getting Started\n\nWelcome to Mosaic Stack...",
|
||||
contentHtml: "<h1>Getting Started</h1><p>Welcome to Mosaic Stack...</p>",
|
||||
summary: "A comprehensive guide to getting started with the Mosaic Stack platform.",
|
||||
status: EntryStatus.PUBLISHED,
|
||||
visibility: Visibility.PUBLIC,
|
||||
createdBy: "user-1",
|
||||
updatedBy: "user-1",
|
||||
createdAt: new Date("2026-01-20"),
|
||||
updatedAt: new Date("2026-01-28"),
|
||||
tags: [
|
||||
{
|
||||
id: "tag-1",
|
||||
workspaceId: "workspace-1",
|
||||
name: "Tutorial",
|
||||
slug: "tutorial",
|
||||
color: "#3B82F6",
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date(),
|
||||
},
|
||||
{
|
||||
id: "tag-2",
|
||||
workspaceId: "workspace-1",
|
||||
name: "Onboarding",
|
||||
slug: "onboarding",
|
||||
color: "#10B981",
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date(),
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
id: "entry-2",
|
||||
workspaceId: "workspace-1",
|
||||
slug: "architecture-overview",
|
||||
title: "Architecture Overview",
|
||||
content: "# Architecture\n\nThe Mosaic Stack architecture...",
|
||||
contentHtml: "<h1>Architecture</h1><p>The Mosaic Stack architecture...</p>",
|
||||
summary: "Overview of the system architecture and design patterns used in Mosaic Stack.",
|
||||
status: EntryStatus.PUBLISHED,
|
||||
visibility: Visibility.WORKSPACE,
|
||||
createdBy: "user-1",
|
||||
updatedBy: "user-1",
|
||||
createdAt: new Date("2026-01-15"),
|
||||
updatedAt: new Date("2026-01-27"),
|
||||
tags: [
|
||||
{
|
||||
id: "tag-3",
|
||||
workspaceId: "workspace-1",
|
||||
name: "Architecture",
|
||||
slug: "architecture",
|
||||
color: "#8B5CF6",
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date(),
|
||||
},
|
||||
{
|
||||
id: "tag-4",
|
||||
workspaceId: "workspace-1",
|
||||
name: "Technical",
|
||||
slug: "technical",
|
||||
color: "#F59E0B",
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date(),
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
id: "entry-3",
|
||||
workspaceId: "workspace-1",
|
||||
slug: "api-documentation-draft",
|
||||
title: "API Documentation (Draft)",
|
||||
content: "# API Docs\n\nWork in progress...",
|
||||
contentHtml: "<h1>API Docs</h1><p>Work in progress...</p>",
|
||||
summary: "Comprehensive API documentation for developers.",
|
||||
status: EntryStatus.DRAFT,
|
||||
visibility: Visibility.PRIVATE,
|
||||
createdBy: "user-1",
|
||||
updatedBy: "user-1",
|
||||
createdAt: new Date("2026-01-29"),
|
||||
updatedAt: new Date("2026-01-29"),
|
||||
tags: [
|
||||
{
|
||||
id: "tag-4",
|
||||
workspaceId: "workspace-1",
|
||||
name: "Technical",
|
||||
slug: "technical",
|
||||
color: "#F59E0B",
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date(),
|
||||
},
|
||||
{
|
||||
id: "tag-5",
|
||||
workspaceId: "workspace-1",
|
||||
name: "API",
|
||||
slug: "api",
|
||||
color: "#EF4444",
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date(),
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
id: "entry-4",
|
||||
workspaceId: "workspace-1",
|
||||
slug: "deployment-guide",
|
||||
title: "Deployment Guide",
|
||||
content: "# Deployment\n\nHow to deploy Mosaic Stack...",
|
||||
contentHtml: "<h1>Deployment</h1><p>How to deploy Mosaic Stack...</p>",
|
||||
summary: "Step-by-step guide for deploying Mosaic Stack to production.",
|
||||
status: EntryStatus.PUBLISHED,
|
||||
visibility: Visibility.WORKSPACE,
|
||||
createdBy: "user-1",
|
||||
updatedBy: "user-1",
|
||||
createdAt: new Date("2026-01-18"),
|
||||
updatedAt: new Date("2026-01-25"),
|
||||
tags: [
|
||||
{
|
||||
id: "tag-6",
|
||||
workspaceId: "workspace-1",
|
||||
name: "DevOps",
|
||||
slug: "devops",
|
||||
color: "#14B8A6",
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date(),
|
||||
},
|
||||
{
|
||||
id: "tag-1",
|
||||
workspaceId: "workspace-1",
|
||||
name: "Tutorial",
|
||||
slug: "tutorial",
|
||||
color: "#3B82F6",
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date(),
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
id: "entry-5",
|
||||
workspaceId: "workspace-1",
|
||||
slug: "old-meeting-notes",
|
||||
title: "Q4 2025 Meeting Notes",
|
||||
content: "# Meeting Notes\n\nOld archived notes...",
|
||||
contentHtml: "<h1>Meeting Notes</h1><p>Old archived notes...</p>",
|
||||
summary: "Meeting notes from Q4 2025 - archived for reference.",
|
||||
status: EntryStatus.ARCHIVED,
|
||||
visibility: Visibility.PRIVATE,
|
||||
createdBy: "user-1",
|
||||
updatedBy: "user-1",
|
||||
createdAt: new Date("2025-12-15"),
|
||||
updatedAt: new Date("2026-01-05"),
|
||||
tags: [
|
||||
{
|
||||
id: "tag-7",
|
||||
workspaceId: "workspace-1",
|
||||
name: "Meetings",
|
||||
slug: "meetings",
|
||||
color: "#6B7280",
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date(),
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
export const mockTags: KnowledgeTag[] = [
|
||||
{
|
||||
id: "tag-1",
|
||||
workspaceId: "workspace-1",
|
||||
name: "Tutorial",
|
||||
slug: "tutorial",
|
||||
color: "#3B82F6",
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date(),
|
||||
},
|
||||
{
|
||||
id: "tag-2",
|
||||
workspaceId: "workspace-1",
|
||||
name: "Onboarding",
|
||||
slug: "onboarding",
|
||||
color: "#10B981",
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date(),
|
||||
},
|
||||
{
|
||||
id: "tag-3",
|
||||
workspaceId: "workspace-1",
|
||||
name: "Architecture",
|
||||
slug: "architecture",
|
||||
color: "#8B5CF6",
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date(),
|
||||
},
|
||||
{
|
||||
id: "tag-4",
|
||||
workspaceId: "workspace-1",
|
||||
name: "Technical",
|
||||
slug: "technical",
|
||||
color: "#F59E0B",
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date(),
|
||||
},
|
||||
{
|
||||
id: "tag-5",
|
||||
workspaceId: "workspace-1",
|
||||
name: "API",
|
||||
slug: "api",
|
||||
color: "#EF4444",
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date(),
|
||||
},
|
||||
{
|
||||
id: "tag-6",
|
||||
workspaceId: "workspace-1",
|
||||
name: "DevOps",
|
||||
slug: "devops",
|
||||
color: "#14B8A6",
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date(),
|
||||
},
|
||||
{
|
||||
id: "tag-7",
|
||||
workspaceId: "workspace-1",
|
||||
name: "Meetings",
|
||||
slug: "meetings",
|
||||
color: "#6B7280",
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date(),
|
||||
},
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user