mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 20:21:09 +02:00
feat(mana/web): clickable page titles open route in new tab
PageShell gains an optional titleHref prop — when set, the header title
renders as an <a target="_blank"> with hover underline. Also wires this
into the homepage app gallery (shared-ui/AppsPage): the grid card title
is now an anchor to /{app.id}, while the rest of the card still opens
the existing detail modal. Card converted from <button> to role=button
so the nested anchor is valid HTML.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
b8bfc4d775
commit
a130f8e4c0
2 changed files with 59 additions and 4 deletions
|
|
@ -125,11 +125,20 @@
|
|||
|
||||
<div class="apps-grid">
|
||||
{#each apps as app, index}
|
||||
<button
|
||||
<!-- svelte-ignore a11y_click_events_have_key_events -->
|
||||
<div
|
||||
class="app-card"
|
||||
class:current={app.id === currentAppId}
|
||||
style="--app-color: {app.color};"
|
||||
role="button"
|
||||
tabindex="0"
|
||||
onclick={() => openModal(index)}
|
||||
onkeydown={(e) => {
|
||||
if (e.key === 'Enter' || e.key === ' ') {
|
||||
e.preventDefault();
|
||||
openModal(index);
|
||||
}
|
||||
}}
|
||||
>
|
||||
<div
|
||||
class="status-indicator"
|
||||
|
|
@ -147,9 +156,18 @@
|
|||
{/if}
|
||||
</div>
|
||||
|
||||
<h3 class="app-name">{app.name}</h3>
|
||||
<a
|
||||
class="app-name app-name-link"
|
||||
href={`/${app.id}`}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
onclick={(e) => e.stopPropagation()}
|
||||
title={`${app.name} in neuem Tab öffnen`}
|
||||
>
|
||||
{app.name}
|
||||
</a>
|
||||
<p class="app-description">{app.description[locale]}</p>
|
||||
</button>
|
||||
</div>
|
||||
{/each}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -377,6 +395,17 @@
|
|||
color: #f3f4f6;
|
||||
}
|
||||
|
||||
.app-name-link {
|
||||
display: inline-block;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
transition: color 0.15s;
|
||||
}
|
||||
.app-name-link:hover {
|
||||
color: var(--app-color);
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.app-description {
|
||||
font-size: 0.75rem;
|
||||
line-height: 1.4;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue