|
@@ -1,17 +1,26 @@
|
|
|
<template>
|
|
<template>
|
|
|
- <div class="slide show-mode">
|
|
|
|
|
- <template v-for="page in pages">
|
|
|
|
|
- <reader-page-vue :key="page.id" :page="page"></reader-page-vue>
|
|
|
|
|
- </template>
|
|
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <div class="slide show-mode">
|
|
|
|
|
+ <template v-for="page in pages">
|
|
|
|
|
+ <reader-page-vue :key="page.id" :page="page"></reader-page-vue>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="tools-top">
|
|
|
|
|
+ <read-mode-button-group-vue
|
|
|
|
|
+ defaultMode="show"
|
|
|
|
|
+ @change-mode="handleChangeMode"
|
|
|
|
|
+ ></read-mode-button-group-vue>
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
import { mapState } from 'vuex'
|
|
import { mapState } from 'vuex'
|
|
|
-import ReaderPageVue from './ReaderPage.vue'
|
|
|
|
|
import generatePages from '@/utils/generate-pages'
|
|
import generatePages from '@/utils/generate-pages'
|
|
|
|
|
+import ReaderPageVue from './ReaderPage.vue'
|
|
|
|
|
+import ReadModeButtonGroupVue from '../../../components/ReadModeButtonGroup.vue'
|
|
|
export default {
|
|
export default {
|
|
|
- components: { ReaderPageVue },
|
|
|
|
|
|
|
+ components: { ReaderPageVue, ReadModeButtonGroupVue },
|
|
|
computed: {
|
|
computed: {
|
|
|
...mapState({
|
|
...mapState({
|
|
|
items: state => state.reader.items
|
|
items: state => state.reader.items
|
|
@@ -19,10 +28,23 @@ export default {
|
|
|
pages() {
|
|
pages() {
|
|
|
return generatePages(this.$store.state.reader.items)
|
|
return generatePages(this.$store.state.reader.items)
|
|
|
}
|
|
}
|
|
|
|
|
+ },
|
|
|
|
|
+ methods: {
|
|
|
|
|
+ handleChangeMode(mode) {
|
|
|
|
|
+ // todo
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|
|
|
@import '@/common/slide/slide.scss';
|
|
@import '@/common/slide/slide.scss';
|
|
|
|
|
+.tools-top {
|
|
|
|
|
+ position: fixed;
|
|
|
|
|
+ top: 20px;
|
|
|
|
|
+ left: 0;
|
|
|
|
|
+ right: 0;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+}
|
|
|
</style>
|
|
</style>
|