42 lines
2.3 KiB
PHP
42 lines
2.3 KiB
PHP
<?php
|
|
/** @var array $d */
|
|
/** @var bool $pinned */
|
|
$wid = (int) $d['id'];
|
|
$count = (int) ($d['widget_count'] ?? 0);
|
|
$isPublic = ! empty($d['is_public']);
|
|
?>
|
|
<div class="col-md-6 col-xl-4">
|
|
<div class="cb-dash-card h-100">
|
|
<div class="cb-dash-card-accent"></div>
|
|
<div class="cb-dash-card-body">
|
|
<div class="d-flex justify-content-between align-items-start gap-2 mb-2">
|
|
<div class="min-w-0">
|
|
<a href="<?= base_url('dashboard/view/' . $wid) ?>" class="cb-dash-card-title text-decoration-none"><?= esc($d['name']) ?></a>
|
|
<?php if (! empty($d['description'])): ?>
|
|
<p class="small text-muted mb-0 mt-1 text-truncate-2"><?= esc($d['description']) ?></p>
|
|
<?php endif; ?>
|
|
</div>
|
|
<form action="<?= base_url('dashboard/pin/' . $wid) ?>" method="post" class="m-0 position-relative z-1" onclick="event.stopPropagation();">
|
|
<?= csrf_field() ?>
|
|
<button type="submit" class="btn btn-sm btn-light border-0 p-1 rounded-2 cb-dash-pin" title="<?= $pinned ? 'Unpin' : 'Pin to top' ?>">
|
|
<span class="material-symbols-outlined" style="font-size:20px;"><?= $pinned ? 'star' : 'star_border' ?></span>
|
|
</button>
|
|
</form>
|
|
</div>
|
|
<div class="d-flex flex-wrap align-items-center gap-2 small mt-3 cb-dash-meta-row">
|
|
<span class="cb-dash-badge"><?= $count ?> widget<?= $count === 1 ? '' : 's' ?></span>
|
|
<?php if ($isPublic): ?>
|
|
<span class="cb-dash-badge cb-dash-badge-shared">Shared</span>
|
|
<?php else: ?>
|
|
<span class="cb-dash-badge cb-dash-badge-muted">Private</span>
|
|
<?php endif; ?>
|
|
<span class="text-muted ms-auto"><?= esc($d['updated_at'] ?? '') ?></span>
|
|
</div>
|
|
<div class="d-flex gap-2 mt-3 position-relative z-1 cb-dash-card-actions-row">
|
|
<a href="<?= base_url('dashboard/view/' . $wid) ?>" class="btn btn-sm btn-dark">Open</a>
|
|
<a href="<?= base_url('dashboard/settings/' . $wid) ?>" class="btn btn-sm btn-outline-secondary">Settings</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|