Merge pull request 'Corregir que se duplica el campo #90' (#92) from issue/90-corregir-que-se-duplica-el-campo into main
Reviewed-on: #92
This commit was merged in pull request #92.
This commit is contained in:
@@ -107,12 +107,11 @@ function RouteComponent() {
|
|||||||
f.value === state.campo_edit.label || f.key === state.campo_edit.clave,
|
f.value === state.campo_edit.label || f.key === state.campo_edit.clave,
|
||||||
)
|
)
|
||||||
|
|
||||||
if (field && !selectedFields.some((sf) => sf.key === field.key)) {
|
if (!field) return
|
||||||
setSelectedFields([field])
|
|
||||||
}
|
|
||||||
|
|
||||||
|
setSelectedFields([field])
|
||||||
setInput((prev) =>
|
setInput((prev) =>
|
||||||
injectFieldsIntoInput(prev || 'Mejora este campo:', field ? [field] : []),
|
injectFieldsIntoInput(prev || 'Mejora este campo:', [field]),
|
||||||
)
|
)
|
||||||
}, [availableFields])
|
}, [availableFields])
|
||||||
|
|
||||||
@@ -131,21 +130,21 @@ function RouteComponent() {
|
|||||||
input: string,
|
input: string,
|
||||||
fields: Array<SelectedField>,
|
fields: Array<SelectedField>,
|
||||||
) => {
|
) => {
|
||||||
const baseText = input.replace(/\[[^\]]+]/g, '').trim()
|
// Quita cualquier bloque previo de campos
|
||||||
|
const cleaned = input.replace(/\n?\[Campos:[^\]]*]/g, '').trim()
|
||||||
|
|
||||||
const tags = fields.map((f) => `${f.label}`).join(' ')
|
if (fields.length === 0) return cleaned
|
||||||
|
|
||||||
return `${baseText} ${tags}`.trim()
|
const fieldLabels = fields.map((f) => f.label).join(', ')
|
||||||
|
|
||||||
|
return `${cleaned}\n[Campos: ${fieldLabels}]`
|
||||||
}
|
}
|
||||||
|
|
||||||
const toggleField = (field: SelectedField) => {
|
const toggleField = (field: SelectedField) => {
|
||||||
setSelectedFields((prev) => {
|
setSelectedFields((prev) => {
|
||||||
let nextFields
|
const nextFields = prev.find((f) => f.key === field.key)
|
||||||
|
? prev.filter((f) => f.key !== field.key)
|
||||||
if (prev.find((f) => f.key === field.key)) {
|
: [...prev, field]
|
||||||
nextFields = prev.filter((f) => f.key !== field.key)
|
|
||||||
} else {
|
|
||||||
nextFields = [...prev, field]
|
|
||||||
}
|
|
||||||
|
|
||||||
setInput((prevInput) =>
|
setInput((prevInput) =>
|
||||||
injectFieldsIntoInput(prevInput || 'Mejora este campo:', nextFields),
|
injectFieldsIntoInput(prevInput || 'Mejora este campo:', nextFields),
|
||||||
@@ -156,6 +155,7 @@ function RouteComponent() {
|
|||||||
|
|
||||||
setShowSuggestions(false)
|
setShowSuggestions(false)
|
||||||
}
|
}
|
||||||
|
|
||||||
const buildPrompt = (userInput: string) => {
|
const buildPrompt = (userInput: string) => {
|
||||||
if (selectedFields.length === 0) return userInput
|
if (selectedFields.length === 0) return userInput
|
||||||
|
|
||||||
@@ -341,19 +341,13 @@ ${fieldsText}
|
|||||||
<Textarea
|
<Textarea
|
||||||
value={input}
|
value={input}
|
||||||
onChange={handleInputChange}
|
onChange={handleInputChange}
|
||||||
onKeyDown={(e) => {
|
|
||||||
if (e.key === 'Enter' && !e.shiftKey) {
|
|
||||||
e.preventDefault()
|
|
||||||
handleSend()
|
|
||||||
}
|
|
||||||
}}
|
|
||||||
placeholder={
|
placeholder={
|
||||||
selectedFields.length > 0
|
selectedFields.length > 0
|
||||||
? 'Escribe instrucciones adicionales...'
|
? 'Escribe instrucciones adicionales...'
|
||||||
: 'Escribe tu solicitud o ":" para campos...'
|
: 'Escribe tu solicitud o ":" para campos...'
|
||||||
}
|
}
|
||||||
className="max-h-[120px] min-h-[40px] flex-1 resize-none border-none bg-transparent py-2 text-sm shadow-none focus-visible:ring-0"
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
onClick={() => handleSend()}
|
onClick={() => handleSend()}
|
||||||
disabled={
|
disabled={
|
||||||
|
|||||||
Reference in New Issue
Block a user