156 lines
5.6 KiB
HTML
156 lines
5.6 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Tolaria Stable Download</title>
|
|
<script>
|
|
const DOWNLOAD_TARGETS = {"darwin-aarch64":{"buttonLabel":"Download Tolaria for macOS","label":"macOS","url":"https://github.com/refactoringhq/tolaria/releases/download/stable-v2026.4.25/Tolaria_2026.4.25_aarch64.dmg"},"linux-x86_64":{"buttonLabel":"Download Tolaria for Linux","label":"Linux","url":"https://github.com/refactoringhq/tolaria/releases/download/stable-v2026.4.25/Tolaria_2026.4.25_amd64.AppImage"},"windows-x86_64":{"buttonLabel":"Download Tolaria for Windows","label":"Windows","url":"https://github.com/refactoringhq/tolaria/releases/download/stable-v2026.4.25/Tolaria_2026.4.25_x64-setup.exe"}};
|
|
const PLATFORM_ORDER = ["darwin-aarch64","windows-x86_64","linux-x86_64"];
|
|
|
|
function detectPlatform(userAgent) {
|
|
if (/Windows/i.test(userAgent)) return 'windows-x86_64';
|
|
if (/Mac OS X|Macintosh/i.test(userAgent)) return 'darwin-aarch64';
|
|
if (/Linux/i.test(userAgent) && !/Android/i.test(userAgent)) return 'linux-x86_64';
|
|
return null;
|
|
}
|
|
|
|
const detectedPlatform = detectPlatform(navigator.userAgent);
|
|
const resolvedTarget = (
|
|
detectedPlatform && DOWNLOAD_TARGETS[detectedPlatform]
|
|
) || DOWNLOAD_TARGETS[PLATFORM_ORDER.find((platform) => DOWNLOAD_TARGETS[platform])] || null;
|
|
|
|
if (resolvedTarget) {
|
|
const link = document.getElementById('download-link');
|
|
const message = document.getElementById('download-message');
|
|
if (link) {
|
|
link.href = resolvedTarget.url;
|
|
link.textContent = resolvedTarget.buttonLabel;
|
|
}
|
|
if (message) {
|
|
message.textContent = 'Redirecting to the latest stable Tolaria download for ' + resolvedTarget.label + '.';
|
|
}
|
|
window.location.replace(resolvedTarget.url);
|
|
}
|
|
</script>
|
|
<style>
|
|
:root {
|
|
color-scheme: light dark;
|
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
|
--download-surface-page: #f7f6f3;
|
|
--download-surface-card: #ffffff;
|
|
--download-text-primary: #37352f;
|
|
--download-border-default: #e9e9e7;
|
|
--download-accent: #155dff;
|
|
--download-accent-hover: #1248cc;
|
|
--download-secondary-bg: #eef2ff;
|
|
--download-secondary-hover-bg: #dbe4ff;
|
|
--download-secondary-text: #1d4ed8;
|
|
--download-text-on-accent: #ffffff;
|
|
--download-shadow-card: rgba(15, 23, 42, 0.08);
|
|
}
|
|
|
|
@media (prefers-color-scheme: dark) {
|
|
:root {
|
|
--download-surface-page: #1f1e1b;
|
|
--download-surface-card: #23221f;
|
|
--download-text-primary: #e6e1d8;
|
|
--download-border-default: #34322d;
|
|
--download-accent: #78a4ff;
|
|
--download-accent-hover: #9bbeff;
|
|
--download-secondary-bg: #34322d;
|
|
--download-secondary-hover-bg: #46433b;
|
|
--download-secondary-text: #e6e1d8;
|
|
--download-text-on-accent: #151411;
|
|
--download-shadow-card: rgba(0, 0, 0, 0.35);
|
|
}
|
|
}
|
|
|
|
* {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
body {
|
|
margin: 0;
|
|
min-height: 100vh;
|
|
display: grid;
|
|
place-items: center;
|
|
padding: 24px;
|
|
background: var(--download-surface-page);
|
|
color: var(--download-text-primary);
|
|
}
|
|
|
|
main {
|
|
width: min(100%, 520px);
|
|
background: var(--download-surface-card);
|
|
border: 1px solid var(--download-border-default);
|
|
border-radius: 16px;
|
|
padding: 24px;
|
|
box-shadow: 0 16px 40px var(--download-shadow-card);
|
|
}
|
|
|
|
h1 {
|
|
margin: 0 0 12px;
|
|
font-size: 1.5rem;
|
|
line-height: 1.2;
|
|
}
|
|
|
|
p {
|
|
margin: 0 0 12px;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
.button-list {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 12px;
|
|
margin-top: 16px;
|
|
}
|
|
|
|
a {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-height: 44px;
|
|
padding: 0 16px;
|
|
border-radius: 10px;
|
|
background: var(--download-accent);
|
|
color: var(--download-text-on-accent);
|
|
text-decoration: none;
|
|
font-weight: 600;
|
|
}
|
|
|
|
a[data-secondary="true"] {
|
|
background: var(--download-secondary-bg);
|
|
color: var(--download-secondary-text);
|
|
}
|
|
|
|
a:hover,
|
|
a:focus-visible {
|
|
background: var(--download-accent-hover);
|
|
}
|
|
|
|
a[data-secondary="true"]:hover,
|
|
a[data-secondary="true"]:focus-visible {
|
|
background: var(--download-secondary-hover-bg);
|
|
}
|
|
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<main>
|
|
<h1>Tolaria Stable Download</h1>
|
|
<p id="download-message">Preparing the latest stable Tolaria download for your platform.</p>
|
|
<p>If the download does not start automatically, use one of the platform links below.</p>
|
|
|
|
<div class="button-list">
|
|
<a id="download-link" href="https://github.com/refactoringhq/tolaria/releases/download/stable-v2026.4.25/Tolaria_2026.4.25_aarch64.dmg">Download Tolaria for macOS</a>
|
|
</div>
|
|
<div class="button-list"><a href="https://github.com/refactoringhq/tolaria/releases/download/stable-v2026.4.25/Tolaria_2026.4.25_aarch64.dmg" data-secondary="true">macOS</a><a href="https://github.com/refactoringhq/tolaria/releases/download/stable-v2026.4.25/Tolaria_2026.4.25_x64-setup.exe" data-secondary="true">Windows</a><a href="https://github.com/refactoringhq/tolaria/releases/download/stable-v2026.4.25/Tolaria_2026.4.25_amd64.AppImage" data-secondary="true">Linux</a></div>
|
|
<div class="button-list">
|
|
<a href="https://refactoringhq.github.io/tolaria/" data-secondary="true">View release history</a>
|
|
</div>
|
|
</main>
|
|
</body>
|
|
</html>
|