const AboutPage = () => (
  <div className="route-enter container">
    <article className="prose">
      <div className="pd-breadcrumbs">/ about</div>
      <h1>About Lint Error</h1>
      <p className="lede">One developer tired of bad scripts. Now I write my own.</p>

      <h2>The story</h2>
      <p>
        I'm Nate. Five years in FiveM, over a thousand hours of roleplay, and a lot of time building systems on other people's servers. For most of that run I was the "premade menu guy" — designing the logic behind features because CSS is annoying as hell and I didn't want to deal with it. With AI helping on the UI side, I can finally build interfaces that look and feel the way I always wanted them to, not the ox_lib menus I used to hand off.
      </p>
      <p>
        Lint Error exists because I got tired of buying scripts from devs who don't stand behind their own work. Released with known bugs. Weeks of silence on tickets. Eventually, "the issue's in the locked code, wait for the update." I've been on the buying side of that too many times to ignore it.
      </p>
      <p>
        There are plenty of great devs in this space, and I want to be one of them — the ones who actually engage with the roleplay community, push fixes when people report them, and care whether the thing works the way a player would expect in-world.
      </p>

      <h2>Support</h2>
      <p>Discord is the fastest way to reach me. Bugs usually get a response within a day, and patches usually go out within the week.</p>
      <p>
        And report anything. I've bought enough scripts to know what it feels like when a dev brushes off small issues. I strive for perfection in everything. If something doesn't seem or look right, I want to know.
      </p>

      <h3>// the four</h3>
      <ul>
        <li>Optimization</li>
        <li>Security</li>
        <li>Immersion</li>
        <li>Reliability</li>
      </ul>
    </article>
  </div>
);

const TermsPage = () => {
  // If the user lands here with a hash (e.g., from the footer's "Refund policy"
  // link), scroll to that section once the page paints.
  useEffect(() => {
    const hash = window.location.hash;
    if (!hash) return;
    const t = setTimeout(() => {
      const el = document.querySelector(hash);
      if (el) el.scrollIntoView({ behavior: "smooth", block: "start" });
    }, 50);
    return () => clearTimeout(t);
  }, []);
  return (
  <div className="route-enter container">
    <article className="prose">
      <div className="pd-breadcrumbs">/ terms</div>
      <h1>Terms of service</h1>
      <p className="lede">Last updated: 23 April 2026. Plain-English summary at the top, full terms below.</p>

      <div className="mono-note">
        // TL;DR — all sales final. License bound to the CFX account used at checkout, transferable once via CFX Portal. Support stays with the original, Discord-verified buyer. Bugs? Open a ticket in Discord and I'll patch.
      </div>

      <h2>1. License</h2>
      <p>Each purchase grants you a personal-use license to the listed resource, bound to the CFX account used at checkout. You may deploy it on any FiveM server you own or administer. The license is not sublicensable, and you may not resell, repackage, or otherwise redistribute the resource.</p>

      <h2>2. Transfers</h2>
      <p>Licenses may be transferred one time to another CFX account through CFX Portal. The transfer conveys the right to use the resource only — support, updates, and bug fixes remain with the original purchaser, who must be verifiable through their Discord account on the Lint Error server. Recipients of a transferred license hold usage rights but no direct support relationship with Lint Error.</p>

      <h2>3. Escrow &amp; distribution</h2>
      <p>Resources are delivered through Tebex's escrow system, which binds the resource binary to the authorized CFX account. Decompiling, re-uploading, leaking, or otherwise distributing the escrow-protected files constitutes a breach of this license and results in immediate, permanent revocation without refund.</p>

      <h2 id="refunds">4. Refunds</h2>
      <p>All sales are final. The resource is delivered by Tebex at the moment of purchase; from that point the license is yours whether or not you deploy it. Buyers in the EU and UK waive their 14-day right of withdrawal at Tebex's checkout, which is what permits immediate delivery of digital goods under those jurisdictions' consumer law. If a resource does not function as described on its product page, contact me through Discord and I will resolve it. A cash refund is not offered in either case.</p>

      <h2>5. Chargebacks</h2>
      <p>Filing a chargeback on a completed, working purchase results in the license being revoked and a permanent block from future purchases. If there is a genuine issue, reach me through Discord before opening a dispute — it will be resolved faster and you will end up with a working resource rather than nothing.</p>

      <h2>6. Support</h2>
      <p>Included support covers installation on a clean server with the listed dependencies, bug fixes against the purchased version, and compatibility with ESX, QBCore, and QBox at the versions stated on the product page. Heavy modifications, custom integrations, and issues caused by third-party resources fall outside the support scope. Support is provided only to the verified original purchaser — see §2 for how this interacts with transfers.</p>

      <h2>7. Updates</h2>
      <p>Point releases within a major version are included at no additional cost and are delivered through CFX Portal. New major versions may be priced separately; this will be noted in the product changelog if and when it applies.</p>

      <h2>8. Liability</h2>
      <p>Every Lint Error resource is built, tested against the listed frameworks on a stress environment, and released in the condition described on its product page. As is standard for third-party software, you remain responsible for validating the resource on a development or staging server before using it in production. Lint Error is not liable for server downtime, data loss, economy impact, or other consequential damages arising from the use or misuse of the resource. This clause is consistent with the sale of paid software generally and does not limit your statutory consumer rights where those apply.</p>

      <h2>9. Tebex terms</h2>
      <p>All purchases made through this store are additionally governed by Tebex's <a href="https://www.tebex.io/terms-of-service" target="_blank" rel="noreferrer noopener" style={{ color: "var(--fg)", textDecoration: "underline" }}>Terms of Service</a> and <a href="https://www.tebex.io/privacy-policy" target="_blank" rel="noreferrer noopener" style={{ color: "var(--fg)", textDecoration: "underline" }}>Privacy Policy</a>, which cover payment processing, dispute handling, and the personal data Tebex holds on you as the buyer. Completing checkout constitutes acceptance of both these terms and Tebex's.</p>

      <h3>// contact</h3>
      <p>Questions? Reach me in the <a href="https://discord.gg/ey2sMahZ6t" target="_blank" rel="noreferrer noopener" style={{ color: "var(--fg)", textDecoration: "underline" }}>Discord</a>.</p>
    </article>
  </div>
  );
};

Object.assign(window, { AboutPage, TermsPage });
