mirror of
https://github.com/kamranahmedse/developer-roadmap.git
synced 2025-09-03 06:12:53 +02:00
chore: remove old ai pages
This commit is contained in:
@@ -1,26 +0,0 @@
|
|||||||
---
|
|
||||||
import { GetAICourse } from '../../components/GenerateCourse/GetAICourse';
|
|
||||||
import SkeletonLayout from '../../layouts/SkeletonLayout.astro';
|
|
||||||
import { CheckSubscriptionVerification } from '../../components/Billing/CheckSubscriptionVerification';
|
|
||||||
|
|
||||||
export const prerender = false;
|
|
||||||
|
|
||||||
interface Params extends Record<string, string | undefined> {
|
|
||||||
courseSlug: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
const { courseSlug } = Astro.params as Params;
|
|
||||||
---
|
|
||||||
|
|
||||||
<SkeletonLayout
|
|
||||||
title='AI Tutor'
|
|
||||||
briefTitle='AI Tutor'
|
|
||||||
description='AI Tutor'
|
|
||||||
keywords={['ai', 'tutor', 'education', 'learning']}
|
|
||||||
canonicalUrl={`/ai/${courseSlug}`}
|
|
||||||
noIndex={true}
|
|
||||||
>
|
|
||||||
<div slot='course-announcement'></div>
|
|
||||||
<GetAICourse client:load courseSlug={courseSlug} />
|
|
||||||
<CheckSubscriptionVerification client:load />
|
|
||||||
</SkeletonLayout>
|
|
@@ -1,18 +0,0 @@
|
|||||||
---
|
|
||||||
import SkeletonLayout from '../../../layouts/SkeletonLayout.astro';
|
|
||||||
import { AIChatHistory } from '../../../components/AIChatHistory/AIChatHistory';
|
|
||||||
|
|
||||||
type Props = {
|
|
||||||
chatId: string;
|
|
||||||
};
|
|
||||||
|
|
||||||
const { chatId } = Astro.params as Props;
|
|
||||||
---
|
|
||||||
|
|
||||||
<SkeletonLayout
|
|
||||||
title='AI Chat'
|
|
||||||
noIndex={true}
|
|
||||||
description='Learn anything with AI Tutor. Pick a topic, choose a difficulty level and the AI will guide you through the learning process.'
|
|
||||||
>
|
|
||||||
<AIChatHistory client:load chatHistoryId={chatId} />
|
|
||||||
</SkeletonLayout>
|
|
@@ -1,13 +0,0 @@
|
|||||||
---
|
|
||||||
import SkeletonLayout from '../../../layouts/SkeletonLayout.astro';
|
|
||||||
import { AIChatLayout } from '../../../components/AIChatHistory/AIChatLayout';
|
|
||||||
import { AIChatHistory } from '../../../components/AIChatHistory/AIChatHistory';
|
|
||||||
---
|
|
||||||
|
|
||||||
<SkeletonLayout
|
|
||||||
title='AI Chat'
|
|
||||||
noIndex={true}
|
|
||||||
description='Learn anything with AI Tutor. Pick a topic, choose a difficulty level and the AI will guide you through the learning process.'
|
|
||||||
>
|
|
||||||
<AIChatHistory client:load />
|
|
||||||
</SkeletonLayout>
|
|
@@ -1,19 +0,0 @@
|
|||||||
---
|
|
||||||
import { AIExploreCourseListing } from '../../components/AITutor/AIExploreCourseListing';
|
|
||||||
import SkeletonLayout from '../../layouts/SkeletonLayout.astro';
|
|
||||||
import { AITutorLayout } from '../../components/AITutor/AITutorLayout';
|
|
||||||
const ogImage = 'https://roadmap.sh/og-images/ai-tutor.png';
|
|
||||||
---
|
|
||||||
|
|
||||||
<SkeletonLayout
|
|
||||||
title='Roadmap AI'
|
|
||||||
noIndex={true}
|
|
||||||
ogImageUrl={ogImage}
|
|
||||||
description='Learn anything with AI Tutor. Pick a topic, choose a difficulty level and the AI will guide you through the learning process.'
|
|
||||||
>
|
|
||||||
<AITutorLayout activeTab='community' client:load>
|
|
||||||
<div class='mx-auto flex w-full max-w-6xl flex-grow flex-col p-2'>
|
|
||||||
<AIExploreCourseListing client:load />
|
|
||||||
</div>
|
|
||||||
</AITutorLayout>
|
|
||||||
</SkeletonLayout>
|
|
@@ -1,17 +0,0 @@
|
|||||||
---
|
|
||||||
import { GenerateAICourse } from '../../components/GenerateCourse/GenerateAICourse';
|
|
||||||
import SkeletonLayout from '../../layouts/SkeletonLayout.astro';
|
|
||||||
import { CheckSubscriptionVerification } from '../../components/Billing/CheckSubscriptionVerification';
|
|
||||||
---
|
|
||||||
|
|
||||||
<SkeletonLayout
|
|
||||||
title='AI Tutor'
|
|
||||||
briefTitle='AI Tutor'
|
|
||||||
description='AI Tutor'
|
|
||||||
keywords={['ai', 'tutor', 'education', 'learning']}
|
|
||||||
canonicalUrl='/ai/course'
|
|
||||||
noIndex={true}
|
|
||||||
>
|
|
||||||
<GenerateAICourse client:load />
|
|
||||||
<CheckSubscriptionVerification client:load />
|
|
||||||
</SkeletonLayout>
|
|
@@ -1,17 +0,0 @@
|
|||||||
---
|
|
||||||
import { UserCoursesList } from '../../components/GenerateCourse/UserCoursesList';
|
|
||||||
import SkeletonLayout from '../../layouts/SkeletonLayout.astro';
|
|
||||||
import { AILibraryLayout } from '../../components/AIGuide/AILibraryLayout';
|
|
||||||
const ogImage = 'https://roadmap.sh/og-images/ai-tutor.png';
|
|
||||||
---
|
|
||||||
|
|
||||||
<SkeletonLayout
|
|
||||||
title='Roadmap AI'
|
|
||||||
noIndex={true}
|
|
||||||
ogImageUrl={ogImage}
|
|
||||||
description='Learn anything with AI Tutor. Pick a topic, choose a difficulty level and the AI will guide you through the learning process.'
|
|
||||||
>
|
|
||||||
<AILibraryLayout activeTab='courses' client:load>
|
|
||||||
<UserCoursesList client:load />
|
|
||||||
</AILibraryLayout>
|
|
||||||
</SkeletonLayout>
|
|
@@ -1,22 +0,0 @@
|
|||||||
---
|
|
||||||
import { AIGuide } from '../../../components/GenerateGuide/AIGuide';
|
|
||||||
import SkeletonLayout from '../../../layouts/SkeletonLayout.astro';
|
|
||||||
|
|
||||||
export const prerender = false;
|
|
||||||
|
|
||||||
interface Params extends Record<string, string | undefined> {
|
|
||||||
slug: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
const { slug } = Astro.params as Params;
|
|
||||||
---
|
|
||||||
|
|
||||||
<SkeletonLayout
|
|
||||||
title='AI Tutor'
|
|
||||||
briefTitle='AI Tutor'
|
|
||||||
description='AI Tutor'
|
|
||||||
keywords={['ai', 'tutor', 'education', 'learning']}
|
|
||||||
canonicalUrl={`/ai/guide/${slug}`}
|
|
||||||
>
|
|
||||||
<AIGuide client:load guideSlug={slug} />
|
|
||||||
</SkeletonLayout>
|
|
@@ -1,18 +0,0 @@
|
|||||||
---
|
|
||||||
import { AITutorLayout } from '../../../components/AITutor/AITutorLayout';
|
|
||||||
import { CheckSubscriptionVerification } from '../../../components/Billing/CheckSubscriptionVerification';
|
|
||||||
import { AIGuide } from '../../../components/GenerateGuide/AIGuide';
|
|
||||||
import { GenerateAIGuide } from '../../../components/GenerateGuide/GenerateAIGuide';
|
|
||||||
import SkeletonLayout from '../../../layouts/SkeletonLayout.astro';
|
|
||||||
---
|
|
||||||
|
|
||||||
<SkeletonLayout
|
|
||||||
title='AI Tutor'
|
|
||||||
briefTitle='AI Tutor'
|
|
||||||
description='AI Tutor'
|
|
||||||
keywords={['ai', 'tutor', 'education', 'learning']}
|
|
||||||
canonicalUrl='/ai/guide'
|
|
||||||
noIndex={true}
|
|
||||||
>
|
|
||||||
<AIGuide client:load />
|
|
||||||
</SkeletonLayout>
|
|
@@ -1,17 +0,0 @@
|
|||||||
---
|
|
||||||
import { UserGuidesList } from '../../components/GenerateGuide/UserGuidesList';
|
|
||||||
import SkeletonLayout from '../../layouts/SkeletonLayout.astro';
|
|
||||||
import { AILibraryLayout } from '../../components/AIGuide/AILibraryLayout';
|
|
||||||
const ogImage = 'https://roadmap.sh/og-images/ai-tutor.png';
|
|
||||||
---
|
|
||||||
|
|
||||||
<SkeletonLayout
|
|
||||||
title='Roadmap AI'
|
|
||||||
noIndex={true}
|
|
||||||
ogImageUrl={ogImage}
|
|
||||||
description='Learn anything with AI Tutor. Pick a topic, choose a difficulty level and the AI will guide you through the learning process.'
|
|
||||||
>
|
|
||||||
<AILibraryLayout activeTab='guides' client:load>
|
|
||||||
<UserGuidesList client:load />
|
|
||||||
</AILibraryLayout>
|
|
||||||
</SkeletonLayout>
|
|
@@ -1,19 +0,0 @@
|
|||||||
---
|
|
||||||
import { CheckSubscriptionVerification } from '../../components/Billing/CheckSubscriptionVerification';
|
|
||||||
import { ContentGenerator } from '../../components/ContentGenerator/ContentGenerator';
|
|
||||||
import { AITutorLayout } from '../../components/AITutor/AITutorLayout';
|
|
||||||
import SkeletonLayout from '../../layouts/SkeletonLayout.astro';
|
|
||||||
const ogImage = 'https://roadmap.sh/og-images/ai-tutor.png';
|
|
||||||
---
|
|
||||||
|
|
||||||
<SkeletonLayout
|
|
||||||
title='Roadmap AI'
|
|
||||||
noIndex={true}
|
|
||||||
ogImageUrl={ogImage}
|
|
||||||
description='Learn anything with AI Tutor. Pick a topic, choose a difficulty level and the AI will guide you through the learning process.'
|
|
||||||
>
|
|
||||||
<AITutorLayout activeTab='new' client:load>
|
|
||||||
<ContentGenerator client:load />
|
|
||||||
<CheckSubscriptionVerification client:load />
|
|
||||||
</AITutorLayout>
|
|
||||||
</SkeletonLayout>
|
|
@@ -1,22 +0,0 @@
|
|||||||
---
|
|
||||||
import { AIQuiz } from '../../../components/AIQuiz/AIQuiz';
|
|
||||||
import SkeletonLayout from '../../../layouts/SkeletonLayout.astro';
|
|
||||||
|
|
||||||
export const prerender = false;
|
|
||||||
|
|
||||||
interface Params extends Record<string, string | undefined> {
|
|
||||||
slug: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
const { slug } = Astro.params as Params;
|
|
||||||
---
|
|
||||||
|
|
||||||
<SkeletonLayout
|
|
||||||
title='AI Tutor'
|
|
||||||
briefTitle='AI Tutor'
|
|
||||||
description='AI Tutor'
|
|
||||||
keywords={['ai', 'tutor', 'education', 'learning']}
|
|
||||||
canonicalUrl={`/ai/guide/${slug}`}
|
|
||||||
>
|
|
||||||
<AIQuiz client:load quizSlug={slug} />
|
|
||||||
</SkeletonLayout>
|
|
@@ -1,18 +0,0 @@
|
|||||||
---
|
|
||||||
import { AIQuizGenerator } from '../../../components/AIQuiz/AIQuizGenerator';
|
|
||||||
import { AITutorLayout } from '../../../components/AITutor/AITutorLayout';
|
|
||||||
import SkeletonLayout from '../../../layouts/SkeletonLayout.astro';
|
|
||||||
---
|
|
||||||
|
|
||||||
<SkeletonLayout
|
|
||||||
title='AI Quiz'
|
|
||||||
briefTitle='AI Quiz'
|
|
||||||
description='AI Quiz'
|
|
||||||
keywords={['ai', 'quiz', 'education', 'learning']}
|
|
||||||
canonicalUrl='/ai/quiz'
|
|
||||||
noIndex={true}
|
|
||||||
>
|
|
||||||
<AITutorLayout activeTab='quiz' client:load>
|
|
||||||
<AIQuizGenerator client:load />
|
|
||||||
</AITutorLayout>
|
|
||||||
</SkeletonLayout>
|
|
@@ -1,15 +0,0 @@
|
|||||||
---
|
|
||||||
import { AIQuiz } from '../../../components/AIQuiz/AIQuiz';
|
|
||||||
import SkeletonLayout from '../../../layouts/SkeletonLayout.astro';
|
|
||||||
---
|
|
||||||
|
|
||||||
<SkeletonLayout
|
|
||||||
title='AI Quiz'
|
|
||||||
briefTitle='AI Quiz'
|
|
||||||
description='AI Quiz'
|
|
||||||
keywords={['ai', 'quiz', 'education', 'learning']}
|
|
||||||
canonicalUrl='/ai/quiz'
|
|
||||||
noIndex={true}
|
|
||||||
>
|
|
||||||
<AIQuiz client:load />
|
|
||||||
</SkeletonLayout>
|
|
@@ -1,18 +0,0 @@
|
|||||||
---
|
|
||||||
import { UserQuizzesList } from '../../components/AIQuiz/UserQuizzesList';
|
|
||||||
import SkeletonLayout from '../../layouts/SkeletonLayout.astro';
|
|
||||||
import { AILibraryLayout } from '../../components/AIGuide/AILibraryLayout';
|
|
||||||
const ogImage = 'https://roadmap.sh/og-images/ai-tutor.png';
|
|
||||||
---
|
|
||||||
|
|
||||||
<SkeletonLayout
|
|
||||||
title='Quiz AI'
|
|
||||||
noIndex={true}
|
|
||||||
ogImageUrl={ogImage}
|
|
||||||
description='Learn anything with AI Tutor. Pick a topic, choose a difficulty level and the AI will guide you through the learning process.'
|
|
||||||
>
|
|
||||||
<AILibraryLayout activeTab='quizzes' client:load>
|
|
||||||
<UserQuizzesList client:load />
|
|
||||||
</AILibraryLayout>
|
|
||||||
</SkeletonLayout>
|
|
||||||
|
|
@@ -1,54 +0,0 @@
|
|||||||
---
|
|
||||||
import SkeletonLayout from '../../layouts/SkeletonLayout.astro';
|
|
||||||
import { AITutorLayout } from '../../components/AITutor/AITutorLayout';
|
|
||||||
import RoadmapChatListing from '../../components/RoadmapAIChat/RoadmapChatListing';
|
|
||||||
import {
|
|
||||||
getRoadmapIds,
|
|
||||||
getRoadmapById,
|
|
||||||
resourceTitleFromId,
|
|
||||||
} from '../../lib/roadmap';
|
|
||||||
|
|
||||||
const ids = await getRoadmapIds();
|
|
||||||
const roadmapsRaw = await Promise.all(ids.map((id) => getRoadmapById(id)));
|
|
||||||
|
|
||||||
const roadmaps = roadmapsRaw.map((rm) => {
|
|
||||||
const tags = rm.frontmatter.tags || [];
|
|
||||||
const category = tags.includes('role-roadmap')
|
|
||||||
? 'role'
|
|
||||||
: tags.includes('skill-roadmap')
|
|
||||||
? 'skill'
|
|
||||||
: 'other';
|
|
||||||
|
|
||||||
return {
|
|
||||||
id: rm.id,
|
|
||||||
title: rm.frontmatter.title || resourceTitleFromId(rm.id),
|
|
||||||
description:
|
|
||||||
rm.frontmatter.briefDescription || rm.frontmatter.description || '',
|
|
||||||
category,
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
const ogImage = 'https://roadmap.sh/og-images/ai-tutor.png';
|
|
||||||
---
|
|
||||||
|
|
||||||
<SkeletonLayout
|
|
||||||
title='Roadmap AI Chat'
|
|
||||||
noIndex={true}
|
|
||||||
ogImageUrl={ogImage}
|
|
||||||
description='Chat with AI Tutor on any roadmap. Pick a roadmap to start chatting.'
|
|
||||||
>
|
|
||||||
<AITutorLayout activeTab='roadmap-chat' client:load>
|
|
||||||
<div class='mx-auto flex w-full max-w-3xl flex-grow flex-col p-4'>
|
|
||||||
<div class='mb-6 text-left'>
|
|
||||||
<h1 class='mb-2 text-4xl font-semibold max-md:text-xl'>
|
|
||||||
Chat with a Roadmap
|
|
||||||
</h1>
|
|
||||||
<p class='text-base text-gray-600 max-md:text-sm'>
|
|
||||||
Select a roadmap and start learning with AI as a guide.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<RoadmapChatListing client:load roadmaps={roadmaps} />
|
|
||||||
</div>
|
|
||||||
</AITutorLayout>
|
|
||||||
</SkeletonLayout>
|
|
||||||
|
|
@@ -1,15 +0,0 @@
|
|||||||
---
|
|
||||||
import { AIRoadmap } from '../../../components/AIRoadmap/AIRoadmap';
|
|
||||||
import SkeletonLayout from '../../../layouts/SkeletonLayout.astro';
|
|
||||||
---
|
|
||||||
|
|
||||||
<SkeletonLayout
|
|
||||||
title='AI Tutor'
|
|
||||||
briefTitle='AI Tutor'
|
|
||||||
description='AI Tutor'
|
|
||||||
keywords={['ai', 'tutor', 'education', 'learning']}
|
|
||||||
canonicalUrl='/ai/guide'
|
|
||||||
noIndex={true}
|
|
||||||
>
|
|
||||||
<AIRoadmap client:load />
|
|
||||||
</SkeletonLayout>
|
|
@@ -1,17 +0,0 @@
|
|||||||
---
|
|
||||||
import { UserRoadmapsList } from '../../components/AIRoadmap/UserRoadmapsList';
|
|
||||||
import SkeletonLayout from '../../layouts/SkeletonLayout.astro';
|
|
||||||
import { AILibraryLayout } from '../../components/AIGuide/AILibraryLayout';
|
|
||||||
const ogImage = 'https://roadmap.sh/og-images/ai-tutor.png';
|
|
||||||
---
|
|
||||||
|
|
||||||
<SkeletonLayout
|
|
||||||
title='Roadmap AI'
|
|
||||||
noIndex={true}
|
|
||||||
ogImageUrl={ogImage}
|
|
||||||
description='Learn anything with AI Tutor. Pick a topic, choose a difficulty level and the AI will guide you through the learning process.'
|
|
||||||
>
|
|
||||||
<AILibraryLayout activeTab='roadmaps' client:load>
|
|
||||||
<UserRoadmapsList client:load />
|
|
||||||
</AILibraryLayout>
|
|
||||||
</SkeletonLayout>
|
|
@@ -1,19 +0,0 @@
|
|||||||
---
|
|
||||||
import { AIFeaturedCoursesListing } from '../../components/AITutor/AIFeaturedCoursesListing';
|
|
||||||
import SkeletonLayout from '../../layouts/SkeletonLayout.astro';
|
|
||||||
import { AITutorLayout } from '../../components/AITutor/AITutorLayout';
|
|
||||||
const ogImage = 'https://roadmap.sh/og-images/ai-tutor.png';
|
|
||||||
---
|
|
||||||
|
|
||||||
<SkeletonLayout
|
|
||||||
title='Roadmap AI'
|
|
||||||
noIndex={true}
|
|
||||||
ogImageUrl={ogImage}
|
|
||||||
description='Learn anything with AI Tutor. Pick a topic, choose a difficulty level and the AI will guide you through the learning process.'
|
|
||||||
>
|
|
||||||
<AITutorLayout activeTab='staff-picks' client:load>
|
|
||||||
<div class='mx-auto flex w-full max-w-6xl flex-grow flex-col p-2'>
|
|
||||||
<AIFeaturedCoursesListing client:load />
|
|
||||||
</div>
|
|
||||||
</AITutorLayout>
|
|
||||||
</SkeletonLayout>
|
|
Reference in New Issue
Block a user