Quellcode durchsuchen

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

tags/0.9.0
J vor 4 Jahren
Ursprung
Commit
b5c3c9bc5c

+ 19
- 0
vue-theme/src/components/sidebars/events.vue Datei anzeigen

@@ -0,0 +1,19 @@
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 Datei anzeigen

@@ -0,0 +1,16 @@
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 Datei anzeigen

@@ -0,0 +1,17 @@
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 Datei anzeigen

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

+ 2
- 7
vue-theme/src/pages/single.vue Datei anzeigen

@@ -36,13 +36,8 @@
36 36
 
37 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 41
 </template>
47 42
 
48 43
 <script>

Laden…
Abbrechen
Speichern