71 lines
2.5 KiB
HTML
71 lines
2.5 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block title %}{{ page_title }}{% endblock %}
|
|
|
|
{% block content %}
|
|
<main class="container story-layout">
|
|
<div class="page-head split-head">
|
|
<div>
|
|
<h1>Сюжет</h1>
|
|
<p class="muted">Ваш путь: {{ character.name }} · Lv {{ character.level }}</p>
|
|
</div>
|
|
<div class="head-actions">
|
|
<a class="btn btn-outline-light" href="{% url 'quest_list' %}">Журнал</a>
|
|
<a class="btn btn-outline-light" href="{% url 'inventory' %}">Инвентарь</a>
|
|
</div>
|
|
</div>
|
|
|
|
{% if not scene %}
|
|
<div class="glass-card">
|
|
<h3>Сцены ещё не настроены</h3>
|
|
<p class="muted">Добавьте сцены и варианты выбора в админке, чтобы запустить сюжет.</p>
|
|
<a class="text-link" href="/admin/" target="_blank" rel="noopener">Перейти в админку →</a>
|
|
</div>
|
|
{% else %}
|
|
<div class="story-grid">
|
|
<section class="glass-card story-scene">
|
|
<span class="eyebrow">Сцена</span>
|
|
<h2>{{ scene.title }}</h2>
|
|
<p class="story-body">{{ scene.body }}</p>
|
|
{% if last_entry %}
|
|
<div class="result-card">
|
|
<div>
|
|
<strong>Ваш выбор:</strong> {{ last_entry.choice_text }}
|
|
</div>
|
|
<div class="result-meta">
|
|
<span class="badge badge-outcome badge-{{ last_entry.outcome }}">{{ last_entry.get_outcome_display }}</span>
|
|
{% if last_entry.roll %}
|
|
<span>Бросок: {{ last_entry.roll }} · Итог: {{ last_entry.total }}</span>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
</section>
|
|
|
|
<aside class="glass-card story-choices">
|
|
<h3>Выберите действие</h3>
|
|
<form method="post" class="choice-form">
|
|
{% csrf_token %}
|
|
{% if form %}
|
|
<div class="choice-list">
|
|
{% for field in form.choice %}
|
|
<label class="choice-item">
|
|
{{ field.tag }}
|
|
<span class="choice-text">{{ field.choice_label }}</span>
|
|
</label>
|
|
{% endfor %}
|
|
</div>
|
|
{% if form.choice.errors %}
|
|
<div class="form-error">{{ form.choice.errors|striptags }}</div>
|
|
{% endif %}
|
|
<button type="submit" class="btn btn-primary w-100">Подтвердить</button>
|
|
{% else %}
|
|
<p class="muted">Для этой сцены нет вариантов выбора.</p>
|
|
{% endif %}
|
|
</form>
|
|
</aside>
|
|
</div>
|
|
{% endif %}
|
|
</main>
|
|
{% endblock %}
|