import * as React from "react"
import StackTrace from "stack-trace"
import { Overlay, Header, HeaderOpenClose, Body } from "./overlay"
import { useStackFrame } from "./hooks"
import { CodeFrame } from "./code-frame"
import { getCodeFrameInformation, openInEditor } from "../utils"
import { Accordion, AccordionItem } from "./accordion"
function WrappedAccordionItem({ error, open }) {
const stacktrace = StackTrace.parse(error)
const codeFrameInformation = getCodeFrameInformation(stacktrace)
const filePath = codeFrameInformation?.moduleId
const lineNumber = codeFrameInformation?.lineNumber
const columnNumber = codeFrameInformation?.columnNumber
const name = codeFrameInformation?.functionName
const res = useStackFrame({ moduleId: filePath, lineNumber, columnNumber })
const line = res.sourcePosition?.line
const Title = () => {
if (!name) {
return <>Unknown Runtime Error>
}
return (
<>
Error in function{` `}
{name} in{` `}
{filePath}:{line}
>
)
}
return (
{error.message}
{hasMultipleErrors ? `Multiple` : `One`} unhandled runtime{` `} {hasMultipleErrors ? `errors` : `error`} found in your files. See the list below to fix {hasMultipleErrors ? `them` : `it`}: