pokemon-showdown-client/replay.pokemonshowdown.com/testclient.html
Guangcong Luo 94a1876f61 Support non-full builds in testclient
Non-Preact testclients don't deal well with non-full builds anymore,
now that battledata includes data/text.js. This fixes it so that
they're usable (although no longer being able to edit battle-dex etc
without an initial full build still sucks, it's unavoidable).
2025-04-26 06:02:06 -07:00

164 lines
4.9 KiB
HTML

<!DOCTYPE html>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<title>Replays - Pok&eacute;mon Showdown!</title>
<link rel="stylesheet" href="https://pokemonshowdown.com/style/global.css" />
<link rel="stylesheet" href="https://play.pokemonshowdown.com/style/font-awesome.css" />
<link rel="stylesheet" href="https://play.pokemonshowdown.com/style/battle.css" />
<link rel="stylesheet" href="https://play.pokemonshowdown.com/style/utilichart.css" />
<style>
@media (max-width:820px) {
.battle {
margin: 0 auto;
}
.battle-log {
margin: 7px auto 0;
max-width: 640px;
height: 300px;
position: static;
}
}
.optgroup {
display: inline-block;
line-height: 22px;
font-size: 10pt;
vertical-align: top;
}
.optgroup .button {
height: 25px;
padding-top: 0;
padding-bottom: 0;
}
.optgroup button.button {
padding-left: 12px;
padding-right: 12px;
}
.linklist {
list-style: none;
margin: 0.5em 0;
padding: 0;
}
.linklist li {
padding: 2px 0;
}
.sidebar {
float: left;
width: 320px;
}
.bar-wrapper {
max-width: 1100px;
margin: 0 auto;
}
.bar-wrapper.has-sidebar {
max-width: 1430px;
}
.mainbar {
margin: 0;
padding-right: 1px;
}
.mainbar.has-sidebar {
margin-left: 330px;
}
@media (min-width: 1511px) {
.sidebar {
width: 400px;
}
.bar-wrapper.has-sidebar {
max-width: 1510px;
}
.mainbar.has-sidebar {
margin-left: 410px;
}
}
.section.first-section {
margin-top: 9px;
}
.blocklink small {
white-space: normal;
}
.button {
vertical-align: middle;
}
.replay-controls {
padding-top: 10px;
}
.replay-controls h1 {
font-size: 16pt;
font-weight: normal;
color: #CCC;
}
.pagelink {
text-align: center;
}
.pagelink a {
width: 150px;
}
.textbox, .button {
font-size: 11pt;
vertical-align: middle;
}
@media (max-width: 450px) {
.button {
font-size: 9pt;
}
}
</style>
<div>
<header>
<div class="nav-wrapper"><ul class="nav">
<li><a class="button nav-first" href="https://pokemonshowdown.com/"><img src="https://pokemonshowdown.com/images/pokemonshowdownbeta.png" srcset="https://pokemonshowdown.com/images/pokemonshowdownbeta.png 1x, https://pokemonshowdown.com/images/pokemonshowdownbeta@2x.png 2x" alt="Pok&eacute;mon Showdown" width="146" height="44" /> Home</a></li>
<li><a class="button" href="https://pokemonshowdown.com/dex/">Pok&eacute;dex</a></li>
<li><a class="button cur" href="#">Replay</a></li>
<li><a class="button purplebutton" href="https://smogon.com/dex/" target="_blank">Strategy</a></li>
<li><a class="button nav-last purplebutton" href="https://smogon.com/forums/" target="_blank">Forum</a></li>
<li><a class="button greenbutton nav-first nav-last" href="https://play.pokemonshowdown.com/">Play</a></li>
</ul></div>
</header>
<div class="main" id="main">
<noscript><section class="section">You need to enable JavaScript to use this page; sorry!</section></noscript>
</div>
</div>
<script>
function loadRemoteData(src) {
var scriptEl = document.createElement('script');
scriptEl.src = src.replace(/.*\/(data|js)\//g, 'https://play.pokemonshowdown.com/$1/');
document.head.appendChild(scriptEl);
}
</script>
<script nomodule src="../play.pokemonshowdown.com/js/lib/ps-polyfill.js"></script>
<script src="../play.pokemonshowdown.com/js/lib/preact.min.js"></script>
<script src="https://play.pokemonshowdown.com/config/config.js"></script>
<script src="../play.pokemonshowdown.com/js/lib/jquery-1.11.0.min.js"></script>
<script src="../play.pokemonshowdown.com/js/lib/html-sanitizer-minified.js"></script>
<script src="../play.pokemonshowdown.com/js/battle-sound.js"></script>
<script src="../play.pokemonshowdown.com/js/battledata.js" onerror="loadRemoteData(this.src)"></script>
<script src="../play.pokemonshowdown.com/data/pokedex-mini.js" onerror="loadRemoteData(this.src)"></script>
<script src="../play.pokemonshowdown.com/data/pokedex-mini-bw.js" onerror="loadRemoteData(this.src)"></script>
<script src="../play.pokemonshowdown.com/data/graphics.js" onerror="loadRemoteData(this.src)"></script>
<script src="../play.pokemonshowdown.com/data/pokedex.js" onerror="loadRemoteData(this.src)"></script>
<script src="../play.pokemonshowdown.com/data/moves.js" onerror="loadRemoteData(this.src)"></script>
<script src="../play.pokemonshowdown.com/data/abilities.js" onerror="loadRemoteData(this.src)"></script>
<script src="../play.pokemonshowdown.com/data/items.js" onerror="loadRemoteData(this.src)"></script>
<script src="../play.pokemonshowdown.com/data/teambuilder-tables.js" onerror="loadRemoteData(this.src)"></script>
<script src="../play.pokemonshowdown.com/js/battle-tooltips.js"></script>
<script src="../play.pokemonshowdown.com/js/battle.js"></script>
<script src="js/utils.js"></script>
<script> Net.defaultRoute = 'https://replay.pokemonshowdown.com'; </script>
<script src="js/replays-battle.js"></script>
<script src="js/replays-index.js"></script>
<script src="js/replays.js"></script>