From 961d398b8d35383e6637399963019ced7b52d64d Mon Sep 17 00:00:00 2001 From: Arik Chakma Date: Sun, 28 Apr 2024 03:47:09 +0600 Subject: [PATCH] feat: add ai roadmap slug (#5529) * Update * Add stats and health endpoints * Add pre-render * fix: redirect to the error page * Fix generate-renderer issue * Rename * Fix best practice topics not loading * Handle SSR for static pages * Refactor faqs * Refactor best practices * Fix absolute import * Fix stats * Add custom roadmap page * Minor UI change * feat: custom roadmap slug routes (#4987) * feat: replace roadmap slug * fix: remove roadmap slug * feat: username route * fix: user public page * feat: show roadmap progress * feat: update public profile * fix: replace with toast * feat: user public profile page * feat: implement profile form * feat: implement user profile roadmap page * refactor: remove logs * fix: increase progress gap * fix: remove title margin * fix: breakpoint for roadmaps * Update dependencies * Upgrade dependencies * fix: improper avatars * fix: heatmap focus * wip: remove `getStaticPaths` * fix: add disable props * wip * feat: add email icon * fix: update pnpm lock * fix: implement author page * Fix beginner roadmaps not working * Changes to form * Refactor profile and form * Refactor public profile form * Rearrange sidebar items * Update UI for public form * Minor text update * Refactor public profile form * Error page for user * Revamp UI for profile page * Add public profile page * Fix vite warnings * Add private profile banner * feat: on blur check username * Update fetch depth * Add error detail * Use hybrid mode of rendering * Do not pre-render stats pages * Update deployment workflow * Update deployment workflow * wip * wip * wip * feat: add slug navigation * feat: add ai roadmap slug * feat: add explore page slug --------- Co-authored-by: Kamran Ahmed --- src/api/ai-roadmap.ts | 20 ++++ .../ExploreAIRoadmap/AIRoadmapsList.tsx | 3 +- .../ExploreAIRoadmap/ExploreAIRoadmap.tsx | 1 + .../GenerateRoadmap/GenerateRoadmap.tsx | 92 ++++++++++++++++--- .../GenerateRoadmap/RoadmapTopicDetail.tsx | 29 +++--- src/pages/ai/[aiRoadmapSlug].astro | 34 +++++++ 6 files changed, 148 insertions(+), 31 deletions(-) create mode 100644 src/api/ai-roadmap.ts create mode 100644 src/pages/ai/[aiRoadmapSlug].astro diff --git a/src/api/ai-roadmap.ts b/src/api/ai-roadmap.ts new file mode 100644 index 000000000..944b120ed --- /dev/null +++ b/src/api/ai-roadmap.ts @@ -0,0 +1,20 @@ +import { type APIContext } from 'astro'; +import { api } from './api.ts'; + +export type GetAIRoadmapBySlugResponse = { + id: string; + term: string; + title: string; + data: string; + isAuthenticatedUser: boolean; +}; + +export function aiRoadmapApi(context: APIContext) { + return { + getAIRoadmapBySlug: async function (roadmapSlug: string) { + return api(context).get( + `${import.meta.env.PUBLIC_API_URL}/v1-get-ai-roadmap-by-slug/${roadmapSlug}`, + ); + }, + }; +} diff --git a/src/components/ExploreAIRoadmap/AIRoadmapsList.tsx b/src/components/ExploreAIRoadmap/AIRoadmapsList.tsx index 9f65ff18b..7129410e6 100644 --- a/src/components/ExploreAIRoadmap/AIRoadmapsList.tsx +++ b/src/components/ExploreAIRoadmap/AIRoadmapsList.tsx @@ -26,7 +26,8 @@ export function AIRoadmapsList(props: AIRoadmapsListProps) { return (