bp/app/Modules/Tasks/Views/tasks/kanban.twig

77 lines
2.9 KiB
Twig
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{% extends 'layouts/base.twig' %}
{% block title %}{{ title }} — Бизнес.Точка{% endblock %}
{% block content %}
<div class="d-flex justify-content-between align-items-center mb-4">
<h1 class="h3 mb-0">{{ title }}</h1>
<div class="d-flex gap-3 align-items-center">
{# Выбор доски #}
<select class="form-select" style="width: 200px" onchange="window.location.href = '{{ base_url('/tasks/kanban?board=') }}' + this.value">
{% for b in boards %}
<option value="{{ b.id }}" {{ board.id == b.id ? 'selected' : '' }}>{{ b.name }}</option>
{% endfor %}
</select>
<div class="btn-group">
<a href="{{ base_url('/tasks') }}" class="btn btn-outline-secondary">
<i class="fa-solid fa-list me-2"></i>Список
</a>
<a href="{{ base_url('/tasks/calendar') }}" class="btn btn-outline-primary">
<i class="fa-solid fa-calendar me-2"></i>Календарь
</a>
</div>
<a href="{{ base_url('/tasks/new?board=' ~ board.id) }}" class="btn btn-primary">
<i class="fa-solid fa-plus me-2"></i>Добавить задачу
</a>
</div>
</div>
{# Статистика #}
<div class="row g-3 mb-4">
<div class="col-md-3">
<div class="card h-100 border-0 shadow-sm">
<div class="card-body text-center">
<h5 class="card-title text-muted mb-0">Всего</h5>
<h2 class="mb-0">{{ stats.total }}</h2>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card h-100 border-0 shadow-sm">
<div class="card-body text-center">
<h5 class="card-title text-muted mb-0">Выполнено</h5>
<h2 class="mb-0 text-success">{{ stats.completed }}</h2>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card h-100 border-0 shadow-sm">
<div class="card-body text-center">
<h5 class="card-title text-muted mb-0">В ожидании</h5>
<h2 class="mb-0 text-primary">{{ stats.pending }}</h2>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card h-100 border-0 shadow-sm">
<div class="card-body text-center">
<h5 class="card-title text-muted mb-0">Просрочено</h5>
<h2 class="mb-0 text-danger">{{ stats.overdue }}</h2>
</div>
</div>
</div>
</div>
{{ csrf_field()|raw }}
{# Канбан доска - универсальный компонент #}
{{ include('@components/kanban/kanban.twig', {
columns: kanbanColumns,
cardComponent: '@Tasks/components/task_card.twig',
moveUrl: base_url('/tasks/move-column'),
addUrl: base_url('/tasks/new'),
addLabel: 'Добавить задачу'
}) }}
{% endblock %}