92 lines
3.8 KiB
PHP
92 lines
3.8 KiB
PHP
<?= $this->extend('layout/main') ?>
|
|
|
|
<?= $this->section('content') ?>
|
|
<?php $fmt = static fn ($v) => number_format((float) $v, 2, ',', ' ') . ' zł'; ?>
|
|
|
|
<div class="d-flex flex-column flex-sm-row justify-content-between align-items-sm-center gap-2 mb-3">
|
|
<h1 class="h4 mb-0">Wyceny</h1>
|
|
<a href="<?= site_url('investments/valuations/new') ?>" class="btn btn-primary">+ Nowa wycena</a>
|
|
</div>
|
|
|
|
<div class="card shadow-sm mb-3">
|
|
<div class="card-body">
|
|
<?= form_open('investments/valuations', ['method' => 'get', 'class' => 'row g-2 align-items-end']) ?>
|
|
<div class="col-8 col-md-4">
|
|
<label class="form-label small mb-1">Instrument</label>
|
|
<select name="instrument_id" class="form-select">
|
|
<option value="">— wszystkie —</option>
|
|
<?php foreach ($instruments as $i): ?>
|
|
<option value="<?= $i['id'] ?>" <?= (string) ($filter['instrument_id'] ?? '') === (string) $i['id'] ? 'selected' : '' ?>>
|
|
<?= esc($i['name']) ?>
|
|
</option>
|
|
<?php endforeach; ?>
|
|
</select>
|
|
</div>
|
|
<div class="col-4 col-md-2">
|
|
<button class="btn btn-outline-primary w-100">Filtruj</button>
|
|
</div>
|
|
<?= form_close() ?>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card shadow-sm">
|
|
<div class="table-responsive">
|
|
<table class="table table-hover mb-0 align-middle valuation-history">
|
|
<thead class="table-light">
|
|
<tr>
|
|
<th>Data</th>
|
|
<th>Instrument</th>
|
|
<th class="text-end">Wartość</th>
|
|
<th class="text-end">Akcje</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php if (empty($valuations)): ?>
|
|
<tr><td colspan="4" class="text-center text-muted py-4">Brak wycen.</td></tr>
|
|
<?php else: foreach ($valuations as $v): ?>
|
|
<tr class="valuation-row">
|
|
<td data-label="Data"><?= esc($v['date']) ?></td>
|
|
<td data-label="Instrument"><?= esc($v['instrument_name'] ?? '—') ?></td>
|
|
<td data-label="Wartość" class="text-end"><?= $fmt($v['value']) ?></td>
|
|
<td data-label="Akcje" class="text-end valuation-actions">
|
|
<a href="<?= site_url('investments/valuations/' . $v['id'] . '/edit') ?>" class="btn btn-sm btn-outline-secondary">Edytuj</a>
|
|
<a href="<?= site_url('investments/valuations/' . $v['id'] . '/delete') ?>" class="btn btn-sm btn-outline-danger"
|
|
onclick="return confirm('Usunąć wycenę?')">Usuń</a>
|
|
</td>
|
|
</tr>
|
|
<?php endforeach; endif; ?>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<style>
|
|
@media (max-width: 767.98px) {
|
|
.valuation-history thead { display: none; }
|
|
.valuation-history, .valuation-history tbody,
|
|
.valuation-history .valuation-row, .valuation-history .valuation-row td {
|
|
display: block;
|
|
width: 100%;
|
|
}
|
|
.valuation-history .valuation-row { padding: .75rem; border-bottom: 1px solid var(--bs-border-color); }
|
|
.valuation-history .valuation-row td {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
gap: 1rem;
|
|
padding: .3rem 0;
|
|
border: 0;
|
|
text-align: right !important;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
.valuation-history .valuation-row td::before {
|
|
content: attr(data-label);
|
|
flex: 0 0 auto;
|
|
color: var(--bs-secondary-color);
|
|
font-size: .875em;
|
|
text-align: left;
|
|
}
|
|
.valuation-history .valuation-actions { align-items: center; flex-wrap: wrap; }
|
|
}
|
|
</style>
|
|
<?= $this->endSection() ?>
|