components/elements/AiObs/AiObs.jsxjavascript
import "./AiObs.scss";
import { ImageCard } from "../ImageCard/ImageCard.jsx";
import { BadgeList } from "../BadgeList/BadgeList.jsx";

/**
 * Before/after-style AI observation showcase ("aIObs" element type): a
 * picture plus screenshot (optionally alongside a `screens` device frame
 * image, which switches to a stacked "computer + data" layout instead of the
 * default side-by-side one), with an optional badge row and add-on caption.
 *
 * @param {Object} props
 * @param {string} props.picture - Primary image URL.
 * @param {string} [props.pictureAddOn] - Optional caption/second image rendered next to `picture`.
 * @param {string} props.screenshot - Secondary image URL.
 * @param {string} [props.screens] - Optional device-frame image URL; when set, switches to the stacked layout.
 * @param {Array<{iconLink: string, text: string}>} props.badges - Badges rendered via {@link BadgeList}.
 */
export const AiObs = ({ picture, pictureAddOn, screenshot, screens, badges }) => {
  return (
    <div className="aiobs">
      <div className="aiobs__container">
        {screens ? (
          <div className="aiobs__computer">
            <div className="container__add-on">
              <div className="add-on"> {pictureAddOn ? pictureAddOn : null}</div>
            </div>
            <img className="computer__img" src={screens} alt="" />
            {/* <div className="computer__space"></div> */}
          </div>
        ) : null}

        {screens ? (
          <div className="aiobs__data">
            <ImageCard image={picture} />
            <ImageCard image={screenshot} />
          </div>
        ) : (
          <div className="no-screen">
            <div className="data--top">
              <div className="picturebox">
                <ImageCard image={picture} />
              </div>
              <div className="badges">
                {" "}
                {pictureAddOn ? (
                  <div className="picture__ad-on">
                    <ImageCard image={pictureAddOn} />
                  </div>
                ) : null}
                <BadgeList badges={badges} />
              </div>
            </div>
            <div className="data--bottom">
              <ImageCard image={screenshot} />
            </div>
          </div>
        )}
      </div>
      {screens ? <BadgeList badges={badges} format="row" /> : null}
    </div>
  );
};