diff --git a/packages/server/src/utils/hub.ts b/packages/server/src/utils/hub.ts
index 38e8a6c0..9a324228 100644
--- a/packages/server/src/utils/hub.ts
+++ b/packages/server/src/utils/hub.ts
@@ -28,6 +28,7 @@ export function parsePrompt(prompt: string): any[] {
let template = promptObj.kwargs.template
response.push({
type: 'template',
+ typeDisplay: 'Prompt',
template: template
})
}
diff --git a/packages/ui/src/ui-component/dialog/PromptLangsmithHubDialog.js b/packages/ui/src/ui-component/dialog/PromptLangsmithHubDialog.js
index e425dada..35f1f754 100644
--- a/packages/ui/src/ui-component/dialog/PromptLangsmithHubDialog.js
+++ b/packages/ui/src/ui-component/dialog/PromptLangsmithHubDialog.js
@@ -6,7 +6,6 @@ import {
Button,
Card,
CardContent,
- Chip,
Dialog,
DialogActions,
DialogContent,
@@ -30,6 +29,46 @@ import ReactMarkdown from 'react-markdown'
import CredentialInputHandler from '../../views/canvas/CredentialInputHandler'
import promptApi from '../../api/prompt'
import { StyledButton } from '../button/StyledButton'
+import ExpandMoreIcon from '@mui/icons-material/ExpandMore'
+import { styled } from '@mui/material/styles'
+import ArrowForwardIosSharpIcon from '@mui/icons-material/ArrowForwardIosSharp'
+import MuiAccordion from '@mui/material/Accordion'
+import MuiAccordionSummary from '@mui/material/AccordionSummary'
+import MuiAccordionDetails from '@mui/material/AccordionDetails'
+
+const NewLineToBr = ({ children = '' }) => {
+ return children.split('\n').reduce(function (arr, line) {
+ return arr.concat(line,
)
+ }, [])
+}
+
+const Accordion = styled((props) => )(({ theme }) => ({
+ border: `1px solid ${theme.palette.divider}`,
+ '&:not(:last-child)': {
+ borderBottom: 0
+ },
+ '&:before': {
+ display: 'none'
+ }
+}))
+
+const AccordionSummary = styled((props) => (
+ } {...props} />
+))(({ theme }) => ({
+ backgroundColor: theme.palette.mode === 'dark' ? 'rgba(255, 255, 255, .05)' : 'rgba(0, 0, 0, .03)',
+ flexDirection: 'row-reverse',
+ '& .MuiAccordionSummary-expandIconWrapper.Mui-expanded': {
+ transform: 'rotate(180deg)'
+ },
+ '& .MuiAccordionSummary-content': {
+ marginLeft: theme.spacing(1)
+ }
+}))
+
+const AccordionDetails = styled(MuiAccordionDetails)(({ theme }) => ({
+ padding: theme.spacing(2),
+ borderTop: '1px solid rgba(0, 0, 0, .125)'
+}))
const PromptLangsmithHubDialog = ({ promptType, show, onCancel, onSubmit }) => {
const portalElement = document.getElementById('portal')
@@ -102,6 +141,11 @@ const PromptLangsmithHubDialog = ({ promptType, show, onCancel, onSubmit }) => {
const [selectedPrompt, setSelectedPrompt] = useState({})
const [credentialId, setCredentialId] = useState('')
+ const [accordionExpanded, setAccordionExpanded] = useState('panel2')
+
+ const handleAccordionChange = (panel) => {
+ setAccordionExpanded(panel)
+ }
const handleListItemClick = async (event, index) => {
const prompt = availablePrompNameList[index]
@@ -178,7 +222,7 @@ const PromptLangsmithHubDialog = ({ promptType, show, onCancel, onSubmit }) => {
onClose={onCancel}
open={show}
fullWidth
- maxWidth='md'
+ maxWidth='lg'
aria-labelledby='prompt-dialog-title'
aria-describedby='prompt-dialog-description'
>
@@ -314,10 +358,10 @@ const PromptLangsmithHubDialog = ({ promptType, show, onCancel, onSubmit }) => {
-
+
-
+
Available Prompts
@@ -339,45 +383,70 @@ const PromptLangsmithHubDialog = ({ promptType, show, onCancel, onSubmit }) => {
-
-
-
- Description
-
-
- {selectedPrompt?.description}
-
- {selectedPrompt?.tags?.map((item) => (
-
- ))}
-
-
-
-
-
-
- Readme
-
-
- {selectedPrompt?.readme}
-
-
-
-
-
- {selectedPrompt?.detailed?.map((item) => (
- <>
-
- {item.typeDisplay.toUpperCase()}
+
+
+ handleAccordionChange('panel1')}>
+ }
+ id='panel1d-header'
+ >
+ Description
+
+
+
+ {selectedPrompt?.description}
-
- {item.template}
+
+
+ handleAccordionChange('panel2')}>
+ }
+ id='panel2d-header'
+ >
+ Prompt
+
+
+
+ {selectedPrompt?.detailed?.map((item) => (
+ <>
+
+ {item.typeDisplay.toUpperCase()}
+
+
+
+ {item.template}
+
+
+ >
+ ))}
- >
- ))}
+
+
+ handleAccordionChange('panel3')}>
+ }
+ aria-controls='panel3d-content'
+ id='panel3d-header'
+ >
+ Readme
+
+
+
+ {selectedPrompt?.readme}
+
+
+