Web UI: setup progress + logs folding, Finished Decks library, commander search UX (debounce, keyboard, highlights, color chips), ranking fixes (first-word priority, substring include), optional auto-select; setup start reliability (POST+GET), force runs, status with percent/ETA/timestamps; stepwise builder with added stage reporting and sidecar summaries; keyboard grid wrap-around; restrict commander search to eligible rows
2025-08-26 09:48:25 -07:00
|
|
|
{% extends "base.html" %}
|
2025-10-28 08:21:52 -07:00
|
|
|
{% from 'partials/_buttons.html' import button %}
|
|
|
|
|
|
Web UI: setup progress + logs folding, Finished Decks library, commander search UX (debounce, keyboard, highlights, color chips), ranking fixes (first-word priority, substring include), optional auto-select; setup start reliability (POST+GET), force runs, status with percent/ETA/timestamps; stepwise builder with added stage reporting and sidecar summaries; keyboard grid wrap-around; restrict commander search to eligible rows
2025-08-26 09:48:25 -07:00
|
|
|
{% block content %}
|
|
|
|
|
<section>
|
|
|
|
|
<div class="actions-grid">
|
2025-10-28 08:21:52 -07:00
|
|
|
{{ button('Build a Deck', variant='primary', href='/build', classes='action-button home-button') }}
|
|
|
|
|
{{ button('Run a JSON Config', variant='secondary', href='/configs', classes='action-button home-button') }}
|
|
|
|
|
{% if show_setup %}{{ button('Initial Setup', variant='secondary', href='/setup', classes='action-button home-button') }}{% endif %}
|
|
|
|
|
{{ button('Owned Library', variant='secondary', href='/owned', classes='action-button home-button') }}
|
|
|
|
|
{{ button('Browse All Cards', variant='secondary', href='/cards', classes='action-button home-button') }}
|
|
|
|
|
{% if show_commanders %}{{ button('Browse Commanders', variant='secondary', href='/commanders', classes='action-button home-button') }}{% endif %}
|
|
|
|
|
{{ button('Finished Decks', variant='secondary', href='/decks', classes='action-button home-button') }}
|
|
|
|
|
{{ button('Browse Themes', variant='secondary', href='/themes/', classes='action-button home-button') }}
|
|
|
|
|
{% if random_ui %}{{ button('Random Build', variant='secondary', href='/random', classes='action-button home-button') }}{% endif %}
|
|
|
|
|
{% if show_diagnostics %}{{ button('Diagnostics', variant='secondary', href='/diagnostics', classes='action-button home-button') }}{% endif %}
|
|
|
|
|
{% if show_logs %}{{ button('View Logs', variant='secondary', href='/logs', classes='action-button home-button') }}{% endif %}
|
Web UI: setup progress + logs folding, Finished Decks library, commander search UX (debounce, keyboard, highlights, color chips), ranking fixes (first-word priority, substring include), optional auto-select; setup start reliability (POST+GET), force runs, status with percent/ETA/timestamps; stepwise builder with added stage reporting and sidecar summaries; keyboard grid wrap-around; restrict commander search to eligible rows
2025-08-26 09:48:25 -07:00
|
|
|
</div>
|
feat(editorial): Phase D synergy commander enrichment, augmentation, lint & docs\n\nAdds Phase D editorial tooling: synergy-based commander selection with 3/2/1 pattern, duplicate filtering, annotated synergy_commanders, promotion to minimum examples, and augmentation heuristics (e.g. Counters Matter/Proliferate injection). Includes new scripts (generate_theme_editorial_suggestions, lint, validate, catalog build/apply), updates orchestrator & web routes, expands CI workflow, and documents usage & non-determinism policies. Updates lint rules, type definitions, and docker configs.
2025-09-18 10:59:20 -07:00
|
|
|
<div id="themes-quick" style="margin-top:1rem; font-size:.85rem; color:var(--text-muted);">
|
|
|
|
|
<span id="themes-quick-status">Themes: …</span>
|
|
|
|
|
</div>
|
Web UI: setup progress + logs folding, Finished Decks library, commander search UX (debounce, keyboard, highlights, color chips), ranking fixes (first-word priority, substring include), optional auto-select; setup start reliability (POST+GET), force runs, status with percent/ETA/timestamps; stepwise builder with added stage reporting and sidecar summaries; keyboard grid wrap-around; restrict commander search to eligible rows
2025-08-26 09:48:25 -07:00
|
|
|
</section>
|
feat(editorial): Phase D synergy commander enrichment, augmentation, lint & docs\n\nAdds Phase D editorial tooling: synergy-based commander selection with 3/2/1 pattern, duplicate filtering, annotated synergy_commanders, promotion to minimum examples, and augmentation heuristics (e.g. Counters Matter/Proliferate injection). Includes new scripts (generate_theme_editorial_suggestions, lint, validate, catalog build/apply), updates orchestrator & web routes, expands CI workflow, and documents usage & non-determinism policies. Updates lint rules, type definitions, and docker configs.
2025-09-18 10:59:20 -07:00
|
|
|
<script>
|
|
|
|
|
(function(){
|
|
|
|
|
function upd(data){
|
|
|
|
|
var el = document.getElementById('themes-quick-status');
|
|
|
|
|
if(!el) return;
|
|
|
|
|
if(!data || !data.ok){ el.textContent='Themes: unavailable'; return; }
|
|
|
|
|
var badge = '';
|
|
|
|
|
if(data.phase === 'themes' || data.phase === 'themes-fast') badge=' (refreshing)';
|
|
|
|
|
else if(data.stale) badge=' (stale)';
|
|
|
|
|
el.textContent = 'Themes: ' + (data.theme_count != null ? data.theme_count : '?') + badge;
|
|
|
|
|
}
|
|
|
|
|
function poll(){
|
|
|
|
|
fetch('/themes/status', { cache:'no-store' })
|
|
|
|
|
.then(function(r){ return r.json(); })
|
|
|
|
|
.then(upd)
|
|
|
|
|
.catch(function(){});
|
|
|
|
|
}
|
|
|
|
|
poll();
|
|
|
|
|
setInterval(poll, 7000);
|
|
|
|
|
})();
|
|
|
|
|
</script>
|
Web UI: setup progress + logs folding, Finished Decks library, commander search UX (debounce, keyboard, highlights, color chips), ranking fixes (first-word priority, substring include), optional auto-select; setup start reliability (POST+GET), force runs, status with percent/ETA/timestamps; stepwise builder with added stage reporting and sidecar summaries; keyboard grid wrap-around; restrict commander search to eligible rows
2025-08-26 09:48:25 -07:00
|
|
|
{% endblock %}
|