"use client";

import { Component, type ReactNode } from "react";

interface Props {
  children: ReactNode;
}

interface State {
  hasError: boolean;
}

/** Prevents Auto-Post Monitor crashes from breaking the whole Live Generation page. */
export class AutoPostMonitorSafe extends Component<Props, State> {
  state: State = { hasError: false };

  static getDerivedStateFromError(): State {
    return { hasError: true };
  }

  render() {
    if (this.state.hasError) {
      return (
        <div className="mb-6 rounded-lg border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900">
          Auto-Post Monitor could not load. Use Refresh on the page or check server logs.
        </div>
      );
    }
    return this.props.children;
  }
}
