import { PageHead } from "~/components/PageHead";
import { EdgeCacheHeaders } from "~/components/EdgeCacheHeaders";
import SubdomainHeader from "~/components/SubdomainHeader";
import FeatureCollage from "~/components/nook/FeatureCollage";
import FeatureBreakdowns from "~/components/nook/FeatureBreakdowns";
import IslandExtras from "~/components/nook/IslandExtras";
import PhoneBeta from "~/components/nook/PhoneBeta";
import Button from "~/components/ui/Button";
import Input from "~/components/ui/Input";
import { createSignal, Show } from "solid-js";
import { useDarkMode } from "~/context/darkMode";
import { useSite } from "~/context/SiteContext";
/*
* Downloads are logged and resolved server-side. `/api/the-nook/download`
* records the click in the analytics buffer, then 302s to the latest
* release dmg the appcast names. Pointing the button straight at the
* enclosure would skip the funnel's second step entirely.
*/
function downloadNook() {
window.location.href = "/api/the-nook/download";
}
export default function NookLanding() {
const site = useSite();
const { isDark } = useDarkMode();
const brandColor = () =>
isDark() ? (site().brandColorDark ?? site().brandColor) : site().brandColor;
const [resendEmail, setResendEmail] = createSignal("");
const [resendSending, setResendSending] = createSignal(false);
const [resendSent, setResendSent] = createSignal(false);
const [resendError, setResendError] = createSignal(false);
const resendLicense = async () => {
if (resendSending()) return;
const email = resendEmail().trim();
if (!email) return;
setResendSending(true);
setResendSent(false);
setResendError(false);
try {
const res = await fetch("/api/the-nook/resend-license", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({ email })
});
if (!res.ok) throw new Error("resend failed");
setResendSent(true);
} catch {
setResendError(true);
} finally {
setResendSending(false);
}
};
return (
<>
Agent orchestration, fan and thermal control in a beautiful native UI.
macOS 14+ · 14-day free trial · up to 3 devices
$15{" "} $10 one-time
In action
Orchestrate your coding agents, take control of your fans and battery, give every app its own volume, capture your screen, and keep your day in the notch. When the trial ends, unlock everything with a single one-time payment — no subscription, ever.
Beta pricing — full price will be $15. One license covers up to 3 of your own Macs.