diff --git a/frontend/apps/artcraft-website/src/components/download-button/download-button.tsx b/frontend/apps/artcraft-website/src/components/download-button/download-button.tsx
index 883fd91066..9285525bc4 100644
--- a/frontend/apps/artcraft-website/src/components/download-button/download-button.tsx
+++ b/frontend/apps/artcraft-website/src/components/download-button/download-button.tsx
@@ -5,7 +5,10 @@ import {
faLinux,
} from "@fortawesome/free-brands-svg-icons";
import { isMobile, isWindows, isMacOs } from "react-device-detect";
-import { DOWNLOAD_LINKS } from "../../config/github_download_links";
+import {
+ DOWNLOAD_LINKS,
+ DOWNLOADS_ENABLED,
+} from "../../config/github_download_links";
interface DownloadButtonProps {
className?: string;
@@ -21,10 +24,12 @@ export const DownloadButton = ({ className = "" }: DownloadButtonProps) => {
const getDownloadLink = () => {
if (isWindows) return DOWNLOAD_LINKS.WINDOWS;
if (isMacOs) return DOWNLOAD_LINKS.MACOS;
- if (isLinux) return DOWNLOAD_LINKS.LINUX;
+ // No Linux build is published yet.
return null;
};
+ if (!DOWNLOADS_ENABLED) return null;
+
const getIcon = () => {
if (isMobile) return undefined;
if (isWindows) return faWindows;
diff --git a/frontend/apps/artcraft-website/src/components/landing-action-buttons.tsx b/frontend/apps/artcraft-website/src/components/landing-action-buttons.tsx
index 9415f70752..383b65e730 100644
--- a/frontend/apps/artcraft-website/src/components/landing-action-buttons.tsx
+++ b/frontend/apps/artcraft-website/src/components/landing-action-buttons.tsx
@@ -3,7 +3,10 @@ import { isMobile, isMacOs } from "react-device-detect";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { faWindows, faApple } from "@fortawesome/free-brands-svg-icons";
import { faRocket } from "@fortawesome/pro-solid-svg-icons";
-import { DOWNLOAD_LINKS } from "../config/github_download_links";
+import {
+ DOWNLOAD_LINKS,
+ DOWNLOADS_ENABLED,
+} from "../config/github_download_links";
interface LandingActionButtonsProps {
onDownloadClick?: (e: React.MouseEvent) => void;
@@ -40,23 +43,25 @@ export const LandingActionButtons = ({
{creditsButtonText}
-
+ {DOWNLOADS_ENABLED && (
+
+ )}
>
)}
diff --git a/frontend/apps/artcraft-website/src/config/github_download_links.ts b/frontend/apps/artcraft-website/src/config/github_download_links.ts
index 9d324d871f..4ab4db1a7f 100644
--- a/frontend/apps/artcraft-website/src/config/github_download_links.ts
+++ b/frontend/apps/artcraft-website/src/config/github_download_links.ts
@@ -10,6 +10,11 @@ const WINDOWS_VERSION = "0.32.0"; // 2026-04-03 characters + prompt box
//const MAC_VERSION = "0.20.0"; // 2026-03-24 Reprompt, performance
const MAC_VERSION = "0.32.0"; // 2026-04-03 characters + prompt box
+// The published desktop builds are out of date — every download button and
+// link on the site is hidden while this is false. Flip back on when a current
+// release ships.
+export const DOWNLOADS_ENABLED = false;
+
export const DOWNLOAD_LINKS = {
WINDOWS: `https://github.com/storytold/artcraft/releases/download/artcraft-v${WINDOWS_VERSION}/ArtCraft_${WINDOWS_VERSION}_x64-setup.exe`,
MACOS: `https://github.com/storytold/artcraft/releases/download/artcraft-v${MAC_VERSION}/ArtCraft_${MAC_VERSION}_universal.dmg`,
diff --git a/frontend/apps/artcraft-website/src/pages/checkout/success.tsx b/frontend/apps/artcraft-website/src/pages/checkout/success.tsx
index f56f4da174..050fdfa345 100644
--- a/frontend/apps/artcraft-website/src/pages/checkout/success.tsx
+++ b/frontend/apps/artcraft-website/src/pages/checkout/success.tsx
@@ -9,7 +9,10 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { Button } from "@storyteller/ui-button";
import { Link, useSearchParams } from "react-router-dom";
import { isMobile, isMacOs } from "react-device-detect";
-import { DOWNLOAD_LINKS } from "../../config/github_download_links";
+import {
+ DOWNLOAD_LINKS,
+ DOWNLOADS_ENABLED,
+} from "../../config/github_download_links";
import { SOCIAL_LINKS } from "../../config/links";
import Seo from "../../components/seo";
import { PagePatternBackdrop } from "../../components/truchet-pattern";
@@ -142,14 +145,16 @@ const CheckoutSuccess = () => {
{/* CTA Buttons */}
{!isMobile ? (
-
-
- Download ArtCraft
-
+ {DOWNLOADS_ENABLED && (
+
+
+ Download ArtCraft
+
+ )}
) : (
@@ -162,7 +167,7 @@ const CheckoutSuccess = () => {
)}
{/* Download Links */}
- {!isMobile && (
+ {!isMobile && DOWNLOADS_ENABLED && (
@@ -203,7 +213,7 @@ const Download = () => {
>
Desktop only
- ) : (
+ ) : DOWNLOADS_ENABLED ? (
{
>
Download
+ ) : (
+
+ Temporarily unavailable
+
)}
);
diff --git a/frontend/apps/artcraft-website/src/pages/landing-sd25/landing-sd25.tsx b/frontend/apps/artcraft-website/src/pages/landing-sd25/landing-sd25.tsx
index 6bedaf2a4b..7685cadf7b 100644
--- a/frontend/apps/artcraft-website/src/pages/landing-sd25/landing-sd25.tsx
+++ b/frontend/apps/artcraft-website/src/pages/landing-sd25/landing-sd25.tsx
@@ -35,7 +35,10 @@ import { DownloadModal } from "../../components/download-modal";
import ModelBadgeGrid from "../../components/model-badge-grid";
import { getSession } from "../../lib/session";
import { BillingApi } from "@storyteller/api";
-import { DOWNLOAD_LINKS } from "../../config/github_download_links";
+import {
+ DOWNLOAD_LINKS,
+ DOWNLOADS_ENABLED,
+} from "../../config/github_download_links";
import { webappUrl, SOCIAL_LINKS } from "../../config/links";
import { Button } from "@storyteller/ui-button";
import { Tooltip } from "@storyteller/ui-tooltip";
@@ -770,17 +773,19 @@ const LandingSD25 = () => {
isLoggedIn={isLoggedIn}
hasSubscription={hasSubscription}
/>
-
-
- Download for {isMacOs ? "Mac" : "Windows"}
-
+ {DOWNLOADS_ENABLED && (
+
+
+ Download for {isMacOs ? "Mac" : "Windows"}
+
+ )}
>
)}
@@ -1547,17 +1552,19 @@ const LandingSD25 = () => {
isLoggedIn={isLoggedIn}
hasSubscription={hasSubscription}
/>
-
-
- Download for {isMacOs ? "Mac" : "Windows"}
-
+ {DOWNLOADS_ENABLED && (
+
+
+ Download for {isMacOs ? "Mac" : "Windows"}
+
+ )}
>
)}
diff --git a/frontend/apps/artcraft-website/src/pages/landing3/landing3.tsx b/frontend/apps/artcraft-website/src/pages/landing3/landing3.tsx
index 87050aa904..58bcfc8af3 100644
--- a/frontend/apps/artcraft-website/src/pages/landing3/landing3.tsx
+++ b/frontend/apps/artcraft-website/src/pages/landing3/landing3.tsx
@@ -36,7 +36,10 @@ import { DownloadModal } from "../../components/download-modal";
import ModelBadgeGrid from "../../components/model-badge-grid";
import { getSession } from "../../lib/session";
import { BillingApi } from "@storyteller/api";
-import { DOWNLOAD_LINKS } from "../../config/github_download_links";
+import {
+ DOWNLOAD_LINKS,
+ DOWNLOADS_ENABLED,
+} from "../../config/github_download_links";
import { webappUrl, SOCIAL_LINKS } from "../../config/links";
import { Button } from "@storyteller/ui-button";
import { Tooltip } from "@storyteller/ui-tooltip";
@@ -704,17 +707,19 @@ const Landing3 = () => {
isLoggedIn={isLoggedIn}
hasSubscription={hasSubscription}
/>
-
-
- Download for {isMacOs ? "Mac" : "Windows"}
-
+ {DOWNLOADS_ENABLED && (
+
+
+ Download for {isMacOs ? "Mac" : "Windows"}
+
+ )}
>
)}
@@ -1399,17 +1404,19 @@ const Landing3 = () => {
isLoggedIn={isLoggedIn}
hasSubscription={hasSubscription}
/>
-
-
- Download for {isMacOs ? "Mac" : "Windows"}
-
+ {DOWNLOADS_ENABLED && (
+
+
+ Download for {isMacOs ? "Mac" : "Windows"}
+
+ )}
>
)}
diff --git a/frontend/apps/artcraft-website/src/pages/welcome/welcome.tsx b/frontend/apps/artcraft-website/src/pages/welcome/welcome.tsx
index 8320c4089e..4339092c7b 100644
--- a/frontend/apps/artcraft-website/src/pages/welcome/welcome.tsx
+++ b/frontend/apps/artcraft-website/src/pages/welcome/welcome.tsx
@@ -8,7 +8,10 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { Button } from "@storyteller/ui-button";
import { Link } from "react-router-dom";
import { isMobile, isMacOs } from "react-device-detect";
-import { DOWNLOAD_LINKS } from "../../config/github_download_links";
+import {
+ DOWNLOAD_LINKS,
+ DOWNLOADS_ENABLED,
+} from "../../config/github_download_links";
import Seo from "../../components/seo";
import { PricingTable } from "@storyteller/ui-pricing-table";
import { PagePatternBackdrop } from "../../components/truchet-pattern";
@@ -75,8 +78,9 @@ const Welcome = () => {
- Your download should have started automatically. Follow these
- steps to begin creating:
+ {DOWNLOADS_ENABLED
+ ? "Your download should have started automatically. Follow these steps to begin creating:"
+ : "Follow these steps to begin creating:"}
@@ -99,7 +103,7 @@ const Welcome = () => {
{/* Download Contingency */}
- {!isMobile && (
+ {!isMobile && DOWNLOADS_ENABLED && (