Czas połączyć wszystkie techniki animacji w spójny system interfejsu stacji kosmicznej! W tym projekcie stworzysz kompletny dashboard NOVA LAB, który wykorzystuje
<Transition>, <TransitionGroup>, named transitions, mode out-in, staggered animations, appear i accessibility — wszystko co poznałeś w tym module.W tym module nauczyłeś się:
<Transition> — animowanie wejścia/wyjścia pojedynczych elementów z 6 klasami CSSnameout-in, in-out)@enter, @leave i callback done()<TransitionGroup> — animowanie list z v-for, klasa -move dla przesuwania elementów<RouterView>prefers-reduced-motionZbuduj Animowany Dashboard Stacji NOVA LAB z następującymi elementami:
Główny panel, który można pokazać/ukryć przyciskiem. Użyj
<Transition name="fade"> z v-if.Wewnątrz panelu zaimplementuj zakładki (np. "Status" i "Alerts"). Przełączanie między nimi powinno używać
<Transition name="slide" mode="out-in"> z dynamicznym :key.W zakładce "Alerts" wyświetlaj listę alertów z możliwością dodawania i usuwania. Użyj
<TransitionGroup name="list"> z klasami enter, leave i move.Lista modułów stacji powinna pojawiać się kaskadowo przy załadowaniu aplikacji. Użyj
<TransitionGroup appear :css="false"> z JS hookami i opóźnieniem na podstawie indeksu.Dodaj obsługę
prefers-reduced-motion — użytkownicy, którzy nie chcą animacji, powinni widzieć natychmiastowe zmiany bez przejść.1App.vue
2├── Toggle Button (show/hide panel)
3├── Panel kontrolny (Transition name="fade")
4│ ├── Tabs (status / alerts)
5│ │ └── Transition name="slide" mode="out-in"
6│ │ ├── Status view
7│ │ │ └── System metrics display
8│ │ └── Alerts view
9│ │ ├── Add alert button
10│ │ └── TransitionGroup name="list"
11│ │ └── Alert items (add/remove)
12│ └── System modules list (TransitionGroup appear :css="false")
13│ └── Staggered items (delay based on index)done() po zakończeniu animacjiSpróbuj rozbudować projekt o dodatkowe efekty — np. animację bounce dla krytycznych alertów lub efekt pulse dla aktywnych modułów!