92 lines
3.6 KiB
HTML
92 lines
3.6 KiB
HTML
{% extends "base.html" %}
|
||
{% block title %}Changelog RouterOS{% endblock %}
|
||
{% block extra_head %}
|
||
<!-- Dodajemy Prism.js – globalny arkusz stylów będzie zmieniany przez base.html -->
|
||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-okaidia.min.css" id="prism-style">
|
||
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/prism.min.js"></script>
|
||
<style>
|
||
|
||
pre {
|
||
background-color: #282c34;
|
||
color: #abb2bf;
|
||
font-size: 1.1rem;
|
||
line-height: 1.5;
|
||
padding: 1rem;
|
||
border-radius: 0 0 5px 5px;
|
||
overflow-x: auto;
|
||
margin: 0;
|
||
}
|
||
</style>
|
||
{% endblock %}
|
||
{% block content %}
|
||
<div class="container py-4">
|
||
<!-- Nagłówek z tytułem i przyciskami akcji (przyciski aktualizacji są tutaj, globalny dark mode toggle już w navbarze) -->
|
||
<div class="d-flex justify-content-between align-items-center mb-4">
|
||
<h2>Changelog RouterOS</h2>
|
||
<a href="{{ url_for('force_fetch_changelogs') }}"
|
||
class="btn btn-danger"
|
||
onclick="return confirm('Czy na pewno chcesz ręcznie pobrać wszystkie changelogi? Operacja usunie wszystkie stare wpisy.');">
|
||
Aktualizuj changelogi
|
||
</a>
|
||
</div>
|
||
|
||
<!-- Nawigacja po kanałach -->
|
||
<ul class="nav nav-tabs mb-3">
|
||
<li class="nav-item">
|
||
<a class="nav-link {% if channel=='stable' %}active{% endif %}" href="{{ url_for('routeros_changelog', channel='stable', series=series) }}">Stable</a>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a class="nav-link {% if channel=='rc' %}active{% endif %}" href="{{ url_for('routeros_changelog', channel='rc', series=series) }}">RC</a>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a class="nav-link {% if channel=='beta' %}active{% endif %}" href="{{ url_for('routeros_changelog', channel='beta', series=series) }}">Beta</a>
|
||
</li>
|
||
</ul>
|
||
|
||
<!-- Nawigacja po seriach wersji -->
|
||
<ul class="nav nav-pills mb-3">
|
||
<li class="nav-item">
|
||
<a class="nav-link {% if series=='7.x' %}active{% endif %}" href="{{ url_for('routeros_changelog', channel=channel, series='7.x') }}">7.x</a>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a class="nav-link {% if series=='6.x' %}active{% endif %}" href="{{ url_for('routeros_changelog', channel=channel, series='6.x') }}">6.x</a>
|
||
</li>
|
||
</ul>
|
||
|
||
<!-- Prezentacja wybranego wpisu changeloga -->
|
||
{% if selected_entry %}
|
||
<div class="mb-3">
|
||
<h4 class="changelog-header">
|
||
{{ selected_entry.version | format_version }}
|
||
<small>({{ selected_entry.timestamp.strftime('%Y-%b-%d') }})</small>
|
||
</h4>
|
||
<pre><code class="language-plaintext">{{ selected_entry.details }}</code></pre>
|
||
</div>
|
||
{% else %}
|
||
<p>Brak wpisów dla wybranych ustawień.</p>
|
||
{% endif %}
|
||
|
||
<!-- Formularz wyboru innego wpisu -->
|
||
{% if entries|length > 1 %}
|
||
<form method="GET" action="{{ url_for('routeros_changelog') }}">
|
||
<input type="hidden" name="channel" value="{{ channel }}">
|
||
<input type="hidden" name="series" value="{{ series }}">
|
||
<div class="input-group mb-3">
|
||
<select name="version" class="form-select">
|
||
{% for entry in entries %}
|
||
<option value="{{ entry.version }}" {% if selected_entry and entry.version == selected_entry.version %}selected{% endif %}>
|
||
{{ entry.version | format_version }} ({{ entry.timestamp.strftime('%Y-%b-%d') }})
|
||
</option>
|
||
{% endfor %}
|
||
</select>
|
||
<button class="btn btn-primary" type="submit">Pokaż changelog</button>
|
||
</div>
|
||
</form>
|
||
{% endif %}
|
||
|
||
<div class="mt-4">
|
||
<a href="{{ url_for('dashboard') }}" class="btn btn-secondary">Powrót do dashboardu</a>
|
||
</div>
|
||
</div>
|
||
{% endblock %}
|