Merge pull request #217 from ZhenyaGoroh/fix-216

Fixed #216
This commit is contained in:
NOCanoa
2024-10-06 15:35:47 +01:00
committed by GitHub

View File

@@ -72,12 +72,14 @@ const FieldDescription = styled.div`
margin-bottom: 1rem; margin-bottom: 1rem;
`; `;
type Platform = "Windows" | "MacOS" | "Linux" | "Unsupported";
export default function DownloadPage() { export default function DownloadPage() {
const [platform, setPlatform] = useState<string | null>(null); const [platform, setPlatform] = useState<string | null>(null);
const [isTwilight, setIsTwilight] = useState(false); const [isTwilight, setIsTwilight] = useState(false);
const [architecture, setArchitecture] = useState<string | null>(null); const [architecture, setArchitecture] = useState<string | null>(null);
const [selectedPlatform, setSelectedPlatform] = useState(""); const [selectedPlatform, setSelectedPlatform] = useState<Platform | "">("");
const [selectedArchitecture, setSelectedArchitecture] = useState("specific"); const [selectedArchitecture, setSelectedArchitecture] = useState("specific");
const [selectedWindowsDownloadType, setSelectedWindowsDownloadType] = const [selectedWindowsDownloadType, setSelectedWindowsDownloadType] =
useState("installer"); useState("installer");
@@ -92,14 +94,19 @@ export default function DownloadPage() {
if (typeof window !== "undefined") { if (typeof window !== "undefined") {
userAgent = window.navigator.userAgent; userAgent = window.navigator.userAgent;
} }
if (userAgent.includes("Win")) { switch (true) {
setSelectedPlatform("Windows"); case userAgent.includes("Win"):
} setSelectedPlatform("Windows");
if (userAgent.includes("Mac")) { break;
setSelectedPlatform("MacOS"); case userAgent.includes("Mac"):
} setSelectedPlatform("MacOS");
if (userAgent.includes("Linux")) { break;
setSelectedPlatform("Linux"); case userAgent.includes("Linux"):
setSelectedPlatform("Linux");
break;
default:
setSelectedPlatform("Unsupported");
break;
} }
const searchParams = new URLSearchParams(window.location.search); const searchParams = new URLSearchParams(window.location.search);
setIsTwilight(searchParams.has("twilight")); setIsTwilight(searchParams.has("twilight"));
@@ -588,7 +595,7 @@ export default function DownloadPage() {
</Button> </Button>
<Button <Button
onClick={() => continueFlow()} onClick={() => continueFlow()}
disabled={selectedPlatform === ""} disabled={selectedPlatform === "Unsupported" || !selectedPlatform}
> >
{(flowIndex === 1 && platform === "MacOS") || flowIndex === 2 {(flowIndex === 1 && platform === "MacOS") || flowIndex === 2
? "Download 🥳" ? "Download 🥳"
@@ -596,7 +603,7 @@ export default function DownloadPage() {
</Button> </Button>
</div> </div>
)} )}
{selectedPlatform === "" && ( {selectedPlatform === "Unsupported" && (
<div className="mt-5 flex items-center"> <div className="mt-5 flex items-center">
<InfoCircledIcon className="mr-2 size-4" /> <InfoCircledIcon className="mr-2 size-4" />
<p className="text-muted-foreground"> <p className="text-muted-foreground">