<?php
$roulette=new \Plugin\NexoraRoulette\NexoraRoulette();
if(isset($_POST['save_progression'])) {
    try {
        $roulette->saveProgression($_POST);
        message('success','Progresión de Ruleta Nexora guardada para '.$roulette->getRealmLabel().'.');
    } catch(Throwable $e) { message('error',$e->getMessage()); }
}
$cfg=$roulette->progressionSettings();
$rarities=\Plugin\NexoraRoulette\NexoraRoulette::rarityLabels();
?>
<style>
.nxr-prog-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.nxr-prog-box{border:1px solid #ddd;border-radius:6px;padding:12px;background:#fafafa}.nxr-prog-box label{font-size:11px;text-transform:uppercase;color:#666}.nxr-prog-box input{margin-top:6px}.nxr-milestone-table td,.nxr-milestone-table th{vertical-align:middle!important}.nxr-prog-preview{background:#111822;color:#eaf0f7;border-radius:8px;padding:16px}.nxr-prog-preview strong{color:#f0d18b}.nxr-prog-preview .bar{height:8px;background:#29323f;border-radius:99px;overflow:hidden;margin-top:10px}.nxr-prog-preview .bar i{display:block;width:44%;height:100%;background:linear-gradient(90deg,#8f6422,#e7c36e)}
@media(max-width:900px){.nxr-prog-grid{grid-template-columns:1fr 1fr}}
</style>
<h1 class="page-header">Progresión de Ruleta <small><?php echo htmlspecialchars($roulette->getRealmLabel(),ENT_QUOTES,'UTF-8'); ?></small></h1>
<div class="alert alert-info"><strong>Principio:</strong> el giro puede ser azar, pero la constancia no. Los Fragmentos NXR y los hitos crean progreso acumulable sin alterar la probabilidad del premio principal.</div>
<form method="post">
<div class="panel panel-primary">
<div class="panel-heading"><strong>Fragmentos NXR</strong></div>
<div class="panel-body">
<div class="checkbox"><label><input type="checkbox" name="progression_enabled" value="1" <?php echo !empty($cfg['progression_enabled'])?'checked':''; ?>> Activar progresión por giros</label></div>
<div class="checkbox"><label><input type="checkbox" name="show_progress" value="1" <?php echo !empty($cfg['show_progress'])?'checked':''; ?>> Mostrar progreso al jugador en la ruleta</label></div>
<div class="row"><div class="col-md-5"><div class="form-group"><label>Fragmentos base por cada giro procesado</label><input type="number" min="0" max="100000" class="form-control" name="base_fragments_per_spin" value="<?php echo (int)$cfg['base_fragments_per_spin']; ?>"><span class="help-block">Se entregan aunque el premio principal sea común. Un premio de tipo Fragmentos se suma encima de este valor.</span></div></div><div class="col-md-7"><div class="nxr-prog-preview"><small>Ejemplo de lectura del jugador</small><h4 style="margin:6px 0">Fragmentos NXR <strong>142</strong></h4><div>Próximo hito: <strong>25 giros</strong></div><div class="bar"><i></i></div></div></div></div>
<h4>Bonificación por rareza</h4>
<div class="nxr-prog-grid">
<?php foreach(array('common','uncommon','rare','epic','legendary') as $rarity){ $key='fragment_bonus_'.$rarity; ?>
<div class="nxr-prog-box"><label><?php echo htmlspecialchars($rarities[$rarity]??$rarity,ENT_QUOTES,'UTF-8'); ?></label><input type="number" min="0" max="100000" class="form-control" name="<?php echo $key; ?>" value="<?php echo (int)$cfg[$key]; ?>"></div>
<?php } ?>
</div>
</div></div>

<div class="panel panel-default">
<div class="panel-heading"><strong>Hitos de constancia</strong></div>
<div class="panel-body"><p class="text-muted">Cada hito se acredita una sola vez por cuenta y reino. Si una cuenta ya supera el umbral cuando activas esta versión, recibirá el hito pendiente en su siguiente giro. Usa 0 giros para desactivar un hito.</p></div>
<div class="table-responsive"><table class="table table-striped nxr-milestone-table" style="margin:0"><thead><tr><th>Hito</th><th>Giros requeridos</th><th>Fragmentos</th><th>Giros gratuitos</th><th>Lectura</th></tr></thead><tbody>
<?php for($i=1;$i<=4;$i++){ $sp='milestone_'.$i.'_spins'; $fr='milestone_'.$i.'_fragments'; $fs='milestone_'.$i.'_free_spins'; ?>
<tr><td><strong>#<?php echo $i; ?></strong></td><td><input type="number" min="0" class="form-control" name="<?php echo $sp; ?>" value="<?php echo (int)$cfg[$sp]; ?>"></td><td><input type="number" min="0" class="form-control" name="<?php echo $fr; ?>" value="<?php echo (int)$cfg[$fr]; ?>"></td><td><input type="number" min="0" class="form-control" name="<?php echo $fs; ?>" value="<?php echo (int)$cfg[$fs]; ?>"></td><td><small><?php echo (int)$cfg[$sp]>0?'Al llegar a '.number_format((int)$cfg[$sp]).' giros':'Desactivado'; ?></small></td></tr>
<?php } ?>
</tbody></table></div>
<div class="panel-footer"><button type="submit" name="save_progression" value="1" class="btn btn-success"><i class="fa fa-save"></i> Guardar progresión</button></div>
</div>
</form>
<div class="alert alert-warning"><strong>Control económico:</strong> Fragmentos NXR son una unidad de progresión interna. Desde V1.5.0 pueden consumirse en el catálogo de <strong>Canje de Fragmentos</strong>. Antes de aumentar la emisión por giro o por rareza, revisa Economía para comparar circulación actual, emisión y consumo real.</div>
