Use Stripe pattern: outline icons by default, filled for active state (bookmarks bookmarked, notifications unread). Remove chevron arrows from tenant/user dropdowns. Add max-width with ellipsis to breadcrumb items to prevent overflow. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
47 lines
2.1 KiB
PHTML
47 lines
2.1 KiB
PHTML
<?php
|
|
|
|
use MintyPHP\Module\Bookmarks\Support\BookmarkUrlNormalizer;
|
|
|
|
$layoutNav = is_array($layoutNav ?? null) ? $layoutNav : [];
|
|
$bookmarkNav = is_array($layoutNav['bookmarks.nav'] ?? null) ? $layoutNav['bookmarks.nav'] : [];
|
|
$bookmarkData = is_array($bookmarkNav['grouped'] ?? null) ? $bookmarkNav['grouped'] : ['groups' => [], 'ungrouped' => []];
|
|
$bookmarkGroups = is_array($bookmarkData['groups'] ?? null) ? $bookmarkData['groups'] : [];
|
|
$bookmarkUngrouped = is_array($bookmarkData['ungrouped'] ?? null) ? $bookmarkData['ungrouped'] : [];
|
|
$currentPath = trim((string) ($bookmarkNav['current_path'] ?? ''));
|
|
|
|
$existing = null;
|
|
if ($currentPath !== '') {
|
|
foreach ($bookmarkUngrouped as $bookmark) {
|
|
$bookmarkUrl = BookmarkUrlNormalizer::canonicalizeRelative((string) ($bookmark['url'] ?? ''));
|
|
if ($bookmarkUrl !== '' && $bookmarkUrl === $currentPath) {
|
|
$existing = $bookmark;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if ($existing === null) {
|
|
foreach ($bookmarkGroups as $group) {
|
|
foreach ((is_array($group['bookmarks'] ?? null) ? $group['bookmarks'] : []) as $bookmark) {
|
|
$bookmarkUrl = BookmarkUrlNormalizer::canonicalizeRelative((string) ($bookmark['url'] ?? ''));
|
|
if ($bookmarkUrl !== '' && $bookmarkUrl === $currentPath) {
|
|
$existing = $bookmark;
|
|
break 2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
?>
|
|
<li>
|
|
<button type="button" data-bookmark-open-dialog
|
|
aria-label="<?php e($existing ? t('Edit bookmark') : t('Bookmarks')); ?>"
|
|
data-tooltip="<?php e($existing ? t('Edit bookmark') : t('Bookmarks')); ?>" data-tooltip-pos="bottom"
|
|
<?php if ($existing): ?>
|
|
data-bookmark-existing-id="<?php e((int) ($existing['id'] ?? 0)); ?>"
|
|
data-bookmark-existing-name="<?php e(trim((string) ($existing['name'] ?? ''))); ?>"
|
|
data-bookmark-existing-group="<?php e($existing['group_id'] ?? ''); ?>"
|
|
<?php endif; ?>>
|
|
<i class="bi <?php e($existing ? 'bi-bookmark-fill' : 'bi-bookmark'); ?>"></i>
|
|
</button>
|
|
</li>
|