🖲️ fix: Convert Create and Edit Prompt Buttons to Links (#11056)

This commit is contained in:
Dustin Healy 2025-12-25 09:16:02 -08:00 committed by GitHub
parent 439bc98682
commit d7ff507ff4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 15 additions and 17 deletions

View file

@ -1,4 +1,5 @@
import { useState, useMemo, memo, useRef } from 'react';
import { Link } from 'react-router-dom';
import { PermissionBits, ResourceType } from 'librechat-data-provider';
import { Menu as MenuIcon, Edit as EditIcon, EarthIcon, TextSearch } from 'lucide-react';
import {
@ -9,7 +10,7 @@ import {
DropdownMenuTrigger,
} from '@librechat/client';
import type { TPromptGroup } from 'librechat-data-provider';
import { useLocalize, useSubmitMessage, useCustomLink, useResourcePermissions } from '~/hooks';
import { useLocalize, useSubmitMessage, useResourcePermissions } from '~/hooks';
import VariableDialog from '~/components/Prompts/Groups/VariableDialog';
import PreviewPrompt from '~/components/Prompts/PreviewPrompt';
import ListCard from '~/components/Prompts/Groups/ListCard';
@ -26,7 +27,6 @@ function ChatGroupItem({
const { submitPrompt } = useSubmitMessage();
const [isPreviewDialogOpen, setPreviewDialogOpen] = useState(false);
const [isVariableDialogOpen, setVariableDialogOpen] = useState(false);
const onEditClick = useCustomLink<HTMLDivElement>(`/d/prompts/${group._id}`);
const groupIsGlobal = useMemo(
() => instanceProjectId != null && group.projectIds?.includes(instanceProjectId),
@ -120,16 +120,12 @@ function ChatGroupItem({
<DropdownMenuItem
disabled={!canEdit}
className="cursor-pointer rounded-lg text-text-primary hover:bg-surface-hover focus:bg-surface-hover disabled:cursor-not-allowed"
onClick={(e) => {
e.stopPropagation();
onEditClick(e);
}}
onKeyDown={(e) => {
e.stopPropagation();
}}
asChild
>
<EditIcon className="mr-2 h-4 w-4 text-text-primary" aria-hidden="true" />
<span>{localize('com_ui_edit')}</span>
<Link to={`/d/prompts/${group._id}`}>
<EditIcon className="mr-2 h-4 w-4 text-text-primary" aria-hidden="true" />
<span>{localize('com_ui_edit')}</span>
</Link>
</DropdownMenuItem>
</DropdownMenuGroup>
)}

View file

@ -1,5 +1,5 @@
import { Plus } from 'lucide-react';
import { useNavigate } from 'react-router-dom';
import { Link } from 'react-router-dom';
import { Button, Skeleton } from '@librechat/client';
import { PermissionTypes, Permissions } from 'librechat-data-provider';
import type { TPromptGroup, TStartupConfig } from 'librechat-data-provider';
@ -7,6 +7,7 @@ import DashGroupItem from '~/components/Prompts/Groups/DashGroupItem';
import ChatGroupItem from '~/components/Prompts/Groups/ChatGroupItem';
import { useGetStartupConfig } from '~/data-provider';
import { useLocalize, useHasAccess } from '~/hooks';
import { cn } from '~/utils';
export default function List({
groups = [],
@ -17,7 +18,6 @@ export default function List({
isChatRoute: boolean;
isLoading: boolean;
}) {
const navigate = useNavigate();
const localize = useLocalize();
const { data: startupConfig = {} as Partial<TStartupConfig> } = useGetStartupConfig();
const { instanceProjectId } = startupConfig;
@ -31,13 +31,15 @@ export default function List({
{hasCreateAccess && (
<div className="flex w-full justify-end">
<Button
asChild
variant="outline"
className={`w-full bg-transparent ${isChatRoute ? '' : 'mx-2'}`}
onClick={() => navigate('/d/prompts/new')}
className={cn('w-full bg-transparent', !isChatRoute && 'mx-2')}
aria-label={localize('com_ui_create_prompt')}
>
<Plus className="size-4" aria-hidden="true" />
{localize('com_ui_create_prompt')}
<Link to="/d/prompts/new">
<Plus className="size-4" aria-hidden="true" />
{localize('com_ui_create_prompt')}
</Link>
</Button>
</div>
)}