| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- <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>
- </template>
- <script>
- import { mapState } from 'vuex'
- import generatePages from '@/utils/generate-pages'
- import ReaderPageVue from './ReaderPage.vue'
- import ReadModeButtonGroupVue from '../../../components/ReadModeButtonGroup.vue'
- export default {
- components: { ReaderPageVue, ReadModeButtonGroupVue },
- computed: {
- ...mapState({
- items: state => state.reader.items
- }),
- pages() {
- return generatePages(this.$store.state.reader.items)
- }
- },
- methods: {
- handleChangeMode(mode) {
- // todo
- }
- }
- }
- </script>
- <style lang="scss" scoped>
- @import '@/common/slide/slide.scss';
- .tools-top {
- position: fixed;
- top: 20px;
- left: 0;
- right: 0;
- display: flex;
- justify-content: center;
- }
- </style>
|