diaseu пре 4 година
родитељ
комит
07579a63f2

+ 2
- 2
frontend/src/App.vue Прегледај датотеку

@@ -5,8 +5,8 @@ main
5 5
 
6 6
 <script>
7 7
 export default {
8
-  name: "app",
9
-  components: {}
8
+    name: 'app',
9
+    components: {},
10 10
 }
11 11
 </script>
12 12
 

+ 42
- 43
frontend/src/components/Messages.vue Прегледај датотеку

@@ -1,51 +1,51 @@
1 1
 <template>
2
-  <div class="sidebar__messages">
3
-    <h4 class="message__title">{{ title }}</h4>
4
-    <router-link
5
-      :to="'/chats/' + user.uid"
6
-      v-for="user in users"
7
-      :key="user.uid"
8
-      :class="[uid == user.uid ? 'active' : '',  'sidebar__message']"
9
-    >
10
-      <div class="message__left">
11
-        <p> avatar goes here
12
-      </div>
13
-      <div class="message__right">
14
-        <h4 class="message__name">{{ user.name }}</h4>
15
-        <p class="message__content">
16
-          {{ user.metadata.rawMetadata || "Hello I'm using tinder!" }}
17
-        </p>
18
-      </div>
19
-    </router-link>
20
-  </div>
2
+    <div class="sidebar__messages">
3
+        <h4 class="message__title">{{ title }}</h4>
4
+        <router-link
5
+            :to="'/chats/' + user.uid"
6
+            v-for="user in users"
7
+            :key="user.uid"
8
+            :class="[uid == user.uid ? 'active' : '', 'sidebar__message']"
9
+        >
10
+            <div class="message__left">
11
+                <p>avatar goes here</p>
12
+            </div>
13
+
14
+            <div class="message__right">
15
+                <h4 class="message__name">{{ user.name }}</h4>
16
+                <p class="message__content">
17
+                    {{ user.metadata.rawMetadata || "Hello I'm using tinder!" }}
18
+                </p>
19
+            </div>
20
+        </router-link>
21
+    </div>
21 22
 </template>
22 23
 
23 24
 <script>
24 25
 export default {
25
-  name: "messages",
26
-  props: {
27
-    title: { type: String, default: "Messages" },
28
-    users: {
29
-      type: [Object, Array],
30
-      default: function () {
31
-        return [
32
-          {
33
-            uid: "1",
34
-            name: "Fullname",
35
-            avatar:
36
-              "https://hips.hearstapps.com/hmg-prod.s3.amazonaws.com/images/newborn-baby-boy-sleeping-peacefully-wearing-knit-royalty-free-image-1589459736.jpg?crop=0.669xw:1.00xh;0.228xw,0&resize=640:*",
37
-            metadata: { age: "21", rawMetadata: "Some Text Here!" },
38
-          },
39
-        ];
40
-      },
26
+    name: 'messages',
27
+    props: {
28
+        title: { type: String, default: 'Messages' },
29
+        users: {
30
+            type: [Object, Array],
31
+            default: function () {
32
+                return [
33
+                    {
34
+                        uid: '1',
35
+                        name: 'Fullname',
36
+                        avatar: 'https://hips.hearstapps.com/hmg-prod.s3.amazonaws.com/images/newborn-baby-boy-sleeping-peacefully-wearing-knit-royalty-free-image-1589459736.jpg?crop=0.669xw:1.00xh;0.228xw,0&resize=640:*',
37
+                        metadata: { age: '21', rawMetadata: 'Some Text Here!' },
38
+                    },
39
+                ]
40
+            },
41
+        },
41 42
     },
42
-  },
43
-  computed: {
44
-    uid() {
45
-      return this.$route.params.uid;
43
+    computed: {
44
+        uid() {
45
+            return this.$route.params.uid
46
+        },
46 47
     },
47
-  },
48
-};
48
+}
49 49
 </script>
50 50
 
51 51
 <style lang="postcss">
@@ -87,5 +87,4 @@ export default {
87 87
 
88 88
 .message__name
89 89
   margin-bottom: 10px
90
-
91
-</style>
90
+</style>

+ 75
- 79
frontend/src/components/TinderCard.vue Прегледај датотеку

@@ -1,93 +1,89 @@
1 1
 <template>
2
-  <div class="tinder__card">
3
-    <div class="tinder__card__container">
4
-      <div
5
-        v-for="user in users"
6
-        :key="user.id"
7
-        @throwout="swipped(user)"
8
-        :config="config"
9
-        class="swipe"
10
-      >
11
-        <div
12
-          class="card"
13
-          :style="{ 'background-image': `url(${user.avatar})` }"
14
-        >
15
-          <div class="card__content">
16
-            <h3>{{ user.name }}</h3>
17
-          </div>
18
-        </div>
19
-      </div>
2
+    <div class="tinder__card">
3
+        <div class="tinder__card__container">
4
+            <div
5
+                v-for="user in users"
6
+                :key="user.id"
7
+                @throwout="swipped(user)"
8
+                :config="config"
9
+                class="swipe"
10
+            >
11
+                <div
12
+                    class="card"
13
+                    :style="{ 'background-image': `url(${user.avatar})` }"
14
+                >
15
+                    <div class="card__content">
16
+                        <h3>{{ user.name }}</h3>
17
+                    </div>
18
+                </div>
19
+            </div>
20 20
 
21
-      <div class="swipe__icons">
22
-        // Icons
23
-      </div>
21
+            <div class="swipe__icons">// Icons</div>
22
+        </div>
24 23
     </div>
25
-  </div>
26 24
 </template>
27 25
 
28 26
 <script>
29 27
 export default {
30
-  name: "tinder-cards",
31
-  props: {
32
-    users: {
33
-      type: [Object, Array],
34
-      default: function () {
35
-        return [
36
-          {
37
-            uid: "1",
38
-            name: "Fullname",
39
-            avatar:
40
-              "https://hips.hearstapps.com/hmg-prod.s3.amazonaws.com/images/newborn-baby-boy-sleeping-peacefully-wearing-knit-royalty-free-image-1589459736.jpg?crop=0.669xw:1.00xh;0.228xw,0&resize=640:*",
41
-            metadata: { age: "21", rawMetadata: "Some Text Here!" },
42
-          },
43
-        ];
44
-      },
45
-    },
46
-    uid: {
47
-      type: String
48
-    }
49
-  },
50
-  data() {
51
-    return {
52
-      config: {
53
-        // allowedDirections: [VueSwing.Direction.LEFT, VueSwing.Direction.RIGHT],
54
-        minThrowOutDistance: 250,
55
-        maxThrowOutDistance: 300,
56
-      },
57
-      favorites: [],
58
-      requests: [],
59
-    };
60
-  },
61
-  created() {
62
-    this.getUser();
63
-  },
64
-  components: {},
65
-  methods: {
66
-    logOut() {
67
-    },
68
-    reject() {
69
-      this.swipped(this.currentCard);
28
+    name: 'tinder-cards',
29
+    props: {
30
+        users: {
31
+            type: [Object, Array],
32
+            default: function () {
33
+                return [
34
+                    {
35
+                        uid: '1',
36
+                        name: 'Fullname',
37
+                        avatar: 'https://hips.hearstapps.com/hmg-prod.s3.amazonaws.com/images/newborn-baby-boy-sleeping-peacefully-wearing-knit-royalty-free-image-1589459736.jpg?crop=0.669xw:1.00xh;0.228xw,0&resize=640:*',
38
+                        metadata: { age: '21', rawMetadata: 'Some Text Here!' },
39
+                    },
40
+                ]
41
+            },
42
+        },
43
+        uid: {
44
+            type: String,
45
+        },
70 46
     },
71
-    swipped(user) {
72
-      const index = this.users.findIndex((u) => u.uid == user.uid);
73
-      this.users.splice(index, 1);
74
-      user.id = Date.now() + (Math.random() * 100000).toFixed();
75
-      this.users.unshift({ ...user });
47
+    data() {
48
+        return {
49
+            config: {
50
+                // allowedDirections: [VueSwing.Direction.LEFT, VueSwing.Direction.RIGHT],
51
+                minThrowOutDistance: 250,
52
+                maxThrowOutDistance: 300,
53
+            },
54
+            favorites: [],
55
+            requests: [],
56
+        }
76 57
     },
77
-    getUser() {
78
-      return 
58
+    created() {
59
+        this.getUser()
79 60
     },
80
-    onRequest() {
81
-      const data = { ...this.currentCard };
82
-      return
61
+    components: {},
62
+    methods: {
63
+        logOut() {},
64
+        reject() {
65
+            this.swipped(this.currentCard)
66
+        },
67
+        swipped(user) {
68
+            const index = this.users.findIndex(u => u.uid == user.uid)
69
+            this.users.splice(index, 1)
70
+            user.id = Date.now() + (Math.random() * 100000).toFixed()
71
+            this.users.unshift({ ...user })
72
+        },
73
+        getUser() {
74
+            return
75
+        },
76
+        onRequest() {
77
+            const data = { ...this.currentCard }
78
+            return
79
+        },
83 80
     },
84
-  },
85
-  computed: {
86
-    currentCard() {
87
-      return this.users[this.users.length - 1];
81
+    computed: {
82
+        currentCard() {
83
+            return this.users[this.users.length - 1]
84
+        },
88 85
     },
89
-  },
90
-};
86
+}
91 87
 </script>
92 88
 <style lang="postcss">
93 89
 .card
@@ -152,4 +148,4 @@ export default {
152 148
 @media only screen and (min-width: 768px)
153 149
   .swipe__icon__power
154 150
     display: none
155
-</style>
151
+</style>

+ 16
- 16
frontend/src/main.js Прегледај датотеку

@@ -1,24 +1,24 @@
1 1
 import { createApp } from 'vue'
2 2
 import App from './App.vue'
3
-import router from './router' 
3
+import router from './router'
4 4
 
5 5
 router.beforeEach((to, from, next) => {
6
-  const requiresAuth = false
7
-  const requiresProfile = true
6
+    const requiresAuth = false
7
+    const requiresProfile = true
8 8
 
9
-  if (requiresAuth) {
10
-    console.log('You are not authorized to access this area.')
11
-    next('login')
12
-  } else {
13
-    next()
14
-  }
9
+    if (requiresAuth) {
10
+        console.log('You are not authorized to access this area.')
11
+        next('login')
12
+    } else {
13
+        next()
14
+    }
15 15
 
16
-  // if (requiresProfile) {
17
-  //   console.log('You must first complete your profile.')
18
-  //   next('profile')
19
-  // } else {
20
-  //   next()
21
-  // }
16
+    // if (requiresProfile) {
17
+    //   console.log('You must first complete your profile.')
18
+    //   next('profile')
19
+    // } else {
20
+    //   next()
21
+    // }
22 22
 })
23 23
 
24
-createApp(App).use(router).mount('#app')
24
+createApp(App).use(router).mount('#app')

+ 43
- 43
frontend/src/router/index.js Прегледај датотеку

@@ -8,51 +8,51 @@ import Register from '../views/Register.vue'
8 8
 import Forget from '../views/Forget.vue'
9 9
 
10 10
 const routes = [
11
-  {
12
-    path: '/',
13
-    component: home,
14
-    name: 'home',
15
-    meta: { requiresAuth: true, requiresProfile: true }
16
-  },
17
-  {
18
-    path: '/profile',
19
-    component: Profile,
20
-    name: 'profile',
21
-    meta: { requiresAuth: true }
22
-  },
23
-  {
24
-    path: '/friends',
25
-    component: Friends,
26
-    name: 'friends',
27
-    meta: { requiresAuth: true, requiresProfile: true }
28
-  },
29
-  {
30
-    path: '/chats/:uid',
31
-    component: Chats,
32
-    name: `chat`,
33
-    props: true,
34
-    meta: { requiresAuth: true, requiresProfile: true }
35
-  },
36
-  {
37
-    path: `/login`,
38
-    component: Login,
39
-    name: `login`
40
-  },
41
-  {
42
-    path: `/register`,
43
-    component: Register,
44
-    name: `register`
45
-  },
46
-  {
47
-    path: `/forget`,
48
-    component: Forget,
49
-    name: 'forget'
50
-  },
11
+    {
12
+        path: '/',
13
+        component: home,
14
+        name: 'home',
15
+        meta: { requiresAuth: true, requiresProfile: true },
16
+    },
17
+    {
18
+        path: '/profile',
19
+        component: Profile,
20
+        name: 'profile',
21
+        meta: { requiresAuth: true },
22
+    },
23
+    {
24
+        path: '/friends',
25
+        component: Friends,
26
+        name: 'friends',
27
+        meta: { requiresAuth: true, requiresProfile: true },
28
+    },
29
+    {
30
+        path: '/chats/:uid',
31
+        component: Chats,
32
+        name: `chat`,
33
+        props: true,
34
+        meta: { requiresAuth: true, requiresProfile: true },
35
+    },
36
+    {
37
+        path: `/login`,
38
+        component: Login,
39
+        name: `login`,
40
+    },
41
+    {
42
+        path: `/register`,
43
+        component: Register,
44
+        name: `register`,
45
+    },
46
+    {
47
+        path: `/forget`,
48
+        component: Forget,
49
+        name: 'forget',
50
+    },
51 51
 ]
52 52
 
53 53
 const router = createRouter({
54
-  history: createWebHistory(),
55
-  routes,
54
+    history: createWebHistory(),
55
+    routes,
56 56
 })
57 57
 
58
-export default router
58
+export default router

+ 14
- 14
frontend/src/shared/MainHeader.vue Прегледај датотеку

@@ -1,22 +1,22 @@
1 1
 <template>
2
-  <div id="main-header">
3
-    <router-link class="header__icon mobile--only" to="/friends">
4
-      <p>friends</p>
5
-    </router-link>
6
-    
7
-    <router-link class="header__icon" to="/">
8
-      <p>home</p>
9
-    </router-link>
2
+    <div id="main-header">
3
+        <router-link class="header__icon mobile--only" to="/friends">
4
+            <p>friends</p>
5
+        </router-link>
10 6
 
11
-    <router-link class="header__icon mobile--only" to="/profile">
12
-      <p>profile</p>
13
-    </router-link>
14
-  </div>
7
+        <router-link class="header__icon" to="/">
8
+            <p>home</p>
9
+        </router-link>
10
+
11
+        <router-link class="header__icon mobile--only" to="/profile">
12
+            <p>profile</p>
13
+        </router-link>
14
+    </div>
15 15
 </template>
16 16
 
17 17
 <script>
18 18
 export default {
19
-  name: "main-header",
19
+    name: 'main-header',
20 20
 }
21 21
 </script>
22 22
 
@@ -33,4 +33,4 @@ export default {
33 33
   .mobile--only
34 34
     /* display: none */
35 35
     display: block
36
-</style>
36
+</style>

+ 31
- 18
frontend/src/shared/Sidebar.vue Прегледај датотеку

@@ -1,25 +1,38 @@
1 1
 <template lang="pug">
2 2
 .sidebar__messages
3
-  h4.message__title {{ title }}
4
-  router-link(:to="`/chats/${user.uid}`" v-for="user in users" :key="user.uid" :class="[uid == user.uid ? 'active' : '',  'sidebar__message']")
5
-    .message__left
6
-      p avatar and status
7
-    .message__right
8
-      h4.message__name {{ user.name }}
9
-      p.message__content {{ user.metadata.rawMetadata || "Hello!" }}
10
-</template> 
3
+    h4.message__title {{ title }}
4
+    router-link(
5
+        :class='[uid == user.uid ? "active" : "", "sidebar__message"]'
6
+        :key='user.uid'
7
+        :to='`/chats/${user.uid}`'
8
+        v-for='user in users'
9
+    )
10
+        .message__left
11
+            p avatar and status
12
+        .message__right
13
+            h4.message__name {{ user.name }}
14
+            p.message__content {{ user.metadata.rawMetadata || "Hello!" }}
15
+</template>
11 16
 
12 17
 <script>
13 18
 export default {
14
-  data() {
15
-    return {
16
-      title: 'i am a title',
17
-      uid: 111,
18
-      users: [
19
-        { name:'sample', uid: 111, metadata: { rawMetadata: 'rawmeta' } },
20
-        { name:'usample', uid: 112, metadata: { rawMetadata: 'morerawmeta' } }
21
-      ]
22
-    }
23
-  }
19
+    data() {
20
+        return {
21
+            title: 'i am a title',
22
+            uid: 111,
23
+            users: [
24
+                {
25
+                    name: 'sample',
26
+                    uid: 111,
27
+                    metadata: { rawMetadata: 'rawmeta' },
28
+                },
29
+                {
30
+                    name: 'usample',
31
+                    uid: 112,
32
+                    metadata: { rawMetadata: 'morerawmeta' },
33
+                },
34
+            ],
35
+        }
36
+    },
24 37
 }
25 38
 </script>

frontend/src/views/About.vue → frontend/src/views/Archive/About.vue Прегледај датотеку


frontend/src/views/AcctSettings.vue → frontend/src/views/Archive/AcctSettings.vue Прегледај датотеку


frontend/src/views/Chat.vue → frontend/src/views/Archive/Chat.vue Прегледај датотеку


frontend/src/views/EditProfile.vue → frontend/src/views/Archive/EditProfile.vue Прегледај датотеку


frontend/src/views/EditSurvey.vue → frontend/src/views/Archive/EditSurvey.vue Прегледај датотеку


frontend/src/views/SearchSettings.vue → frontend/src/views/Archive/SearchSettings.vue Прегледај датотеку


frontend/src/views/account.vue → frontend/src/views/Archive/account.vue Прегледај датотеку


+ 124
- 103
frontend/src/views/Chats.vue Прегледај датотеку

@@ -1,116 +1,137 @@
1 1
 <template lang="pug">
2 2
 #chats
3
-  .content-wrapper
4
-    .content
5
-      section.msger
6
-        header.msger-header
7
-          .msger-header-title
8
-            .msger__avatar
9
-              p | avatar goes here
10
-            .msger__avatar__details
11
-              p {{ user.name }}
12
-              small {{ user.status }}
13
-        main.msger-chat(ref="container")
14
-          .msg-list(v-for="message in messages" :key="message.sentAt")
15
-            div(v-if="typeof message.text != 'undefined'")
16
-              .msg.left-msg(v-if="message.receiverId !== user.uid")
17
-                .msg--wrapper
18
-                  .bubble--wrapper
19
-                    p | avatar goes here
20
-                    .msg-bubble
21
-                      .msg-info
22
-                        .msg-info-name {{ user.name }}
23
-                      .msg-text {{ message.text }}
24
-                  .msg-info-time {{ toReadableString(message.sentAt) }}
25
-              .msg.right-msg(v-else="")
26
-                .msg--wrapper
27
-                  .bubble--wrapper
28
-                    p | avatar goes here
29
-                    .msg-bubble
30
-                      .msg-info
31
-                        .msg-info-name {{ message.sender.name }}
32
-                      .msg-text {{ message.text }}
33
-                  .msg-info-time
34
-                    img.message__timestamp__img(v-if="message.sentAt && !message.deliveredAt && !message.readAt" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAFo9M/3AAAAAXNSR0IArs4c6QAAARdJREFUOBFjYEAGIiIiUQg+kBeB4EFZYmJiVnDB////M8I5WBmSkpImIAkmmCxQy0MYmwFogxGcQxYDaEIaTCPcKSA3/vv3T56JiYn11atXi2AKBopGdiQLuiNERUU9WVlZD8HEwSElLi4eBZTgcXBwYAGGmOyzZ89uwBTAvQk19p+AgMDiO3fu/IQpQKGBptigCNCFw0ysLSAPfvv2zZ+bm1vo69evj2H64OkFJoCNVlFR4bty5UoCUI6Xj4/vLDY1YDEFBQUOkE3ICiQkJBRAIQhMLAHY0jE8mEGagPFh8ffvXz0g8xMjI+MWFhYWjd+/fxsB2ddev359BNlgGBvFAJgg0DZrYNLUBvHZ2NgOIUcsTM3goQFXzEj1uzh+EwAAAABJRU5ErkJggg==" alt="time")
35
-                    img.message__timestamp__img(v-else-if="message.sentAt && message.deliveredAt && !message.readAt" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAFo9M/3AAAAAXNSR0IArs4c6QAAAWNJREFUOBFjYEAGEhISosh8BgaQCCNMSFJS0gTGZhARETECYbgAMgOuRUxMzAokwQhUGgGkmYD435s3b1aABBn+///PCMJgDskE0Mg0kCYYDTYGZOG/f//kmZiYWIFGr2NkZAx69erVIpJNp5IGmONgNIpfRUVFPVlZWe//+fNHnoWF5eGzZ89uMImLi0cBJXgcHBxYgD6Qtba2vg3yEUgS5CiwCVDj/gkICCz++PFjND8//9I7d+78RHE10BQbkACMRpGkKYeZkOkgz3379s2fm5tb6OvXr4/R+SjBhG6YiooK34cPH8KAcfyLj49vJVCeHRgIocC4/g3iwwNCQUGBA2QysgHAFK0ACj1gQgkApT0pKSk5ZD5MLdgFwLiw+Pv3rx5Q8BPQ9C3ASNL4/fu3EZB97fXr10eAIWsINMQUxodpBtEoXgDaZg2MRG2QBBsb2yFQZAINdwEargTjg+QGFwAAd+eJSUtUxzMAAAAASUVORK5CYII=" alt="time")
36
-                    img.message__timestamp__img(v-else="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAFo9M/3AAAAAXNSR0IArs4c6QAAAWdJREFUOBHNUrtKA1EQPXeNRUDxgVqLQj7AjWjAwh8QKyvbuIIgVhYWNhYWdhFBkugPpLOwt7CwSEQLrTQI1roB44Os7nhm4YZdCyWg4MDsmTOzM3dm7gXiMlUWN84B9RjrcouyBQOJOMmmqg0mMJ5S0IjhrzfELmpQWzYZdUJEjGpEOv6wZNSKxagMScEYzDHU63RjIgxwzvOGO67+Swm2OYupeN1sSY650DzxSFFjxi3JXcpgxunDQ8tHc2wA6bqPV06h24NT88zoe4h7Bv10D4bqDTwqajAh2aLsqcNiIvin5McbzVUkHTRwwms642BrX/m3BbjLcbZ/RX3i4JnWC/pDwTWLNZWfLhrf0flyBzKoldW2ki3LPG19jBdVDyNvz5j+CFFn8qVyTdZ/ow64uR2+sXXy25SDWa7do62Pfp9tr0yWZIMnb1tObEtiBN7wLk9Y1ahxkK8umUOOUSFdsLyd+W+MTyDvnh60pF/jAAAAAElFTkSuQmCC" alt="time")
37
-                    p | {{ toReadableString(message.sentAt) }}
38
-          .spacer
39
-        form.msger-inputarea(@submit.prevent="sendMessage()")
40
-          input.msger-input(type="text" placeholder="Enter your message..." v-model.trim="message")
41
-          button.msger-send-btn(type="submit") Send
42
-  p sidebar goes here
3
+    .content-wrapper
4
+        .content
5
+            section.msger
6
+                header.msger-header
7
+                    .msger-header-title
8
+                        .msger__avatar
9
+                            p | avatar goes here
10
+                        .msger__avatar__details
11
+                            p {{ user.name }}
12
+                            small {{ user.status }}
13
+                main.msger-chat(ref='container')
14
+                    .msg-list(
15
+                        :key='message.sentAt'
16
+                        v-for='message in messages'
17
+                    )
18
+                        div(v-if='typeof message.text != "undefined"')
19
+                            .msg.left-msg(
20
+                                v-if='message.receiverId !== user.uid'
21
+                            )
22
+                                .msg--wrapper
23
+                                    .bubble--wrapper
24
+                                        p | avatar goes here
25
+                                        .msg-bubble
26
+                                            .msg-info
27
+                                                .msg-info-name {{ user.name }}
28
+                                            .msg-text {{ message.text }}
29
+                                    .msg-info-time {{ toReadableString(message.sentAt) }}
30
+                            .msg.right-msg(v-else='')
31
+                                .msg--wrapper
32
+                                    .bubble--wrapper
33
+                                        p | avatar goes here
34
+                                        .msg-bubble
35
+                                            .msg-info
36
+                                                .msg-info-name {{ message.sender.name }}
37
+                                            .msg-text {{ message.text }}
38
+                                    .msg-info-time
39
+                                        img.message__timestamp__img(
40
+                                            alt='time'
41
+                                            src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAFo9M/3AAAAAXNSR0IArs4c6QAAARdJREFUOBFjYEAGIiIiUQg+kBeB4EFZYmJiVnDB////M8I5WBmSkpImIAkmmCxQy0MYmwFogxGcQxYDaEIaTCPcKSA3/vv3T56JiYn11atXi2AKBopGdiQLuiNERUU9WVlZD8HEwSElLi4eBZTgcXBwYAGGmOyzZ89uwBTAvQk19p+AgMDiO3fu/IQpQKGBptigCNCFw0ysLSAPfvv2zZ+bm1vo69evj2H64OkFJoCNVlFR4bty5UoCUI6Xj4/vLDY1YDEFBQUOkE3ICiQkJBRAIQhMLAHY0jE8mEGagPFh8ffvXz0g8xMjI+MWFhYWjd+/fxsB2ddev359BNlgGBvFAJgg0DZrYNLUBvHZ2NgOIUcsTM3goQFXzEj1uzh+EwAAAABJRU5ErkJggg=='
42
+                                            v-if='message.sentAt && !message.deliveredAt && !message.readAt'
43
+                                        )
44
+                                        img.message__timestamp__img(
45
+                                            alt='time'
46
+                                            src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAFo9M/3AAAAAXNSR0IArs4c6QAAAWNJREFUOBFjYEAGEhISosh8BgaQCCNMSFJS0gTGZhARETECYbgAMgOuRUxMzAokwQhUGgGkmYD435s3b1aABBn+///PCMJgDskE0Mg0kCYYDTYGZOG/f//kmZiYWIFGr2NkZAx69erVIpJNp5IGmONgNIpfRUVFPVlZWe//+fNHnoWF5eGzZ89uMImLi0cBJXgcHBxYgD6Qtba2vg3yEUgS5CiwCVDj/gkICCz++PFjND8//9I7d+78RHE10BQbkACMRpGkKYeZkOkgz3379s2fm5tb6OvXr4/R+SjBhG6YiooK34cPH8KAcfyLj49vJVCeHRgIocC4/g3iwwNCQUGBA2QysgHAFK0ACj1gQgkApT0pKSk5ZD5MLdgFwLiw+Pv3rx5Q8BPQ9C3ASNL4/fu3EZB97fXr10eAIWsINMQUxodpBtEoXgDaZg2MRG2QBBsb2yFQZAINdwEargTjg+QGFwAAd+eJSUtUxzMAAAAASUVORK5CYII='
47
+                                            v-else-if='message.sentAt && message.deliveredAt && !message.readAt'
48
+                                        )
49
+                                        img.message__timestamp__img(
50
+                                            alt='time'
51
+                                            src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAFo9M/3AAAAAXNSR0IArs4c6QAAAWdJREFUOBHNUrtKA1EQPXeNRUDxgVqLQj7AjWjAwh8QKyvbuIIgVhYWNhYWdhFBkugPpLOwt7CwSEQLrTQI1roB44Os7nhm4YZdCyWg4MDsmTOzM3dm7gXiMlUWN84B9RjrcouyBQOJOMmmqg0mMJ5S0IjhrzfELmpQWzYZdUJEjGpEOv6wZNSKxagMScEYzDHU63RjIgxwzvOGO67+Swm2OYupeN1sSY650DzxSFFjxi3JXcpgxunDQ8tHc2wA6bqPV06h24NT88zoe4h7Bv10D4bqDTwqajAh2aLsqcNiIvin5McbzVUkHTRwwms642BrX/m3BbjLcbZ/RX3i4JnWC/pDwTWLNZWfLhrf0flyBzKoldW2ki3LPG19jBdVDyNvz5j+CFFn8qVyTdZ/ow64uR2+sXXy25SDWa7do62Pfp9tr0yWZIMnb1tObEtiBN7wLk9Y1ahxkK8umUOOUSFdsLyd+W+MTyDvnh60pF/jAAAAAElFTkSuQmCC'
52
+                                            v-else=''
53
+                                        )
54
+                                        p | {{ toReadableString(message.sentAt) }}
55
+                    .spacer
56
+                form.msger-inputarea(@submit.prevent='sendMessage()')
57
+                    input.msger-input(
58
+                        placeholder='Enter your message...'
59
+                        type='text'
60
+                        v-model.trim='message'
61
+                    )
62
+                    button.msger-send-btn(type='submit') Send
63
+    p sidebar goes here
43 64
 </template>
44 65
 
45 66
 <script>
46 67
 export default {
47
-  name: "chats",
48
-  props: {
49
-    uid: {
50
-      type: String,
51
-      required: true,
68
+    name: 'chats',
69
+    props: {
70
+        uid: {
71
+            type: String,
72
+            required: true,
73
+        },
52 74
     },
53
-  },
54
-  data() {
55
-    return {
56
-      messages: [],
57
-      message: "",
58
-      user: {},
59
-    };
60
-  },
61
-  components: {},
62
-  created() {
63
-    this.getMessages()
64
-    this.getUser()
65
-    this.listenForMessage()
66
-  },
67
-  destroyed() {
68
-    CometChat.removeMessageListener(this.uid)
69
-  },
70
-  updated() {
71
-    this.scrollToEnd()
72
-  },
73
-  methods: {
74
-    getUser() {
75
-      const uid = this.uid;
76
-      const user = {uid}
77
-      this.user = user
75
+    data() {
76
+        return {
77
+            messages: [],
78
+            message: '',
79
+            user: {},
80
+        }
78 81
     },
79
-    getMessages() {
80
-      const limit = 50;
81
-      this.messages = []
82
+    components: {},
83
+    created() {
84
+        this.getMessages()
85
+        this.getUser()
86
+        this.listenForMessage()
82 87
     },
83
-    sendMessage() {
84
-      const receiverID = this.uid;
85
-      const messageText = this.message;
86
-      const receiverType = 'USER'
87
-      const textMessage = { receiverID, messageText, receiverType}
88
-      // Send message somewhere
88
+    destroyed() {
89
+        CometChat.removeMessageListener(this.uid)
89 90
     },
90
-    listenForMessage() {
91
-      const listenerID = this.uid;
92
-      // Websocket listener
91
+    updated() {
92
+        this.scrollToEnd()
93 93
     },
94
-    scrollToEnd () {
95
-      const elmnt = this.$refs.container;
96
-      elmnt.scrollTop = elmnt.scrollHeight;
94
+    methods: {
95
+        getUser() {
96
+            const uid = this.uid
97
+            const user = { uid }
98
+            this.user = user
99
+        },
100
+        getMessages() {
101
+            const limit = 50
102
+            this.messages = []
103
+        },
104
+        sendMessage() {
105
+            const receiverID = this.uid
106
+            const messageText = this.message
107
+            const receiverType = 'USER'
108
+            const textMessage = { receiverID, messageText, receiverType }
109
+            // Send message somewhere
110
+        },
111
+        listenForMessage() {
112
+            const listenerID = this.uid
113
+            // Websocket listener
114
+        },
115
+        scrollToEnd() {
116
+            const elmnt = this.$refs.container
117
+            elmnt.scrollTop = elmnt.scrollHeight
118
+        },
119
+        toReadableString(time) {
120
+            if (time < 0) time = 0
121
+            let hrs = ~~((time / 3600) % 24),
122
+                mins = ~~((time % 3600) / 60),
123
+                timeType = hrs > 11 ? 'PM' : 'AM'
124
+            if (hrs > 12) hrs = hrs - 12
125
+            if (hrs == 0) hrs = 12
126
+            if (mins < 10) mins = '0' + mins
127
+            return hrs + ':' + mins + timeType
128
+        },
97 129
     },
98
-    toReadableString(time) {
99
-      if (time < 0) time = 0;
100
-      let hrs = ~~((time / 3600) % 24),
101
-        mins = ~~((time % 3600) / 60),
102
-        timeType = hrs > 11 ? "PM" : "AM";
103
-      if (hrs > 12) hrs = hrs - 12;
104
-      if (hrs == 0) hrs = 12;
105
-      if (mins < 10) mins = "0" + mins;
106
-      return hrs + ":" + mins + timeType;
130
+    watch: {
131
+        messages() {
132
+            this.scrollToEnd()
133
+        },
107 134
     },
108
-  },
109
-  watch: {
110
-    messages() {
111
-      this.scrollToEnd()
112
-    }
113
-  }
114 135
 }
115 136
 </script>
116 137
 
@@ -311,14 +332,14 @@ body
311 332
 @media only screen and (max-width: 768px)
312 333
   .content
313 334
     margin-left: 0
314
-  
335
+
315 336
   .msger-input
316 337
     width: calc(100% - 105px)
317
-  
338
+
318 339
 :root
319 340
   --body-bg: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%)
320 341
   --msger-bg: #fff
321 342
   --border: 2px solid #ddd
322 343
   --left-msg-bg: #ececec
323 344
   --right-msg-bg: #579ffb
324
-</style>
345
+</style>

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

@@ -1,32 +1,32 @@
1 1
 <template lang="pug">
2 2
 .forget__box
3
-  h2 Forget
4
-  form(@submit.prevent="onSubmit")
5
-    .user__box
6
-      input(type="email" required="" v-model="form.email")
7
-      label Email
8
-    button(type="submit")
9
-      span
10
-      span
11
-      span
12
-      span {{ requesting ? "Log..." : "Send" }}
13
-    router-link(to="/login") Login
3
+    h2 Forget
4
+    form(@submit.prevent='onSubmit')
5
+        .user__box
6
+            input(required='' type='email' v-model='form.email')
7
+            label Email
8
+        button(type='submit')
9
+            span
10
+            span
11
+            span
12
+            span {{ requesting ? "Log..." : "Send" }}
13
+        router-link(to='/login') Login
14 14
 </template>
15 15
 
16 16
 <script>
17 17
 export default {
18
-  data: () => ({
19
-    valid: true,
20
-    requesting: false,
21
-    form: {
22
-      email: "",
23
-    }
24
-  }),
25
-  methods: {
26
-    onSubmit() {
27
-      this.requesting = true
28
-    }
29
-  }
18
+    data: () => ({
19
+        valid: true,
20
+        requesting: false,
21
+        form: {
22
+            email: '',
23
+        },
24
+    }),
25
+    methods: {
26
+        onSubmit() {
27
+            this.requesting = true
28
+        },
29
+    },
30 30
 }
31 31
 </script>
32 32
 
@@ -140,7 +140,7 @@ html
140 140
   50%,
141 141
   100%
142 142
     left: 100%
143
-  
143
+
144 144
 .forget__box button span:nth-child(2)
145 145
   top: -100%
146 146
   right: 0
@@ -156,7 +156,7 @@ html
156 156
   50%,
157 157
   100%
158 158
     top: 100%
159
-  
159
+
160 160
 .forget__box button span:nth-child(3)
161 161
   bottom: 0
162 162
   right: -100%
@@ -172,7 +172,7 @@ html
172 172
   50%,
173 173
   100%
174 174
     right: 100%
175
-  
175
+
176 176
 .forget__box a span:nth-child(4)
177 177
   bottom: -100%
178 178
   left: 0
@@ -188,4 +188,4 @@ html
188 188
   50%,
189 189
   100%
190 190
     bottom: 100%
191
-</style>
191
+</style>

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

@@ -1,13 +1,13 @@
1 1
 <template>
2
-  <!-- <CometChatUserListWithMessages /> -->
2
+    <!-- <CometChatUserListWithMessages /> -->
3 3
 </template>
4 4
 
5 5
 <script>
6 6
 // import { CometChatUserListWithMessages } from "../cometchat-pro-vue-ui-kit";
7 7
 export default {
8
-  name: "friends",
9
-  components: {
10
-    // CometChatUserListWithMessages,
11
-  },
12
-};
13
-</script>
8
+    name: 'friends',
9
+    components: {
10
+        // CometChatUserListWithMessages,
11
+    },
12
+}
13
+</script>

+ 40
- 41
frontend/src/views/Login.vue Прегледај датотеку

@@ -1,46 +1,46 @@
1 1
 <template lang="pug">
2 2
 .login__box
3
-  h2 Login
4
-  form(@submit.prevent="onSubmit")
5
-    .user__box
6
-      input(type="email" required="" v-model="form.email")
7
-      label Email
8
-    .user__box
9
-      input(type="password" required="" v-model="form.password")
10
-      label Password
11
-    .user__box
12
-      router-link.forget__link(to="/forget") Forget Password
13
-    .user__box(style="margin-top: 10px; cursor: pointer;")
14
-      p.forget__link(@click="guestAccount") Guest Account
15
-    button(type="submit")
16
-      span
17
-      span
18
-      span
19
-      span {{ requesting ? "Log..." : "Login" }}
20
-    router-link.links(to="/register") Register
3
+    h2 Login
4
+    form(@submit.prevent='onSubmit')
5
+        .user__box
6
+            input(required='' type='email' v-model='form.email')
7
+            label Email
8
+        .user__box
9
+            input(required='' type='password' v-model='form.password')
10
+            label Password
11
+        .user__box
12
+            router-link.forget__link(to='/forget') Forget Password
13
+        .user__box(style='margin-top: 10px; cursor: pointer')
14
+            p.forget__link(@click='guestAccount') Guest Account
15
+        button(type='submit')
16
+            span
17
+            span
18
+            span
19
+            span {{ requesting ? "Log..." : "Login" }}
20
+        router-link.links(to='/register') Register
21 21
 </template>
22 22
 
23 23
 <script>
24 24
 export default {
25
-  data: () => ({
26
-    requesting: false,
27
-    form: {
28
-      email: "",
29
-      password: "",
25
+    data: () => ({
26
+        requesting: false,
27
+        form: {
28
+            email: '',
29
+            password: '',
30
+        },
31
+    }),
32
+    methods: {
33
+        onSubmit() {
34
+            this.requesting = true
35
+            // Do some auth
36
+        },
37
+        guestAccount() {
38
+            this.form.email = 'lucy@me.com'
39
+            this.form.password = '123456'
40
+            this.onSubmit()
41
+        },
30 42
     },
31
-  }),
32
-  methods: {
33
-    onSubmit() {
34
-      this.requesting = true;
35
-      // Do some auth
36
-    },
37
-    guestAccount() {
38
-      this.form.email = "lucy@me.com";
39
-      this.form.password = "123456";
40
-      this.onSubmit();
41
-    },
42
-  },
43
-};
43
+}
44 44
 </script>
45 45
 
46 46
 <style lang="postcss">
@@ -161,7 +161,7 @@ html
161 161
     left: -100%
162 162
   50%, 100%
163 163
     left: 100%
164
-  
164
+
165 165
 .login__box button span:nth-child(2)
166 166
   top: -100%
167 167
   right: 0
@@ -176,7 +176,7 @@ html
176 176
     top: -100%
177 177
   50%, 100%
178 178
     top: 100%
179
-  
179
+
180 180
 
181 181
 .login__box button span:nth-child(3)
182 182
   bottom: 0
@@ -192,7 +192,7 @@ html
192 192
     right: -100%
193 193
   50%, 100%
194 194
     right: 100%
195
-  
195
+
196 196
 
197 197
 .login__box a span:nth-child(4)
198 198
   bottom: -100%
@@ -208,5 +208,4 @@ html
208 208
     bottom: -100%
209 209
   50%, 100%
210 210
     bottom: 100%
211
-  
212
-</style>
211
+</style>

+ 26
- 23
frontend/src/views/Match.vue Прегледај датотеку

@@ -1,28 +1,31 @@
1 1
 <template lang="pug">
2 2
 .match
3
-  .matches
4
-    h1 Matches
5
-    .row
6
-      card
7
-        card
8
-          card
9
-  .messages
10
-    h2 Messages
11
-    .matched.active
12
-      icon
13
-        .messagecontent
14
-          h3 NSE Tropical
15
-          |                     Recently active, match now!
16
-    .matched
17
-      icon
18
-        .messagecontent
19
-          h3 Golden Communications
20
-          |                     Click to match now!
21
-    .matched
22
-      icon
23
-        .messagecontent
24
-          h3 Mojo Solutions
25
-          |                     Click to match now!
3
+    .matches
4
+        h1 Matches
5
+        .row
6
+            card
7
+                card
8
+                    card
9
+    .messages
10
+        h2 Messages
11
+        .matched.active
12
+            icon
13
+                .messagecontent
14
+                    h3 NSE Tropical
15
+                    |
16
+                    | Recently active, match now!
17
+        .matched
18
+            icon
19
+                .messagecontent
20
+                    h3 Golden Communications
21
+                    |
22
+                    | Click to match now!
23
+        .matched
24
+            icon
25
+                .messagecontent
26
+                    h3 Mojo Solutions
27
+                    |
28
+                    | Click to match now!
26 29
 </template>
27 30
 
28 31
 <script>

+ 80
- 61
frontend/src/views/Profile.vue Прегледај датотеку

@@ -1,62 +1,81 @@
1 1
 <template lang="pug">
2 2
 .login__box
3
-  h2 Profile
4
-  form(@submit.prevent="onSubmit")
5
-    .user__box
6
-      input(type="text" required="" minlength="6" v-model="form.fullname")
7
-      label Fullname
8
-    .user__box
9
-      input(type="text" required="" minlength="10" v-model="form.avatar")
10
-      label Image URL
11
-    .user__box
12
-      input(type="number" required="" v-model="form.age" min="18" max="60" minlength="2" maxlength="3")
13
-      label Age
14
-    .user__box
15
-      input(type="text" required="" minlength="10" maxlength="50" v-model="form.metadata")
16
-      label Description
17
-    button(type="submit")
18
-      span
19
-      span
20
-      span
21
-      span {{ requesting ? "Log..." : "Update" }}
22
-    router-link.links(to="/") Back
3
+    h2 Profile
4
+    form(@submit.prevent='onSubmit')
5
+        .user__box
6
+            input(
7
+                minlength='6'
8
+                required=''
9
+                type='text'
10
+                v-model='form.fullname'
11
+            )
12
+            label Fullname
13
+        .user__box
14
+            input(minlength='10' required='' type='text' v-model='form.avatar')
15
+            label Image URL
16
+        .user__box
17
+            input(
18
+                max='60'
19
+                maxlength='3'
20
+                min='18'
21
+                minlength='2'
22
+                required=''
23
+                type='number'
24
+                v-model='form.age'
25
+            )
26
+            label Age
27
+        .user__box
28
+            input(
29
+                maxlength='50'
30
+                minlength='10'
31
+                required=''
32
+                type='text'
33
+                v-model='form.metadata'
34
+            )
35
+            label Description
36
+        button(type='submit')
37
+            span
38
+            span
39
+            span
40
+            span {{ requesting ? "Log..." : "Update" }}
41
+        router-link.links(to='/') Back
23 42
 </template>
24 43
 
25 44
 <script>
26 45
 export default {
27
-  name: "profile-update",
28
-  data() {
29
-    return {
30
-      requesting: false,
31
-      form: {
32
-        fullname: "",
33
-        avatar: "",
34
-        age: "",
35
-        metadata: "",
36
-      },
37
-    };
38
-  },
39
-  created() {
40
-    this.getUser();
41
-  },
42
-  methods: {
43
-    onSubmit() {
44
-      this.requesting = true;
45
-      // this.getUser()
46
-      // this.setUser()
46
+    name: 'profile-update',
47
+    data() {
48
+        return {
49
+            requesting: false,
50
+            form: {
51
+                fullname: '',
52
+                avatar: '',
53
+                age: '',
54
+                metadata: '',
55
+            },
56
+        }
47 57
     },
48
-    getUser() {
49
-      const uid = auth.currentUser.uid;
50
-      return
58
+    created() {
59
+        this.getUser()
51 60
     },
52
-    setUser() {
53
-      // CometChat.updateUser(user, apiKey)
54
-      // .then(() => this.$router.push({ name: "home" }))
55
-      // .catch((error) => console.log(error))
56
-      // .finally(() => this.requesting = false);
61
+    methods: {
62
+        onSubmit() {
63
+            this.requesting = true
64
+            // this.getUser()
65
+            // this.setUser()
66
+        },
67
+        getUser() {
68
+            const uid = auth.currentUser.uid
69
+            return
70
+        },
71
+        setUser() {
72
+            // CometChat.updateUser(user, apiKey)
73
+            // .then(() => this.$router.push({ name: "home" }))
74
+            // .catch((error) => console.log(error))
75
+            // .finally(() => this.requesting = false);
76
+        },
57 77
     },
58
-  },
59
-};
78
+}
60 79
 </script>
61 80
 
62 81
 <style lang="postcss">
@@ -87,10 +106,10 @@ html
87 106
   color: #fff
88 107
   text-align: center
89 108
 
90
-.login__box .user__box 
109
+.login__box .user__box
91 110
   position: relative
92 111
 
93
-.login__box .user__box input 
112
+.login__box .user__box input
94 113
   width: 100%
95 114
   padding: 10px 0
96 115
   font-size: 16px
@@ -101,7 +120,7 @@ html
101 120
   outline: none
102 121
   background: transparent
103 122
 
104
-.login__box .user__box label 
123
+.login__box .user__box label
105 124
   position: absolute
106 125
   top: 0
107 126
   left: 0
@@ -112,13 +131,13 @@ html
112 131
   transition: 0.5s
113 132
 
114 133
 .login__box .user__box input:focus ~ label,
115
-.login__box .user__box input:valid ~ label 
134
+.login__box .user__box input:valid ~ label
116 135
   top: -20px
117 136
   left: 0
118 137
   color: #e90d77
119 138
   font-size: 12px
120 139
 
121
-.login__box form button 
140
+.login__box form button
122 141
   position: relative
123 142
   display: inline-block
124 143
   padding: 10px 20px
@@ -152,11 +171,11 @@ html
152 171
   background: linear-gradient(90deg, transparent, #e90d77)
153 172
   animation: btn-anim1 1s linear infinite
154 173
 
155
-.login__box form .forget__link 
174
+.login__box form .forget__link
156 175
   color: white
157 176
   text-decoration: none
158 177
 
159
-.login__box form .forget__link:hover 
178
+.login__box form .forget__link:hover
160 179
   color: #e90d77
161 180
 
162 181
 .login__box form .links
@@ -177,7 +196,7 @@ html
177 196
     left: -100%
178 197
   50%, 100%
179 198
     left: 100%
180
-  
199
+
181 200
 .login__box button span:nth-child(2)
182 201
   top: -100%
183 202
   right: 0
@@ -193,7 +212,7 @@ html
193 212
   50%, 100%
194 213
     top: 100%
195 214
 
196
-.login__box button span:nth-child(3) 
215
+.login__box button span:nth-child(3)
197 216
   bottom: 0
198 217
   right: -100%
199 218
   width: 100%
@@ -207,7 +226,7 @@ html
207 226
     right: -100%
208 227
   50%, 100%
209 228
     right: 100%
210
-  
229
+
211 230
 .login__box a span:nth-child(4)
212 231
   bottom: -100%
213 232
   left: 0
@@ -222,4 +241,4 @@ html
222 241
     bottom: -100%
223 242
   50%, 100%
224 243
     bottom: 100%
225
-</style>
244
+</style>

+ 47
- 37
frontend/src/views/Register.vue Прегледај датотеку

@@ -1,43 +1,53 @@
1 1
 <template lang="pug">
2 2
 .register__box
3
-  h2 Register
4
-  form(@submit.prevent="onSubmit")
5
-    .user__box
6
-      input(type="text" required="" minlength="5" v-model="form.fullname")
7
-      label Fullname
8
-    .user__box
9
-      input(type="email" required="" minlength="10" v-model="form.email")
10
-      label Email
11
-    .user__box
12
-      input(type="password" minlength="6" required="" v-model="form.password")
13
-      label Password
14
-    .user__box
15
-      router-link.forget__link(to="/forget") Forget Password
16
-    button(type="submit")
17
-      span
18
-      span
19
-      span
20
-      span {{ requesting ? "Log..." : "Register" }}
21
-    router-link.links(to="/login") Login
3
+    h2 Register
4
+    form(@submit.prevent='onSubmit')
5
+        .user__box
6
+            input(
7
+                minlength='5'
8
+                required=''
9
+                type='text'
10
+                v-model='form.fullname'
11
+            )
12
+            label Fullname
13
+        .user__box
14
+            input(minlength='10' required='' type='email' v-model='form.email')
15
+            label Email
16
+        .user__box
17
+            input(
18
+                minlength='6'
19
+                required=''
20
+                type='password'
21
+                v-model='form.password'
22
+            )
23
+            label Password
24
+        .user__box
25
+            router-link.forget__link(to='/forget') Forget Password
26
+        button(type='submit')
27
+            span
28
+            span
29
+            span
30
+            span {{ requesting ? "Log..." : "Register" }}
31
+        router-link.links(to='/login') Login
22 32
 </template>
23 33
 
24 34
 <script>
25 35
 export default {
26
-  data: () => ({
27
-    valid: true,
28
-    requesting: false,
29
-    form: {
30
-      email: "",
31
-      password: "",
32
-      fullname: "",
33
-    }
34
-  }),
35
-  methods: {
36
-    onSubmit() {
37
-      this.requesting = true
38
-      this.requesting = false
36
+    data: () => ({
37
+        valid: true,
38
+        requesting: false,
39
+        form: {
40
+            email: '',
41
+            password: '',
42
+            fullname: '',
43
+        },
44
+    }),
45
+    methods: {
46
+        onSubmit() {
47
+            this.requesting = true
48
+            this.requesting = false
49
+        },
39 50
     },
40
-  },
41 51
 }
42 52
 </script>
43 53
 
@@ -158,7 +168,7 @@ html
158 168
     left: -100%
159 169
   50%, 100%
160 170
     left: 100%
161
-  
171
+
162 172
 .register__box button span:nth-child(2)
163 173
   top: -100%
164 174
   right: 0
@@ -173,7 +183,7 @@ html
173 183
     top: -100%
174 184
   50%, 100%
175 185
     top: 100%
176
-  
186
+
177 187
 .register__box button span:nth-child(3)
178 188
   bottom: 0
179 189
   right: -100%
@@ -188,7 +198,7 @@ html
188 198
     right: -100%
189 199
   50%, 100%
190 200
     right: 100%
191
-  
201
+
192 202
 .register__box a span:nth-child(4)
193 203
   bottom: -100%
194 204
   left: 0
@@ -204,4 +214,4 @@ html
204 214
   50%,
205 215
   100%
206 216
     bottom: 100%
207
-</style>
217
+</style>

+ 27
- 25
frontend/src/views/home.vue Прегледај датотеку

@@ -1,10 +1,10 @@
1 1
 <template lang="pug">
2 2
 #home
3
-  .content-wrapper
4
-    .content
5
-      main-header
6
-      profile-cards(:uid="uid" :users="swipables")
7
-  sidebar
3
+    .content-wrapper
4
+        .content
5
+            main-header
6
+            profile-cards(:uid='uid' :users='swipables')
7
+    sidebar
8 8
 </template>
9 9
 
10 10
 <script>
@@ -12,26 +12,28 @@ import mainHeader from '../shared/MainHeader.vue'
12 12
 import sidebar from '../shared/Sidebar.vue'
13 13
 import profileCards from '../components/TinderCard.vue'
14 14
 export default {
15
-  name: "home",
16
-  components: { mainHeader, profileCards, sidebar },
17
-  data() {
18
-    return {
19
-      swipables: [],
20
-      uid: "",
21
-    };
22
-  },
23
-  created() {
24
-    // this.uid = auth.currentUser?.uid || "99999";
25
-    this.uid = "99999"
26
-    this.getUsers()
27
-  },
28
-  methods: {
29
-    getUsers() {
30
-      const users = []
31
-      this.swipables = users.filter(u => (u.id = Date.now() + (Math.random() * 100000).toFixed()))
15
+    name: 'home',
16
+    components: { mainHeader, profileCards, sidebar },
17
+    data() {
18
+        return {
19
+            swipables: [],
20
+            uid: '',
21
+        }
32 22
     },
33
-  },
34
-};
23
+    created() {
24
+        // this.uid = auth.currentUser?.uid || "99999";
25
+        this.uid = '99999'
26
+        this.getUsers()
27
+    },
28
+    methods: {
29
+        getUsers() {
30
+            const users = []
31
+            this.swipables = users.filter(
32
+                u => (u.id = Date.now() + (Math.random() * 100000).toFixed()),
33
+            )
34
+        },
35
+    },
36
+}
35 37
 </script>
36 38
 <style lang="postcss">
37 39
 html
@@ -51,4 +53,4 @@ html
51 53
 @media only screen and (max-width: 768px)
52 54
   .content
53 55
     margin-left: 0
54
-</style>
56
+</style>

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