CI / Build Native (push) Successful in 6m44s
El error 'window.api.updateCharacterWeight is not a function' se daba porque el browser tenía cacheada la versión vieja de api.js (que tenía updateCharacterInventory en vez de updateCharacterWeight). Agregar ?v=5 a los script src fuerza al browser a re-descargar el JS cuando el URL cambia (con cada nueva versión bump n). Previene errores 'is not a function' después de deploys que agregan/renombran métodos. Aplica a todos los archivos HTML que cargan JS estático.
65 lines
2.5 KiB
HTML
65 lines
2.5 KiB
HTML
<!doctype html>
|
|
<html lang="es" data-theme="light">
|
|
<head>
|
|
<meta charset="UTF-8"/>
|
|
<link rel="icon" type="image/svg+xml" href="/static/favicon.svg"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
|
<title>Calculadora de Craft de Shots — Lineage 2</title>
|
|
<link rel="stylesheet" href="/static/css/pico.min.css"/>
|
|
<link rel="stylesheet" href="/static/css/app.css"/>
|
|
</head>
|
|
<body class="login-page" x-data="authLogin()">
|
|
<article class="login-card">
|
|
<svg class="login-logo" viewBox="0 0 80 80" xmlns="http://www.w3.org/2000/svg"
|
|
aria-label="Logo">
|
|
<defs>
|
|
<linearGradient id="gem" x1="0%" y1="0%" x2="100%" y2="100%">
|
|
<stop offset="0%" stop-color="#10b981"/>
|
|
<stop offset="100%" stop-color="#047857"/>
|
|
</linearGradient>
|
|
</defs>
|
|
<path d="M40 8 L62 28 L40 72 L18 28 Z" fill="url(#gem)" stroke="#065f46" stroke-width="1.5"/>
|
|
<path d="M40 8 L62 28 L18 28 Z" fill="rgba(255,255,255,0.15)"/>
|
|
<path d="M40 72 L62 28 L40 28 Z" fill="rgba(0,0,0,0.1)"/>
|
|
<g class="sparkle">
|
|
<circle cx="50" cy="18" r="2.5" fill="white"/>
|
|
<path d="M50 14 L51 18 L50 22 L49 18 Z M46 18 L50 17 L54 18 L50 19 Z"
|
|
fill="white" opacity="0.7"/>
|
|
</g>
|
|
</svg>
|
|
|
|
<hgroup style="text-align:center;margin-bottom:1.5rem">
|
|
<h1 style="font-size:1.5rem;margin-bottom:0.25rem">Calculadora de Craft de Shots</h1>
|
|
<p style="margin-bottom:0">Lineage 2 — Interlude / Clasico</p>
|
|
</hgroup>
|
|
|
|
<form @submit.prevent="handleSubmit">
|
|
<label>Username
|
|
<input type="text" x-model="username" autocomplete="username" autofocus
|
|
required minlength="3" maxlength="30"/>
|
|
</label>
|
|
<label>Contrasena
|
|
<input type="password" x-model="password" autocomplete="current-password"
|
|
required minlength="8"/>
|
|
</label>
|
|
|
|
<div x-show="error" x-transition class="error-msg" x-text="error"></div>
|
|
|
|
<button type="submit" :disabled="submitting">
|
|
<span x-show="!submitting">Iniciar sesion</span>
|
|
<span x-show="submitting">Procesando…</span>
|
|
</button>
|
|
</form>
|
|
|
|
<p class="login-footer">
|
|
<a href="/register" class="link-action">No tenes cuenta? Crea una</a>
|
|
</p>
|
|
</article>
|
|
|
|
<script src="/static/js/defaults.js?v=5"></script>
|
|
<script src="/static/js/api.js?v=5"></script>
|
|
<script src="/static/js/app.js?v=5"></script>
|
|
<script defer src="/static/js/alpine.min.js?v=5"></script>
|
|
</body>
|
|
</html>
|