Преглед изворни кода

:sparkles: sketching out components for gui

tags/0.0.1^2
toj пре 3 година
родитељ
комит
45ba9778e7

+ 280
- 6688
frontend/package-lock.json
Разлика између датотеке није приказан због своје велике величине
Прегледај датотеку


+ 1
- 1
frontend/package.json Прегледај датотеку

@@ -33,7 +33,7 @@
33 33
         "pug-plain-loader": "^1.1.0",
34 34
         "sass": "^1.54.4",
35 35
         "sass-loader": "^10.3.1",
36
-        "vite": "^2.8.6",
36
+        "vite": "^2.9.15",
37 37
         "vite-fs": "^0.0.2",
38 38
         "watch": "^1.0.2"
39 39
     }

+ 29
- 0
frontend/src/components/AspectBar.vue Прегледај датотеку

@@ -0,0 +1,29 @@
1
+<template lang="pug">
2
+figure.w-flex.column
3
+    figcaption.w-flex.xs12.justify-space-between.align-center
4
+        p(v-for="label in labels" :key="label").text-upper {{ label }}
5
+    w-progress(v-model="percentage" size="0.5em" round).mt4
6
+</template>
7
+
8
+<script>
9
+export default {
10
+    props: {
11
+        labels: {
12
+            required: true,
13
+            type: Array,
14
+            default: () => ['left', 'right'],
15
+        },
16
+        percentage: {
17
+            required: true,
18
+            type: Number,
19
+            default: 50,
20
+        },
21
+        size: {
22
+            required: true,
23
+            type: Number,
24
+            default: 50,
25
+        },
26
+    },
27
+    data: () => ({}),
28
+}
29
+</script>

+ 16
- 0
frontend/src/components/NamePlate.vue Прегледај датотеку

@@ -0,0 +1,16 @@
1
+<template lang="pug">
2
+.xs12
3
+    h1.text-capitalize first last
4
+        span O    
5
+    p.text-capitalize job title | location, st    
6
+    p.text-capitalize gender 
7
+        span.text-capitalize | pronouns
8
+        span.text-capitalize | ethnicity    
9
+</template>
10
+
11
+<script>
12
+export default {
13
+    props: {},
14
+    data: () => ({}),
15
+}
16
+</script>

+ 11
- 0
frontend/src/components/PairingButton.vue Прегледај датотеку

@@ -0,0 +1,11 @@
1
+<template lang="pug">
2
+w-tag(color="mint-green" bg-color="red" xl).xs12.mt4.mb4
3
+    p.pa4.text-upper paired    
4
+</template>
5
+
6
+<script>
7
+export default {
8
+    props: {},
9
+    data: () => ({}),
10
+}
11
+</script>

+ 37
- 0
frontend/src/components/SummaryBar.vue Прегледај датотеку

@@ -0,0 +1,37 @@
1
+<template lang="pug">
2
+nav.xs12
3
+    ul.xs12.w-flex.row
4
+        li(v-if="showAbout") about
5
+        li(v-for="[label, percentage] in summary" :key="label").w-flex.row
6
+            w-icon(xl).mr1 mdi mdi-heart
7
+            .w-flex.column.justify-start
8
+                p {{ percentage }}%
9
+                p.text-capitalize {{ label }}
10
+</template>
11
+
12
+<script>
13
+export default {
14
+    props: {
15
+        summary: {
16
+            required: true,
17
+            type: Array,
18
+            default: () => [
19
+                ['passion', 50],
20
+                ['aspirations', 50],
21
+                ['skills', 50],
22
+            ],
23
+        },
24
+        showAbout: {
25
+            required: false,
26
+            type: Boolean,
27
+            default: false,
28
+        },
29
+        showIcon: {
30
+            required: false,
31
+            type: Boolean,
32
+            default: true,
33
+        },
34
+    },
35
+    data: () => ({}),
36
+}
37
+</script>

+ 21
- 0
frontend/src/components/TagList.vue Прегледај датотеку

@@ -0,0 +1,21 @@
1
+<template lang="pug">
2
+w-tag(v-for="tag in tags" color="pink-light1" bg-color="pink-light5")
3
+    w-icon(v-if="icon" class="mr1" sm) {{ icon.family }} {{ icon.family }}-{{ icon.shape }}
4
+    p {{ tag }}
5
+</template>
6
+
7
+<script>
8
+export default {
9
+    props: {
10
+        tags: {
11
+            required: true,
12
+            type: Array,
13
+            default: () => ['tag', 'tag', 'tag'],
14
+        },
15
+        icon: {
16
+            type: Object,
17
+        },
18
+    },
19
+    data: () => ({}),
20
+}
21
+</script>

+ 15
- 1
frontend/src/views/HomeView.vue Прегледај датотеку

@@ -3,6 +3,10 @@ main.view--home(
3 3
     style='display: flex; flex-direction: column; gap: 40px; margin-top: 1em'
4 4
 )
5 5
     header
6
+        SummaryBar
7
+        TagList(:icon="{ family: 'mdi', shape: 'heart' }")
8
+        AspectBar
9
+        PairingButton
6 10
         h2 Match Queue
7 11
 
8 12
     article(v-if='cards.length && !loading')
@@ -17,6 +21,10 @@ main.view--home(
17 21
 <script>
18 22
 import 'wave-ui/dist/wave-ui.css'
19 23
 import ProfileCardList from '../components/ProfileCardList.vue'
24
+import TagList from '../components/TagList.vue'
25
+import AspectBar from '../components/AspectBar.vue'
26
+import SummaryBar from '../components/SummaryBar.vue'
27
+import PairingButton from '../components/PairingButton.vue'
20 28
 
21 29
 import { Card } from '../entities'
22 30
 import {
@@ -57,7 +65,13 @@ const converGroupingToCard = grouping => {
57 65
 
58 66
 export default {
59 67
     name: 'HomeView',
60
-    components: { ProfileCardList },
68
+    components: {
69
+        ProfileCardList,
70
+        AspectBar,
71
+        TagList,
72
+        SummaryBar,
73
+        PairingButton,
74
+    },
61 75
     mixins: [mixins.pidMixin, mixins.cardMixin],
62 76
     methods: {
63 77
         /** Gets called from cardMixin */

+ 2
- 0
frontend/src/wave.js Прегледај датотеку

@@ -19,6 +19,7 @@ import {
19 19
     WSlider,
20 20
     WSpinner,
21 21
     WSteps,
22
+    WTag,
22 23
     WToolbar,
23 24
 } from '../node_modules/wave-ui/src/wave-ui/components'
24 25
 
@@ -40,5 +41,6 @@ export default {
40 41
     WSlider,
41 42
     WSpinner,
42 43
     WSteps,
44
+    WTag,
43 45
     WToolbar,
44 46
 }

Loading…
Откажи
Сачувај