Files
ProgressionMods/progression_backend/static/index.html
T
HRiggs 86b8ab9c75
Build and Publish Container / Publish Linux container (push) Successful in 4m59s
feat: better first time downloading, feat: more logging
2026-10-05 14:23:25 -04:00

254 lines
12 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Build the latest Progression mod list for RimWorld.">
<meta name="theme-color" content="#151515">
<title>Progression — RimWorld Modpack</title>
<link rel="icon" type="image/png" href="/art/ProgressionICO.png">
<link rel="stylesheet" href="/static/styles.css">
</head>
<body>
<div class="intro" id="intro" aria-hidden="true">
<div class="intro-shade"></div>
<div class="intro-content">
<img src="/art/GameTitle.png" alt="" class="intro-logo">
<p>Preparing the latest mod list</p>
</div>
</div>
<div class="page-shell" id="app">
<header class="site-header">
<a class="brand" href="/" aria-label="Progression home">
<img src="/art/GameTitle.png" alt="RimWorld Progression">
</a>
<div class="service-state" id="service-state" aria-live="polite">
<span class="state-dot"></span>
<span>Connecting</span>
</div>
</header>
<main>
<section class="hero panel" aria-labelledby="page-title">
<div class="hero-copy">
<h1 id="page-title"><em>Built for beginners.</em><br>A current mod list in one click.</h1>
<p class="hero-summary">Choose the expansions you own and download a ready-to-load RimWorld mod list.</p>
<button class="start-button" id="start-wizard" type="button">
<span>
<strong>Download RimWorld Mod List</strong>
<small>Start here</small>
</span>
<span class="start-arrow" aria-hidden="true">→</span>
</button>
<a class="windows-download" href="/api/downloads/windows">
<span class="windows-mark" aria-hidden="true">⊞</span>
<span>
<strong>Download the Windows app</strong>
<small>Latest ProgressionLoader.exe</small>
</span>
<span class="windows-download-arrow" aria-hidden="true">↓</span>
</a>
<div class="freshness">
<span>RML last updated</span>
<strong id="last-updated">Checking…</strong>
<small id="update-detail">Workshop data refreshes every hour.</small>
</div>
</div>
<div class="hero-art" aria-hidden="true">
<img src="/art/ProgressionLogo.png" alt="">
</div>
</section>
<section class="count-grid" aria-label="Current mod counts">
<article class="count-card count-total">
<span class="count-label">Total</span>
<strong id="count-total">—</strong>
<small>unique mods</small>
</article>
<article class="count-card count-core">
<span class="count-label">Core</span>
<strong id="count-core">—</strong>
<small>foundation</small>
</article>
<article class="count-card count-content">
<span class="count-label">Content</span>
<strong id="count-content">—</strong>
<small>gameplay</small>
</article>
<article class="count-card count-cosmetics">
<span class="count-label">Cosmetics</span>
<strong id="count-cosmetics">—</strong>
<small>visuals</small>
</article>
</section>
<p class="action-message" id="action-message" aria-live="polite"></p>
</main>
<footer>
<span id="footer-status">Workshop data refreshed every hour</span>
<div class="footer-credits">
<span class="art-credit">Art by Ferny</span>
<a class="hr-link" href="https://hudsonriggs.systems" target="_blank" rel="noopener noreferrer" aria-label="Visit Hudson Riggs Systems">
<img src="/art/hudsonriggssystems.png" alt="Hudson Riggs Systems">
</a>
</div>
</footer>
</div>
<dialog class="wizard" id="download-wizard" aria-labelledby="wizard-title">
<div class="wizard-shell">
<header class="wizard-header">
<div>
<span class="wizard-eyebrow">Progression Loader</span>
<strong id="wizard-title">Build your mod list</strong>
</div>
<button class="icon-button" id="close-wizard" type="button" aria-label="Close">×</button>
</header>
<ol class="wizard-progress" aria-label="Download steps">
<li class="active" aria-current="step"><span>1</span><small>Collections</small></li>
<li><span>2</span><small>Setup</small></li>
<li><span>3</span><small>Expansions</small></li>
<li><span>4</span><small>Download</small></li>
</ol>
<div class="wizard-viewport">
<section class="wizard-step active" data-step="0">
<p class="step-kicker">Step one</p>
<h2>Steam Workshop collections</h2>
<p class="step-lede">The service keeps Progression’s three source collections current for you.</p>
<div class="collection-checks">
<div><span class="checkmark">✓</span><span><strong>Core</strong><small><b data-collection-count="core">—</b> mods</small></span></div>
<div><span class="checkmark">✓</span><span><strong>Content</strong><small><b data-collection-count="content">—</b> mods</small></span></div>
<div><span class="checkmark">✓</span><span><strong>Cosmetics</strong><small><b data-collection-count="cosmetics">—</b> mods</small></span></div>
</div>
<div class="wizard-actions wizard-actions-end">
<button class="button button-primary" type="button" data-next>Continue</button>
</div>
</section>
<section class="wizard-step" data-step="1" hidden>
<p class="step-kicker">Step two</p>
<h2>RimWorld setup verification</h2>
<p class="step-lede">Before creating the list, make sure the game has created its configuration folders.</p>
<ul class="setup-list">
<li><span>✓</span>RimWorld has finished downloading</li>
<li><span>✓</span>You have launched RimWorld at least once</li>
<li><span>✓</span>The game reaches the main menu without errors</li>
<li><span>✓</span>Your owned expansions are installed and active</li>
</ul>
<label class="confirm-row">
<input type="checkbox" id="setup-confirm">
<span>I’ve completed these steps</span>
</label>
<div class="wizard-actions">
<button class="button button-back" type="button" data-back>Back</button>
<button class="button button-primary" id="setup-next" type="button" data-next disabled>Continue</button>
</div>
</section>
<section class="wizard-step" data-step="2" hidden>
<p class="step-kicker">Step three</p>
<h2>Choose your expansions</h2>
<p class="step-lede">The complete Progression experience requires every RimWorld expansion listed below.</p>
<fieldset class="dlc-grid" id="dlc-options">
<legend class="sr-only">Required RimWorld expansions</legend>
<label><input type="checkbox" value="royalty" checked><span>Royalty</span></label>
<label><input type="checkbox" value="ideology" checked><span>Ideology</span></label>
<label><input type="checkbox" value="biotech" checked><span>Biotech</span></label>
<label><input type="checkbox" value="anomaly" checked><span>Anomaly</span></label>
<label><input type="checkbox" value="odyssey" checked><span>Odyssey</span></label>
</fieldset>
<div class="expansion-warning" id="expansion-warning" role="status" aria-live="polite" hidden>
<div class="expansion-warning-copy">
<span>Required</span>
<strong>Missing required expansions</strong>
<p id="expansion-warning-text"></p>
</div>
<div class="missing-expansion-icons" id="missing-expansion-icons" aria-hidden="true"></div>
</div>
<div class="wizard-actions">
<button class="button button-back" type="button" data-back>Back</button>
<button class="button button-primary" id="expansions-next" type="button" data-next>Continue</button>
</div>
</section>
<section class="wizard-step" data-step="3" hidden>
<p class="step-kicker">Final step</p>
<h2>Choose your mod list</h2>
<p class="step-lede">The standard mod list is ready by default. Choose Homebrew only if you want to keep mods already enabled in your game.</p>
<div class="list-type-grid" role="radiogroup" aria-label="Mod list type">
<label>
<input type="radio" name="list-type" value="standard" checked>
<span><strong>Standard mod list</strong><small>The complete Progression list</small></span>
</label>
<label>
<input type="radio" name="list-type" value="homebrew">
<span><strong>Homebrew</strong><small>Keep your enabled mods</small></span>
</label>
</div>
<div class="homebrew-upload" id="homebrew-settings" hidden>
<label class="file-picker" for="mods-config">
<input type="file" id="mods-config" accept=".xml,text/xml">
<span class="file-picker-copy">
<strong id="file-label">Choose ModsConfig.xml</strong>
<small>Processed in memory and never stored</small>
</span>
<span class="file-action">Browse</span>
</label>
<p><strong>After loading:</strong> auto-sort and check for mod conflicts.</p>
</div>
<section class="install-location" aria-labelledby="install-location-title">
<div class="install-location-heading">
<div>
<span>After downloading</span>
<strong id="install-location-title">Move the RML into your <span id="detected-os-name">computer’s</span> ModLists folder</strong>
</div>
<button class="path-toggle" id="show-all-paths" type="button" aria-expanded="false" aria-controls="all-install-paths">Show other OS</button>
</div>
<code class="detected-path" id="detected-os-path"></code>
<div class="all-install-paths" id="all-install-paths" hidden>
<div><strong>Windows</strong><code>%USERPROFILE%\AppData\LocalLow\Ludeon Studios\RimWorld by Ludeon Studios\ModLists</code></div>
<div><strong>macOS</strong><code>~/Library/Application Support/RimWorld/ModLists</code></div>
<div><strong>Linux</strong><code>~/.config/unity3d/Ludeon Studios/RimWorld by Ludeon Studios/ModLists</code></div>
</div>
</section>
<div class="autosort-confirmation" id="autosort-confirmation">
<section class="autosort-card" aria-labelledby="autosort-title">
<span class="autosort-mark" aria-hidden="true">↕</span>
<div>
<span class="autosort-eyebrow">Required after loading</span>
<h3 id="autosort-title">Auto-sort before you play</h3>
<p>Open RimWorld’s mod manager, load the RML, then select <strong>Auto-sort</strong> and review any conflicts before starting a game.</p>
</div>
</section>
<button class="autosort-acknowledge" id="acknowledge-autosort" type="button" aria-pressed="false">Yes, I understand</button>
</div>
<div class="availability" id="rml-availability" aria-live="polite">Checking RML availability…</div>
<p class="wizard-message" id="wizard-message" aria-live="polite"></p>
<div class="wizard-actions">
<button class="button button-back" type="button" data-back>Back</button>
<button class="button button-download" id="download-list" type="button" disabled>
<span>Download mod list</span><span aria-hidden="true">↓</span>
</button>
</div>
</section>
</div>
</div>
</dialog>
<script src="/static/app.js" defer></script>
</body>
</html>