import styles from '@ui/layout/ai-icon-animation/ai-icon-animation-style.module.css' import { initial, last } from 'lodash' import { Dispatch, SetStateAction } from 'react' import { Alert, AlertTitle, Button, cn, Collapsible, CollapsibleContent, CollapsibleTrigger, } from 'ui' import { QueryResponseError } from '@/data/sql/execute-sql-mutation' export const QueryError = ({ error, open, setOpen, }: { error: QueryResponseError open: boolean setOpen: Dispatch> }) => { const formattedError = (error?.message?.split('\n') ?? [])?.filter((x: string) => x.length > 0) ?? [] return (
Error running SQL query setOpen(!open)} >
{formattedError.length > 0 ? ( formattedError.map((x: string, i: number) => (
                    {x
                      .split(' ')
                      .reduce((arr, cur) => {
                        // Split the ERROR string so that it can be wrapped in a red span
                        const l = last(arr)

                        if (l && l !== 'ERROR:') {
                          return initial(arr).concat([[l, cur].join(' ')])
                        }

                        if (l === '') {
                          return arr.concat([' '])
                        }

                        return arr.concat([cur])
                      }, [] as string[])
                      .map((str, index) => {
                        return (
                          
                            {str}
                          
                        )
                      })}
                  
)) ) : (

{error.error}

)}
) }