| 2 | |
| 3 | // ── Types ───────────────────────────────────────────────────────────── |
| 4 | export interface ProjectSummary { |
| 5 | _id: string; |
| 6 | type?: 'app' | 'skill'; |
| 7 | slug: string; |
| 8 | name: string; |
| 9 | tagline: string; |
| 10 | logoUrl: string; |
| 11 | bannerUrl?: string | null; |
| 12 | category: string; |
| 13 | tags: string[]; |
| 14 | accentColor: string; |
| 15 | featured: boolean; |
| 16 | stats: { totalUsers: number; totalCompletions: number; activeQuests: number }; |
| 17 | appUrl?: string | null; |
| 18 | websiteUrl?: string | null; |
| 19 | pricing?: { model: string; priceUCT: number | null }; |
| 20 | } |
| 21 | |
| 22 | export interface PaginatedProjects { |
| 23 | projects: ProjectSummary[]; |
nothing calls this directly
no outgoing calls
no test coverage detected