From ff03915dac2f1d74da4b0cec2e25434116e8089b Mon Sep 17 00:00:00 2001 From: Jennifer Chen Date: Mon, 22 Dec 2025 12:37:23 -0800 Subject: [PATCH 1/4] update the quick citation copy dropdown with most used formats --- src/api/export/types.ts | 14 +++++++++ .../AbstractDetails/AbstractCitationModal.tsx | 30 +++++++++++++++---- 2 files changed, 38 insertions(+), 6 deletions(-) diff --git a/src/api/export/types.ts b/src/api/export/types.ts index 0480dcf37..2859d6844 100644 --- a/src/api/export/types.ts +++ b/src/api/export/types.ts @@ -30,6 +30,20 @@ export enum ExportApiFormatKey { votable = 'votable', } +export const MostUsedExportFormats = [ + ExportApiFormatKey.bibtex, + ExportApiFormatKey.agu, + ExportApiFormatKey.ris, + ExportApiFormatKey.aastex, + ExportApiFormatKey.endnote, + ExportApiFormatKey.ieee, + ExportApiFormatKey.mnras, + ExportApiFormatKey.icarus, + ExportApiFormatKey.soph, + ExportApiFormatKey.procite, + ExportApiFormatKey.refworks, +]; + export enum ExportApiErrorKey { NO_RESULT = 'no result from solr', QUERY_ISSUE = 'unable to query solr', diff --git a/src/components/AbstractDetails/AbstractCitationModal.tsx b/src/components/AbstractDetails/AbstractCitationModal.tsx index ca03e40bd..2f9239023 100644 --- a/src/components/AbstractDetails/AbstractCitationModal.tsx +++ b/src/components/AbstractDetails/AbstractCitationModal.tsx @@ -1,5 +1,5 @@ import { useGetExportCitation } from '@/api/export/export'; -import { ExportApiFormatKey } from '@/api/export/types'; +import { ExportApiFormatKey, MostUsedExportFormats } from '@/api/export/types'; import { useExportFormats } from '@/lib/useExportFormats'; import { useSettings } from '@/lib/useSettings'; import { parseAPIError } from '@/utils/common/parseAPIError'; @@ -16,11 +16,13 @@ import { AlertTitle, AlertDescription, Flex, + Textarea, } from '@chakra-ui/react'; import { useState } from 'react'; import { SimpleCopyButton } from '../CopyButton'; import { LoadingMessage } from '../Feedbacks'; import { Select } from '../Select'; +import { SimpleLink } from '../SimpleLink'; export const AbstractCitationModal = ({ isOpen, @@ -35,7 +37,7 @@ export const AbstractCitationModal = ({ const { formatOptions, getFormatOptionById } = useExportFormats(); - const options = formatOptions.filter((o) => o.type === 'HTML'); + const options = formatOptions.filter((o) => o.type === 'HTML' || MostUsedExportFormats.includes(o.id)); const defaultOption = settings.defaultCitationFormat ? getFormatOptionById(settings.defaultCitationFormat) @@ -68,6 +70,11 @@ export const AbstractCitationModal = ({ onChange={(o) => setSelectedOption(o)} stylesTheme="default.sm" /> + + + Advanced options + + {isLoading ? ( @@ -79,10 +86,21 @@ export const AbstractCitationModal = ({ ) : ( <> - - - - + {selectedOption.type === 'HTML' ? ( + <> + + + + + + ) : ( + <> +