// Error boundary scoped to the /dashboard subtree. A render error (or a
// loader rejection that ISN'T a RedirectError / NotFoundError) in any
// dashboard page bubbles to the nearest `error.tsx` — this one — instead of
// the router's default. `reset` re-runs the failed segment.
import type { ReactNode } from 'react'
import type { ErrorBoundaryProps } from '@voltro/web'
import { T } from '@voltro/i18n'

export default function DashboardError({ error, reset }: ErrorBoundaryProps): ReactNode {
  return (
    <div className="dash">
      <main>
        <h1><T id="error.heading" /></h1>
        <p className="muted">{String(error)}</p>
        <p style={{ marginTop: '1rem' }}>
          <button type="button" className="btn" onClick={reset}><T id="error.retry" /></button>
        </p>
      </main>
    </div>
  )
}
