Skip to content

Commit ebc0ea2

Browse files
author
Guillaume Chau
committed
feat(status bar): last log animation
1 parent 91a4b2e commit ebc0ea2

File tree

2 files changed

+49
-6
lines changed

2 files changed

+49
-6
lines changed

packages/@vue/cli-ui/src/components/app/StatusBar.vue

Lines changed: 35 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,25 @@
4040
@click="onConsoleClick()"
4141
>
4242
<VueIcon icon="dvr"/>
43-
<LoggerMessage class="last-message"
44-
v-if="consoleLogLast"
45-
:message="consoleLogLast"
46-
/>
47-
<div v-else class="last-message">{{ $t('org.vue.components.status-bar.log.empty') }}</div>
43+
<transition-group
44+
name="slide-up"
45+
duration="600"
46+
tag="div"
47+
class="last-message-container"
48+
>
49+
<LoggerMessage class="last-message"
50+
v-if="consoleLogLast"
51+
:key="consoleLogLast.id"
52+
:message="consoleLogLast"
53+
/>
54+
<div
55+
v-else
56+
key="__empty"
57+
class="last-message no-log"
58+
>
59+
{{ $t('org.vue.components.status-bar.log.empty') }}
60+
</div>
61+
</transition-group>
4862
</div>
4963

5064
<div
@@ -232,10 +246,21 @@ export default {
232246
233247
.console-log
234248
&,
235-
.last-message
249+
.last-message-container
236250
flex 100% 1 1
237251
width 0
238252
253+
.last-message-container
254+
overflow hidden
255+
height 100%
256+
position relative
257+
258+
.last-message
259+
position absolute
260+
left 0
261+
top 4px
262+
width 100%
263+
239264
.logger-message
240265
font-size .9em
241266
padding-right 0
@@ -245,4 +270,8 @@ export default {
245270
color $vue-ui-color-light
246271
.vue-ui-dark-mode &
247272
color $vue-ui-color-dark
273+
274+
.no-log
275+
padding 2px
276+
opacity .5
248277
</style>

packages/@vue/cli-ui/src/style/transitions.styl

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,17 @@
55
.sidepane-enter,
66
.sidepane-leave-to
77
transform translateX(100%)
8+
9+
.slide-up-enter-active,
10+
.slide-up-leave-active
11+
transition transform .3s ease-out, opacity .3s
12+
13+
.slide-up-enter,
14+
.slide-up-leave-to
15+
opacity 0
16+
17+
.slide-up-enter
18+
transform translateY(100%)
19+
20+
.slide-up-leave-to
21+
transform translateY(-100%)

0 commit comments

Comments
 (0)