Переглянути джерело

:recycle: moving sidebars around | moving p2p related to its own file

tags/0.9.0
J 4 роки тому
джерело
коміт
b5c3c9bc5c

+ 19
- 0
vue-theme/src/components/sidebars/events.vue Переглянути файл

1
+<template lang="pug">
2
+h3.t-up upcoming events
3
+ul
4
+    li
5
+        h1 event title
6
+        p date
7
+        p time from : time to
8
+        p location
9
+    li
10
+        h1 event title
11
+        p date
12
+        p time from : time to
13
+        p location
14
+    li
15
+        h1 event title
16
+        p date
17
+        p time from : time to
18
+        p location
19
+</template>

+ 16
- 0
vue-theme/src/components/sidebars/exhibitions.vue Переглянути файл

1
+<template lang="pug">
2
+h3.t-up upcoming exhibitions
3
+ul
4
+    li
5
+        h1 exhibition title
6
+        p date from : date to
7
+        p location
8
+    li
9
+        h1 exhibition title
10
+        p date from : date to
11
+        p location
12
+    li
13
+        h1 exhibition title
14
+        p date from : date to
15
+        p location
16
+</template>

+ 17
- 0
vue-theme/src/components/sidebars/related.vue Переглянути файл

1
+<template lang="pug">
2
+h3.t-up related {{ p2pPostType }}s
3
+    ul
4
+        li(v-for="relatedPost in p2pPostsByType[p2pPostType]")
5
+            router-link(v-if="relatedPost" :to="`/${relatedPost.type}s/${relatedPost.slug}`")
6
+                p {{ relatedPost.title }}
7
+</template>
8
+
9
+<script>
10
+export default {
11
+    props: {
12
+        p2pPostsByType:{
13
+            required: true
14
+        }
15
+    }
16
+}
17
+</script>

+ 25
- 0
vue-theme/src/components/sidebars/sidebar.vue Переглянути файл

7
                 li(v-for="option in sortOptions")
7
                 li(v-for="option in sortOptions")
8
                     router-link(:to="`/${type}/${sortTypes[option]}`").t-cap
8
                     router-link(:to="`/${type}/${sortTypes[option]}`").t-cap
9
                         p {{ option }}
9
                         p {{ option }}
10
+        
10
         .shadow(v-else)
11
         .shadow(v-else)
11
             p {{ type }} sidebar
12
             p {{ type }} sidebar
13
+        
14
+        .shadow(v-if="layout === 'single' && Object.keys(related).length" v-for="p2pPostType in Object.keys(related)")
15
+            h3.t-up related {{ p2pPostType }}s
16
+            ul
17
+                li(v-for="relatedPost in related[p2pPostType]")
18
+                    router-link(v-if="relatedPost" :to="`/${relatedPost.type}s/${relatedPost.slug}`")
19
+                        p {{ relatedPost.title }}
20
+
12
         slot
21
         slot
22
+
23
+        .shadow(v-if="layout === 'single'")
24
+            exhibitions-sidebar
25
+        
26
+        .shadow(v-if="layout === 'single'")
27
+            events-sidebar
28
+        
13
 </template>
29
 </template>
14
 
30
 
15
 <script>
31
 <script>
32
+import exhibitionsSidebar from './exhibitions'
33
+import eventsSidebar from './events'
16
 import { sortTypes } from '@/utils/helpers'
34
 import { sortTypes } from '@/utils/helpers'
17
 
35
 
18
 export default {
36
 export default {
22
         },
40
         },
23
         layout: {
41
         layout: {
24
             type: String
42
             type: String
43
+        },
44
+        related: {
45
+            type: Object
25
         }
46
         }
26
     },
47
     },
48
+    components: {
49
+        exhibitionsSidebar,
50
+        eventsSidebar,
51
+    },
27
     data() {
52
     data() {
28
         return {
53
         return {
29
             sortTypes: {
54
             sortTypes: {

+ 2
- 7
vue-theme/src/pages/single.vue Переглянути файл

36
 
36
 
37
         credits(v-if="type === 'episodes' && post" :post="post")
37
         credits(v-if="type === 'episodes' && post" :post="post")
38
 
38
 
39
-    sidebar(v-if="sidebar" :type="`${type}`" layout="single")
40
-        .shadow(v-if="Object.keys(p2pPostsByType).length" v-for="p2pPostType in Object.keys(p2pPostsByType)")
41
-            h3.t-up related {{ p2pPostType }}s
42
-            ul
43
-                li(v-for="relatedPost in p2pPostsByType[p2pPostType]")
44
-                    router-link(v-if="relatedPost" :to="`/${relatedPost.type}s/${relatedPost.slug}`")
45
-                        p {{ relatedPost.title }}
39
+    sidebar(v-if="sidebar" :type="`${type}`" layout="single" :related="p2pPostsByType")
40
+
46
 </template>
41
 </template>
47
 
42
 
48
 <script>
43
 <script>

Завантаження…
Відмінити
Зберегти