fix: ctrl+click, shared pill rendering, header layout — all in one

Three recurring issues fixed together:

1. Ctrl+click: All protocol and collection pills now use <a href>
   instead of <div onclick>, so ctrl/cmd+click opens in new tab.
   text-decoration:none and color:inherit prevent link styling.

2. Consistent modules: Shared renderProtocolPill() and
   renderCollectionPill() functions used everywhere — library,
   collections list, collection detail, user profile. All produce
   identical HTML with .protocol-grid wrapper for consistent spacing.
   Profile collections no longer have .icon divs.

3. Header layout: Logo (32px) on left with crumb-text wrapper.
   $ protocol-droid on first line, crumb path below it.
   Favicon links and PWA manifest restored.
   Relative paths (frontend/ not /frontend/) for subdirectory support.
This commit is contained in:
Protocolbot
2026-07-09 09:46:31 -06:00
parent 10ee5fe1df
commit b5ce383147
3 changed files with 43 additions and 41 deletions
+2 -1
View File
@@ -238,8 +238,9 @@ header nav a.active { color: var(--accent-bright); border-color: rgba(0,170,255,
background: var(--surface); border: 1px solid var(--border-light);
border-radius: 16px; padding: 14px 20px; display: flex; align-items: flex-start;
gap: 14px; cursor: pointer; transition: all 0.15s; box-shadow: var(--shadow);
text-decoration: none; color: inherit;
}
.protocol-pill:hover { border-color: var(--accent); box-shadow: var(--shadow-hover); transform: translateX(2px); }
.protocol-pill:hover { border-color: var(--accent); box-shadow: var(--shadow-hover); transform: translateX(2px); text-decoration: none; }
.protocol-pill .icon {
width: 38px; height: 38px; border-radius: 10px; background: var(--panel);
display: flex; align-items: center; justify-content: center;