Kaynağa Gözat

:art: commented profile.service.js to help my own understanding of functions, add aspirations and skills json to the data() property on SummaryBar.vue to match mockup data. Switched from WListItem to WTimeline to allow for title and content in display. #TODO style html and add icons to complete issue tasks

tabs-content
K Rob 3 yıl önce
ebeveyn
işleme
3554f74365

+ 1
- 1
frontend/src/components/AspectBar.vue Dosyayı Görüntüle

1
 <template lang="pug">
1
 <template lang="pug">
2
 figure.w-flex.column
2
 figure.w-flex.column
3
     figcaption.w-flex.xs12.justify-space-between.align-center
3
     figcaption.w-flex.xs12.justify-space-between.align-center
4
-        p(v-for="(label, index) in labels" :key="label" :class="{ 'main': index === 1 }")  {{ label }}
4
+        p(v-for="(label, index) in labels" :key="label" :class="{ 'main': index === 1 }")  {{ label }} 
5
     w-progress(v-model="percentage" size="0.5em" round).mb7
5
     w-progress(v-model="percentage" size="0.5em" round).mb7
6
 </template>
6
 </template>
7
 
7
 

+ 2
- 2
frontend/src/components/ProfileCard.vue Dosyayı Görüntüle

66
 import PairingButton from './PairingButton.vue'
66
 import PairingButton from './PairingButton.vue'
67
 
67
 
68
 const router = useRouter()
68
 const router = useRouter()
69
-// const isPaired = ref(true)
70
-const isPaired = ref(false)
69
+const isPaired = ref(true)
70
+//const isPaired = ref(false)
71
 
71
 
72
 const props = defineProps({
72
 const props = defineProps({
73
     card: {
73
     card: {

+ 46
- 1
frontend/src/components/SummaryBar.vue Dosyayı Görüntüle

40
             template(#item-content.3='{ item }')
40
             template(#item-content.3='{ item }')
41
                 .tab--aspirations
41
                 .tab--aspirations
42
                     p {{ tabContent[item].tab }}
42
                     p {{ tabContent[item].tab }}
43
+                    w-timeline(:items='aspirations')
44
+                    
43
 
45
 
44
             // Skills Tab
46
             // Skills Tab
45
             template(#item-content.4='{ item }')
47
             template(#item-content.4='{ item }')
46
                 .tab--skills
48
                 .tab--skills
47
-                    p {{ tabContent[item].tab }}
49
+                    p Education
50
+                    w-timeline(:items='skills.education')
51
+                    
52
+                    p Licenses & Certificates
53
+                    w-timeline(:items='skills.licenses')
54
+
55
+                    p Skills
56
+                    w-timeline(:items='skills.skills')
57
+
58
+                    p Experience
59
+                    w-timeline(:items='skills.experience')
48
 
60
 
49
         // Untabbed Layout
61
         // Untabbed Layout
50
         ul.w-flex.row.justify-space-between(v-else)
62
         ul.w-flex.row.justify-space-between(v-else)
62
 
74
 
63
 <script>
75
 <script>
64
 import SpiderChart from './SpiderChart.vue'
76
 import SpiderChart from './SpiderChart.vue'
77
+
65
 import { currentProfile } from '../services'
78
 import { currentProfile } from '../services'
66
 
79
 
67
 export default {
80
 export default {
91
         },
104
         },
92
     },
105
     },
93
     emits: ['tab-change'],
106
     emits: ['tab-change'],
107
+    data: () => ({
108
+        aspirations: [
109
+            {  title: 'Full-Time', content: 'Full-time for me is working 40 hrs a week in a non-contractual position.', icon: 'wi-check-circle' },
110
+            {  title: 'On-site', content: 'I prefer to be onsite 5 days a week at my primary hospital location.', icon: 'wi-cross-circle' },
111
+            { title: 'Relocate', content: 'I am willing to relocate to states on the east coast. My family is back east.', icon: 'wi-warning-circle' },
112
+            { title: 'Management Skills', content: 'Proactive with leading teams and managing benchmark goals for the department.', icon: 'wi-info-circle' },
113
+            { title: 'Mentorship', content: 'I am seeking mentorship in leadership and building a strong team dynamic.', icon: 'wi-cross-circle' },
114
+            { title: 'Work in Los Angeles, California', content: 'I am eager to work in Los Angeles, California to explore new opportunities in healthcare.', icon: 'wi-warning-circle' },
115
+            { title: 'Work in ICU', content: 'Passionate about working in ICU, providing critical care and making a difference in patients\' lives.', icon: 'wi-info-circle' },
116
+        ],
117
+        skills: {
118
+            education: [
119
+                { title: 'Masters Degree, Science in Nursing', content: 'UCLA', icon: 'wi-check-circle' },
120
+            ],
121
+            licenses: [
122
+                { title: 'California RN License', content: 'FRXD45643YHT678', icon: 'wi-cross-circle' },
123
+                { title: 'ACLS & PALS', content: 'IIDVg909473662678', icon: 'wi-warning-circle' },
124
+                { title: 'BCLS Certification', content: 'LUB9839582', icon: 'wi-cross-circle' },
125
+                { title: 'Diversity Training', content: '', icon: 'wi-warning-circle' },
126
+            ],
127
+            skills: [
128
+                { title: 'Excel Spreadsheet', content: 'Advanced Excel user, adept at creating complex formulas, charts, and pivot tables for data analysis.', icon: 'wi-info-circle' },
129
+                { title: 'fetal heart monitoring', content: 'Proficient in fetal heart monitoring, interpreting data, and promptly acting to ensure fetal well-being.', icon: 'wi-info-circle' },
130
+                { title: 'problem-solving', content: 'Strong problem-solving skills, able to identify issues and implement effective solutions under pressure.', icon: 'wi-info-circle' },
131
+            ],
132
+            experience: [
133
+                { title: 'surgical settings', content: 'Experienced in surgical settings, assisting surgeons and managing patient care during procedures.', icon: 'wi-info-circle' },
134
+
135
+            ],
136
+        },
137
+    }),
94
     computed: {
138
     computed: {
95
         targetScore(){
139
         targetScore(){
96
             try{
140
             try{
108
             this.$emit('tab-change', tabs)
152
             this.$emit('tab-change', tabs)
109
         },
153
         },
110
     },
154
     },
155
+    
111
 }
156
 }
112
 </script>
157
 </script>
113
 <style lang="sass">
158
 <style lang="sass">

+ 12
- 2
frontend/src/services/profile.service.js Dosyayı Görüntüle

19
     }
19
     }
20
     return validProfileInstances
20
     return validProfileInstances
21
 }
21
 }
22
-
22
+/**
23
+ * Creates a new profile for a user ID with the given responses and returns
24
+ * the created profile.
25
+ */
23
 const createProfileForUserId = async (userId, responses) => {
26
 const createProfileForUserId = async (userId, responses) => {
24
     const profile = await db.post(`/user/${userId}/profile`, responses)
27
     const profile = await db.post(`/user/${userId}/profile`, responses)
25
     return profile
28
     return profile
26
 }
29
 }
27
 
30
 
31
+/**
32
+ * Fetches a profile by its profile ID, creates an instance of the Profile
33
+ * class, validates the profile data, and returns the profile instance.
34
+ **/
28
 const fetchProfileByProfileId = async profileId => {
35
 const fetchProfileByProfileId = async profileId => {
29
     let profile
36
     let profile
30
     try {
37
     try {
38
     }
45
     }
39
     return profile
46
     return profile
40
 }
47
 }
41
-
48
+/**
49
+ * Reveals profile information based on the given grouping ID, profile ID,
50
+ * and tag ID.
51
+ */
42
 const revealProfileInfo = async (groupingId, profileId, tagId) => {
52
 const revealProfileInfo = async (groupingId, profileId, tagId) => {
43
     const revealed = await db.post(
53
     const revealed = await db.post(
44
         `/membership/${groupingId}/reveal?profile_id=${profileId}&tag_id=${tagId}`,
54
         `/membership/${groupingId}/reveal?profile_id=${profileId}&tag_id=${tagId}`,

+ 2
- 0
frontend/src/wave.js Dosyayı Görüntüle

27
     WSteps,
27
     WSteps,
28
     WTag,
28
     WTag,
29
     WToolbar,
29
     WToolbar,
30
+    WTimeline,
30
 } from '../node_modules/wave-ui/src/wave-ui/components'
31
 } from '../node_modules/wave-ui/src/wave-ui/components'
31
 
32
 
32
 export default {
33
 export default {
55
     WSteps,
56
     WSteps,
56
     WTag,
57
     WTag,
57
     WToolbar,
58
     WToolbar,
59
+    WTimeline,
58
 }
60
 }

Loading…
İptal
Kaydet