/* ============================================================================
   ENTRY / DIAGNOSIS FUNNEL
   No nav. Dramatic headline + motto, then two questions in sequence:
   1) What is slowing your company down?  2) What industry are you in?
   On completion → onDiagnose(problemKey, labKey) triggers the rebuild.
   ============================================================================ */
const { useState: useStateE, useEffect: useEffectE } = React;

function EntryExperience({ onDiagnose }) {
  const { PROBLEMS, LABS, LAB_ORDER, PAINS } = window.TALYA_DATA;
  const [step, setStep] = useStateE(0); // 0 problem, 1 industry, 2 pain
  const [problem, setProblem] = useStateE(null);
  const [lab, setLab] = useStateE(null);
  const [pains, setPains] = useStateE([]);
  const [loaded, setLoaded] = useStateE(false);
  const [contactOpen, setContactOpen] = useStateE(false);

  useEffectE(() => {
    const t = setTimeout(() => setLoaded(true), 60);
    return () => clearTimeout(t);
  }, []);

  function pickProblem(key) {
    setProblem(key);
    setPains([]); // reset pains when problem changes
    setTimeout(() => setStep(1), 220);
  }
  function pickLab(key) {
    setLab(key);
    setPains([]); // reset pains when lab changes
    setStep(2);
  }
  function togglePain(key) {
    setPains((prev) => (prev.includes(key) ? prev.filter((k) => k !== key) : prev.length < 3 ? [...prev, key] : prev));
  }
  function finishPains(skip) {
    onDiagnose(problem, lab, skip ? [] : pains);
  }

  return React.createElement(
    "div",
    { className: `entry ${loaded ? "entry-loaded" : ""}` },

    /* header: lockup + standalone team / credibility marker */
    React.createElement(
      "div",
      { className: "entry-top" },
      React.createElement(Logo, { size: 30 }),
      React.createElement(
        "div",
        { className: "team-badge" },
        React.createElement("span", { className: "team-badge-num" }, "200+"),
        React.createElement("span", { className: "team-badge-label" }, "platforms shipped"),
        React.createElement("span", { className: "team-badge-div" }),
        React.createElement("span", { className: "team-badge-num" }, "~20"),
        React.createElement("span", { className: "team-badge-label" }, "senior engineers")
      )
    ),

    React.createElement(
      "div",
      { className: "entry-inner" },

      step === 0
        ? React.createElement(
            React.Fragment,
            null,
            React.createElement(
              "div",
              { className: "headline-wrap" },
              React.createElement("p", { className: "eyebrow mask-line ml-0" }, "Talya Smart · Industry Transformation"),
              React.createElement(
                "h1",
                { className: "headline" },
                React.createElement("span", { className: "mask-line ml-1" }, React.createElement("span", { className: "hl-ai" }, "AI"), " Is Rewriting"),
                React.createElement("span", { className: "mask-line ml-2" }, "The Rules Of Business."),
                React.createElement("span", { className: "mask-line ml-3 accent-text" }, "We Build The Next Version.")
              ),
              React.createElement("p", { className: "motto mask-line ml-4 motto-yellow" },
                "You are late. ", React.createElement("span", { className: "motto-soft" }, "But not too late!")
              )
            ),

            React.createElement(
              "div",
              { className: "q-block" },
              React.createElement("div", { className: "q-label mask-line ml-5" },
                React.createElement("span", { className: "q-step" }, "01"),
                "What is ", React.createElement("span", { className: "hl-ai" }, "slowing"), " your company down?"
              ),
              React.createElement(
                "div",
                { className: "tile-grid problems" },
                PROBLEMS.map((p, i) =>
                  React.createElement(
                    "button",
                    {
                      key: p.key,
                      type: "button",
                      className: `tile cascade ${problem === p.key ? "tile-active" : ""}`,
                      style: { "--i": i },
                      onClick: () => pickProblem(p.key),
                    },
                    React.createElement("span", { className: "tile-name" }, p.label),
                    React.createElement("span", { className: "tile-arrow" }, "→")
                  )
                )
              )
            )
          )
        : step === 1
        ? React.createElement(
            React.Fragment,
            null,
            React.createElement(
              "div",
              { className: "headline-wrap step2" },
              React.createElement(
                "button",
                { type: "button", className: "back-link", onClick: () => setStep(0) },
                "← ", PROBLEMS.find((p) => p.key === problem)?.label
              ),
              React.createElement("h2", { className: "headline sub fade-rise" }, "What industry are you in?"),
              React.createElement("p", { className: "motto small fade-rise d1" },
                "We don't ask to put you in a box. We ask so the platform can rebuild around where your industry is going."
              )
            ),
            React.createElement(
              "div",
              { className: "tile-grid labs" },
              LAB_ORDER.map((key, i) => {
                const lab = LABS[key];
                return React.createElement(
                  "button",
                  {
                    key,
                    type: "button",
                    className: "tile lab-tile cascade",
                    style: { "--i": i, "--accent": lab.accent },
                    onClick: () => pickLab(key),
                  },
                  React.createElement("span", { className: "lab-dot" }),
                  React.createElement(
                    "span",
                    { className: "lab-text" },
                    React.createElement("span", { className: "tile-name" }, lab.short),
                    React.createElement("span", { className: "lab-sub" }, lab.name.replace(lab.short + " ", ""))
                  ),
                  React.createElement("span", { className: "tile-arrow" }, "→")
                );
              })
            )
          )
        : React.createElement(
            React.Fragment,
            null,
            React.createElement(
              "div",
              { className: "headline-wrap step2" },
              React.createElement(
                "button",
                { type: "button", className: "back-link", onClick: () => setStep(1) },
                "← ", LABS[lab] ? LABS[lab].short : "Industry"
              ),
              React.createElement("h2", { className: "headline sub fade-rise" },
                React.createElement("span", { className: "q-step pain-step" }, "03"), " What’s actually slowing you down?"),
              React.createElement("p", { className: "motto small fade-rise d1" },
                "Pick up to three signals. We’ll shape the rebuild around the operating pain, not just the industry."
              )
            ),
            React.createElement(
              "div",
              { className: "tile-grid pains" },
              PAINS.map((p, i) => {
                const on = pains.includes(p.key);
                const idx = pains.indexOf(p.key);
                return React.createElement(
                  "button",
                  {
                    key: p.key,
                    type: "button",
                    className: `tile pain-tile cascade ${on ? "pain-on" : ""}`,
                    style: { "--i": i },
                    onClick: () => togglePain(p.key),
                    "aria-pressed": on,
                  },
                  React.createElement("span", { className: "pain-check" }, on ? String(idx + 1) : ""),
                  React.createElement(
                    "span",
                    { className: "pain-text" },
                    React.createElement("span", { className: "tile-name" }, p.label),
                    React.createElement("span", { className: "pain-copy" }, p.copy)
                  )
                );
              })
            ),
            React.createElement(
              "div",
              { className: "pain-actions fade-rise d1" },
              React.createElement(
                "button",
                { type: "button", className: "btn btn-primary lg", disabled: pains.length === 0, onClick: () => finishPains(false) },
                "Continue to rebuild →"
              ),
              React.createElement(
                "button",
                { type: "button", className: "skip-link", onClick: () => finishPains(true) },
                "Skip this"
              )
            )
          )
    ),

    /* footer: the convinced-already escape hatch (funny) + contact reveal */
    React.createElement(
      "div",
      { className: "entry-foot" },
      React.createElement(
        "button",
        { type: "button", className: "funny-btn", onClick: () => setContactOpen((v) => !v) },
        contactOpen ? "Fine, here you go →" : "Give me contacts! I am convinced →"
      ),
      contactOpen &&
        React.createElement(
          "div",
          { className: "contact-pop" },
          React.createElement("span", { className: "contact-pop-quip" }, "That was fast. Respect."),
          React.createElement("a", { className: "contact-pop-mail mono", href: "mailto:info@talyasmart.com" }, "info@talyasmart.com"),
          React.createElement("a", { className: "contact-pop-tel mono", href: "tel:+15513348611" }, "+1 551 334 86 11"),
          React.createElement("span", { className: "contact-pop-addr mono" }, "Talya Smart Inc · 17-09 Zink Pl, Suite #4, Fair Lawn, NJ"),
          React.createElement("span", { className: "contact-pop-addr mono" }, "USA · Canada · Germany · Slovenia · UAE · Turkey")
        )
    )
  );
}

window.EntryExperience = EntryExperience;
