This commit is contained in:
Zhenya Goroh
2024-10-05 21:21:00 +03:00
parent 36ff1b49b5
commit f4b69d78ef

View File

@@ -69,6 +69,8 @@ const FieldDescription = styled.div`
margin-bottom: 1rem;
`;
type Platform = "Windows" | "MacOS" | "Linux" | "Unsupported";
export default function DownloadPage() {
const [platform, setPlatform] = useState<string | null>(null);
const [architecture, setArchitecture] = useState<string | null>(null);
@@ -79,7 +81,7 @@ export default function DownloadPage() {
null,
);
const [selectedPlatform, setSelectedPlatform] = useState("");
const [selectedPlatform, setSelectedPlatform] = useState<Platform | "">("");
const [selectedArchitecture, setSelectedArchitecture] = useState("specific");
const [selectedWindowsDownloadType, setSelectedWindowsDownloadType] =
useState("installer");
@@ -94,14 +96,19 @@ export default function DownloadPage() {
if (typeof window !== "undefined") {
userAgent = window.navigator.userAgent;
}
if (userAgent.includes("Win")) {
switch (true) {
case userAgent.includes("Win"):
setSelectedPlatform("Windows");
}
if (userAgent.includes("Mac")) {
break;
case userAgent.includes("Mac"):
setSelectedPlatform("MacOS");
}
if (userAgent.includes("Linux")) {
break;
case userAgent.includes("Linux"):
setSelectedPlatform("Linux");
break;
default:
setSelectedPlatform("Unsupported");
break;
}
}, []);
const throwConfetti = () => {
@@ -579,7 +586,7 @@ export default function DownloadPage() {
</Button>
<Button
onClick={() => continueFlow()}
disabled={selectedPlatform === ""}
disabled={selectedPlatform === "Unsupported"}
>
{(flowIndex === 1 && platform === "MacOS") || flowIndex === 2
? "Download 🥳"
@@ -587,7 +594,7 @@ export default function DownloadPage() {
</Button>
</div>
)}
{selectedPlatform === "" && (
{selectedPlatform === "Unsupported" && (
<div className="mt-5 flex items-center">
<InfoCircledIcon className="mr-2 size-4" />
<p className="text-muted-foreground">