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} -
- - - More download options - -
+ {DOWNLOADS_ENABLED && ( +
+ + + More download options + +
+ )} )} 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 ? (
- + {DOWNLOADS_ENABLED && ( + + )}
) : (
@@ -162,7 +167,7 @@ const CheckoutSuccess = () => { )} {/* Download Links */} - {!isMobile && ( + {!isMobile && DOWNLOADS_ENABLED && (
{ > Download on a desktop - ) : ( + ) : DOWNLOADS_ENABLED ? ( + ) : ( + )}
@@ -203,7 +213,7 @@ const Download = () => { > Desktop only - ) : ( + ) : DOWNLOADS_ENABLED ? ( + ) : ( + )} ); 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 && (