feat: Dashboard-Enhancements – Filter, Checkboxen, Animationen
- 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:
@@ -81,15 +81,17 @@ const statusColor = (s: FeedStatus): string => {
|
||||
<div class="feed-list">
|
||||
<template v-for="group in feedGroups" :key="group.date">
|
||||
<div class="feed-date-heading">{{ group.date }}</div>
|
||||
<div
|
||||
v-for="(item, idx) in group.items"
|
||||
:key="idx"
|
||||
class="feed-item"
|
||||
>
|
||||
<span class="feed-time">{{ item.time }}</span>
|
||||
<span class="feed-dot" :style="{ background: statusColor(item.status) }"></span>
|
||||
<span class="feed-text">{{ item.text }}</span>
|
||||
</div>
|
||||
<TransitionGroup name="feed-item" tag="div" class="feed-group-items">
|
||||
<div
|
||||
v-for="(item, idx) in group.items"
|
||||
:key="group.date + '-' + idx"
|
||||
class="feed-item"
|
||||
>
|
||||
<span class="feed-time">{{ item.time }}</span>
|
||||
<span class="feed-dot" :style="{ background: statusColor(item.status) }"></span>
|
||||
<span class="feed-text">{{ item.text }}</span>
|
||||
</div>
|
||||
</TransitionGroup>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
@@ -163,6 +165,9 @@ const statusColor = (s: FeedStatus): string => {
|
||||
overflow-y: auto;
|
||||
flex: 1;
|
||||
}
|
||||
.feed-group-items {
|
||||
display: contents;
|
||||
}
|
||||
.feed-date-heading {
|
||||
font-size: 9px;
|
||||
font-weight: 700;
|
||||
@@ -202,6 +207,25 @@ const statusColor = (s: FeedStatus): string => {
|
||||
color: #7e8799;
|
||||
}
|
||||
|
||||
/* TransitionGroup animations */
|
||||
.feed-item-enter-active {
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
.feed-item-leave-active {
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
.feed-item-enter-from {
|
||||
opacity: 0;
|
||||
transform: translateX(-12px);
|
||||
}
|
||||
.feed-item-leave-to {
|
||||
opacity: 0;
|
||||
transform: translateX(12px);
|
||||
}
|
||||
.feed-item-move {
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
@media (max-width: 900px) {
|
||||
.feed-panel {
|
||||
order: 2;
|
||||
|
||||
Reference in New Issue
Block a user