repod/src/components/Player/Bar.vue

77 lines
1.2 KiB
Vue
Raw Normal View History

2023-08-24 20:29:11 +00:00
<template>
2023-08-28 22:47:22 +00:00
<div v-if="player.episode" class="footer">
2023-12-23 21:49:23 +00:00
<Loading v-if="!player.loaded" />
2023-08-28 22:47:22 +00:00
<ProgressBar v-if="player.loaded" />
<div v-if="player.loaded" class="player">
<img :src="player.episode.image">
2023-12-24 09:50:25 +00:00
<Infos class="infos" />
<Controls class="controls" />
2023-08-28 22:47:22 +00:00
<Timer class="timer" />
<Volume class="volume" />
2023-08-24 21:19:54 +00:00
</div>
2023-08-27 18:01:26 +00:00
</div>
2023-08-24 20:29:11 +00:00
</template>
<script>
2023-08-27 20:20:34 +00:00
import Controls from './Controls.vue'
import Infos from './Infos.vue'
2023-12-23 21:49:23 +00:00
import Loading from '../Atoms/Loading.vue'
2023-08-27 20:20:34 +00:00
import ProgressBar from './ProgressBar.vue'
import Timer from './Timer.vue'
import Volume from './Volume.vue'
2023-08-27 10:45:19 +00:00
2023-08-24 20:29:11 +00:00
export default {
name: 'Bar',
2023-08-27 10:45:19 +00:00
components: {
2023-08-27 20:20:34 +00:00
Controls,
Infos,
2023-12-23 21:49:23 +00:00
Loading,
2023-08-27 20:20:34 +00:00
ProgressBar,
Timer,
Volume,
2023-08-27 10:45:19 +00:00
},
2023-08-24 20:29:11 +00:00
computed: {
2023-08-28 22:47:22 +00:00
player() {
return this.$store.state.player
2023-08-28 20:40:54 +00:00
},
2023-08-28 15:44:17 +00:00
},
2023-08-24 20:29:11 +00:00
}
</script>
<style scoped>
2023-08-24 21:19:54 +00:00
.footer {
2023-08-27 10:45:19 +00:00
background-color: rgba(66, 66, 66, .9);
2023-08-24 21:59:55 +00:00
bottom: 0;
2023-08-27 10:45:19 +00:00
height: 6rem;
2023-08-24 21:59:55 +00:00
right: 0;
2023-08-24 20:29:11 +00:00
position: absolute;
width: 100%;
2023-08-24 21:59:55 +00:00
z-index: 2000;
2023-08-24 20:29:11 +00:00
}
2023-08-27 10:45:19 +00:00
.player {
display: flex;
gap: 1rem;
height: calc(6rem - 6px);
2023-08-27 19:33:39 +00:00
justify-content: space-between;
2023-08-27 10:45:19 +00:00
}
2023-08-27 18:01:26 +00:00
2023-08-27 20:20:34 +00:00
.timer {
2023-08-28 16:18:25 +00:00
width: 30%;
2023-08-27 19:33:39 +00:00
}
.volume {
width: 10%;
}
2023-12-24 09:50:25 +00:00
@media only screen and (max-width: 768px) {
.infos {
flex: 2;
}
.timer, .volume {
display: none;
}
}
2023-08-24 20:29:11 +00:00
</style>