@@ -223,10 +236,27 @@ export function AICourseRoadmapView(props: AICourseRoadmapViewProps) {
)}
- {error && !isGenerating && (
+ {!isLoggedIn() && (
+
-
+
{error || 'Something went wrong'}
diff --git a/src/components/GenerateCourse/GenerateAICourse.tsx b/src/components/GenerateCourse/GenerateAICourse.tsx
index 8b901ad94..092cc0964 100644
--- a/src/components/GenerateCourse/GenerateAICourse.tsx
+++ b/src/components/GenerateCourse/GenerateAICourse.tsx
@@ -7,6 +7,7 @@ import { generateCourse } from '../../helper/generate-ai-course';
import { useQuery } from '@tanstack/react-query';
import { getAiCourseOptions } from '../../queries/ai-course';
import { queryClient } from '../../stores/query-client';
+import { useAuth } from '../../hooks/use-auth';
type GenerateAICourseProps = {};
@@ -20,6 +21,7 @@ export function GenerateAICourse(props: GenerateAICourseProps) {
const [isLoading, setIsLoading] = useState(true);
const [error, setError] = useState('');
+ const currentUser = useAuth();
const [courseId, setCourseId] = useState('');
const [courseSlug, setCourseSlug] = useState('');
@@ -150,6 +152,7 @@ export function GenerateAICourse(props: GenerateAICourseProps) {
return (
{
- if (!isLoggedIn()) {
- window.location.href = '/ai';
- }
- }, [isLoggedIn]);
-
useEffect(() => {
if (!aiCourse) {
return;
diff --git a/src/components/GenerateCourse/RegenerateLesson.tsx b/src/components/GenerateCourse/RegenerateLesson.tsx
index 507d106b9..5bd468f51 100644
--- a/src/components/GenerateCourse/RegenerateLesson.tsx
+++ b/src/components/GenerateCourse/RegenerateLesson.tsx
@@ -4,6 +4,8 @@ import { useOutsideClick } from '../../hooks/use-outside-click';
import { cn } from '../../lib/classname';
import { UpgradeAccountModal } from '../Billing/UpgradeAccountModal';
import { ModifyCoursePrompt } from './ModifyCoursePrompt';
+import { isLoggedIn } from '../../lib/jwt';
+import { showLoginPopup } from '../../lib/popup';
type RegenerateLessonProps = {
onRegenerateLesson: (prompt?: string) => void;
@@ -39,6 +41,11 @@ export function RegenerateLesson(props: RegenerateLessonProps) {
onClose={() => setShowPromptModal(false)}
onSubmit={(prompt) => {
setShowPromptModal(false);
+ if (!isLoggedIn()) {
+ showLoginPopup();
+ return;
+ }
+
if (isForkable) {
onForkCourse();
return;
@@ -49,7 +56,7 @@ export function RegenerateLesson(props: RegenerateLessonProps) {
/>
)}
-
+