1
0
mirror of https://github.com/kamranahmedse/developer-roadmap.git synced 2025-09-09 00:30:40 +02:00

fix: show preferences option only when questions exist

This commit is contained in:
Arik Chakma
2025-06-25 03:30:41 +06:00
parent 762ec5c93c
commit 10e7ec386c
3 changed files with 57 additions and 36 deletions

View File

@@ -132,6 +132,9 @@ export function AIRoadmapRegenerate(props: AIRoadmapRegenerateProps) {
queryClient,
);
const showUpdatePreferences =
aiRoadmap?.questionAndAnswers && aiRoadmap.questionAndAnswers.length > 0;
return (
<>
{showUpgradeModal && (
@@ -177,14 +180,17 @@ export function AIRoadmapRegenerate(props: AIRoadmapRegenerateProps) {
</button>
{isDropdownVisible && (
<div className="absolute top-full right-0 min-w-[190px] translate-y-1 overflow-hidden rounded-md border border-gray-200 bg-white shadow-md">
<ActionButton
onClick={() => {
setIsDropdownVisible(false);
setShowUpdatePreferencesModal(true);
}}
icon={SettingsIcon}
label="Update Preferences"
/>
{showUpdatePreferences && (
<ActionButton
onClick={() => {
setIsDropdownVisible(false);
setShowUpdatePreferencesModal(true);
}}
icon={SettingsIcon}
label="Update Preferences"
/>
)}
<ActionButton
onClick={() => {
setIsDropdownVisible(false);

View File

@@ -65,6 +65,9 @@ export function RegenerateOutline(props: RegenerateOutlineProps) {
queryClient,
);
const showUpdatePreferences =
aiCourse?.questionAndAnswers && aiCourse.questionAndAnswers.length > 0;
return (
<>
{showUpgradeModal && (
@@ -113,21 +116,27 @@ export function RegenerateOutline(props: RegenerateOutlineProps) {
</button>
{isDropdownVisible && (
<div className="absolute top-full right-0 min-w-[190px] translate-y-1 overflow-hidden rounded-md border border-gray-200 bg-white shadow-md">
<button
onClick={() => {
setIsDropdownVisible(false);
setShowUpdatePreferencesModal(true);
}}
className="flex w-full items-center gap-2.5 px-3 py-2 text-left text-sm text-gray-600 hover:bg-gray-100"
>
<Settings2Icon
size={16}
className="text-gray-400"
strokeWidth={2.5}
/>
Preferences
</button>
{showUpdatePreferences && (
<button
onClick={() => {
setIsDropdownVisible(false);
if (isForkable) {
onForkCourse();
return;
}
setShowUpdatePreferencesModal(true);
}}
className="flex w-full items-center gap-2.5 px-3 py-2 text-left text-sm text-gray-600 hover:bg-gray-100"
>
<Settings2Icon
size={16}
className="text-gray-400"
strokeWidth={2.5}
/>
Preferences
</button>
)}
<button
onClick={() => {
setIsDropdownVisible(false);

View File

@@ -60,6 +60,9 @@ export function AIGuideRegenerate(props: AIGuideRegenerateProps) {
queryClient,
);
const showUpdatePreferences =
aiGuide?.questionAndAnswers && aiGuide.questionAndAnswers.length > 0;
return (
<>
{showUpgradeModal && (
@@ -105,20 +108,23 @@ export function AIGuideRegenerate(props: AIGuideRegenerateProps) {
</button>
{isDropdownVisible && (
<div className="absolute top-full right-0 min-w-[190px] translate-y-1 overflow-hidden rounded-md border border-gray-200 bg-white shadow-md">
<button
onClick={() => {
setIsDropdownVisible(false);
setShowUpdatePreferencesModal(true);
}}
className="flex w-full items-center gap-2.5 px-3 py-2 text-left text-sm text-gray-600 hover:bg-gray-100"
>
<SettingsIcon
size={16}
className="text-gray-400"
strokeWidth={2.5}
/>
Update Preferences
</button>
{showUpdatePreferences && (
<button
onClick={() => {
setIsDropdownVisible(false);
setShowUpdatePreferencesModal(true);
}}
className="flex w-full items-center gap-2.5 px-3 py-2 text-left text-sm text-gray-600 hover:bg-gray-100"
>
<SettingsIcon
size={16}
className="text-gray-400"
strokeWidth={2.5}
/>
Update Preferences
</button>
)}
<button
onClick={() => {
setIsDropdownVisible(false);