feat: Dashboard-Enhancements – Filter, Checkboxen, Animationen
CI - Build & Test / Backend (.NET) (push) Successful in 25s
CI - Build & Test / Frontend (Vue/TS) (push) Successful in 17s
CI - Build & Test / Security Check (push) Successful in 3s

- IrisPanel: Task-Zahlen aus OperationsStore, Suggestions als Array, Chat via console.log
- OperationsFeed: Filter-Pills filtern Feed-Items, TransitionGroup-Animationen
- AgendaPanel: Checkboxen mit localStorage-Persistenz (nexus-agenda-done)
- ActiveInitiatives: Cards hover-scale, Klick-Handler, Progress-Bars animiert
- RecentlyFinished: Chips klickbar + a11y (role, tabindex, keyup)
- DashboardView: fade-in Animation, Custom-Scrollbar
- VERSION: 0.1.0 initial
- Deploy-Workflow: Version-Bump-Semantik (major=x.0.0, minor=1.x.0, patch=1.0.x)
This commit is contained in:
2026-06-09 19:51:25 +02:00
parent 635e43457d
commit 13d4c2f157
6 changed files with 171 additions and 39 deletions
@@ -27,6 +27,10 @@ const statusMeta: Record<InitiativeStatus, { label: string; color: string; bg: s
paused: { label: 'Paused', color: '#6b7280', bg: 'rgba(107,114,128,0.1)' },
completed: { label: 'Completed', color: '#3b82f6', bg: 'rgba(59,130,246,0.1)' },
}
function onInitiativeClick(title: string) {
console.log('[Dashboard] Open initiative:', title)
}
</script>
<template>
@@ -37,6 +41,10 @@ const statusMeta: Record<InitiativeStatus, { label: string; color: string; bg: s
v-for="(init, idx) in initiatives"
:key="idx"
:class="['initiative-card', 'status-' + init.status]"
@click="onInitiativeClick(init.title)"
role="button"
tabindex="0"
@keyup.enter="onInitiativeClick(init.title)"
>
<div class="init-head">
<h3>{{ init.title }}</h3>
@@ -103,11 +111,17 @@ const statusMeta: Record<InitiativeStatus, { label: string; color: string; bg: s
border: 1px solid rgba(139, 124, 246, 0.08);
border-radius: 14px;
padding: 14px;
cursor: pointer;
transition: all 0.2s ease;
}
.initiative-card:hover {
transform: scale(1.02);
border-color: rgba(139, 124, 246, 0.2);
box-shadow: 0 2px 12px rgba(0,0,0,0.2);
box-shadow: 0 8px 24px rgba(0,0,0,0.3);
}
.initiative-card:focus-visible {
outline: 2px solid #a78bfa;
outline-offset: 2px;
}
.init-head {
display: flex;