ソースを参照

:recycle: going back to props | syncing props up with currentProfile handler

tags/0.0.1
J 4年前
コミット
62e9541dd9

+ 1
- 0
frontend/.eslintrc.json ファイルの表示

@@ -7,5 +7,6 @@
7 7
         "plugin:vue/vue3-recommended",
8 8
         "prettier"
9 9
     ],
10
+    "parser": "vue-eslint-parser",
10 11
     "rules": {}
11 12
 }

+ 0
- 1
frontend/index.html ファイルの表示

@@ -2,7 +2,6 @@
2 2
 <html lang="en">
3 3
     <head>
4 4
         <meta charset="UTF-8" />
5
-        <link rel="icon" href="/favicon.ico" />
6 5
         <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7 6
         <title>Vite App</title>
8 7
     </head>

+ 67
- 68
frontend/package-lock.json ファイルの表示

@@ -359,8 +359,7 @@
359 359
         "acorn-jsx": {
360 360
             "version": "5.3.2",
361 361
             "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
362
-            "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
363
-            "dev": true
362
+            "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="
364 363
         },
365 364
         "acorn-walk": {
366 365
             "version": "8.2.0",
@@ -1284,6 +1283,12 @@
1284 1283
                 "vue-eslint-parser": "^8.0.1"
1285 1284
             },
1286 1285
             "dependencies": {
1286
+                "eslint-visitor-keys": {
1287
+                    "version": "3.3.0",
1288
+                    "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
1289
+                    "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
1290
+                    "dev": true
1291
+                },
1287 1292
                 "lru-cache": {
1288 1293
                     "version": "6.0.0",
1289 1294
                     "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
@@ -1302,6 +1307,21 @@
1302 1307
                         "lru-cache": "^6.0.0"
1303 1308
                     }
1304 1309
                 },
1310
+                "vue-eslint-parser": {
1311
+                    "version": "8.3.0",
1312
+                    "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz",
1313
+                    "integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==",
1314
+                    "dev": true,
1315
+                    "requires": {
1316
+                        "debug": "^4.3.2",
1317
+                        "eslint-scope": "^7.0.0",
1318
+                        "eslint-visitor-keys": "^3.1.0",
1319
+                        "espree": "^9.0.0",
1320
+                        "esquery": "^1.4.0",
1321
+                        "lodash": "^4.17.21",
1322
+                        "semver": "^7.3.5"
1323
+                    }
1324
+                },
1305 1325
                 "yallist": {
1306 1326
                     "version": "4.0.0",
1307 1327
                     "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -1314,7 +1334,6 @@
1314 1334
             "version": "7.1.1",
1315 1335
             "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
1316 1336
             "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
1317
-            "dev": true,
1318 1337
             "requires": {
1319 1338
                 "esrecurse": "^4.3.0",
1320 1339
                 "estraverse": "^5.2.0"
@@ -1323,8 +1342,7 @@
1323 1342
                 "estraverse": {
1324 1343
                     "version": "5.3.0",
1325 1344
                     "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
1326
-                    "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
1327
-                    "dev": true
1345
+                    "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="
1328 1346
                 }
1329 1347
             }
1330 1348
         },
@@ -1347,7 +1365,6 @@
1347 1365
             "version": "9.3.1",
1348 1366
             "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz",
1349 1367
             "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==",
1350
-            "dev": true,
1351 1368
             "requires": {
1352 1369
                 "acorn": "^8.7.0",
1353 1370
                 "acorn-jsx": "^5.3.1",
@@ -1357,14 +1374,12 @@
1357 1374
                 "acorn": {
1358 1375
                     "version": "8.7.0",
1359 1376
                     "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz",
1360
-                    "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==",
1361
-                    "dev": true
1377
+                    "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ=="
1362 1378
                 },
1363 1379
                 "eslint-visitor-keys": {
1364 1380
                     "version": "3.3.0",
1365 1381
                     "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
1366
-                    "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
1367
-                    "dev": true
1382
+                    "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA=="
1368 1383
                 }
1369 1384
             }
1370 1385
         },
@@ -1377,7 +1392,6 @@
1377 1392
             "version": "1.4.0",
1378 1393
             "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
1379 1394
             "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
1380
-            "dev": true,
1381 1395
             "requires": {
1382 1396
                 "estraverse": "^5.1.0"
1383 1397
             },
@@ -1385,8 +1399,7 @@
1385 1399
                 "estraverse": {
1386 1400
                     "version": "5.3.0",
1387 1401
                     "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
1388
-                    "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
1389
-                    "dev": true
1402
+                    "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="
1390 1403
                 }
1391 1404
             }
1392 1405
         },
@@ -1394,7 +1407,6 @@
1394 1407
             "version": "4.3.0",
1395 1408
             "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
1396 1409
             "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
1397
-            "dev": true,
1398 1410
             "requires": {
1399 1411
                 "estraverse": "^5.2.0"
1400 1412
             },
@@ -1402,8 +1414,7 @@
1402 1414
                 "estraverse": {
1403 1415
                     "version": "5.3.0",
1404 1416
                     "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
1405
-                    "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
1406
-                    "dev": true
1417
+                    "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="
1407 1418
                 }
1408 1419
             }
1409 1420
         },
@@ -2126,8 +2137,7 @@
2126 2137
         "lodash": {
2127 2138
             "version": "4.17.21",
2128 2139
             "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
2129
-            "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
2130
-            "dev": true
2140
+            "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
2131 2141
         },
2132 2142
         "lodash-es": {
2133 2143
             "version": "4.17.21",
@@ -3826,6 +3836,29 @@
3826 3836
                 "@types/jest": "^27.0.1"
3827 3837
             }
3828 3838
         },
3839
+        "semver": {
3840
+            "version": "7.3.7",
3841
+            "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
3842
+            "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
3843
+            "requires": {
3844
+                "lru-cache": "^6.0.0"
3845
+            },
3846
+            "dependencies": {
3847
+                "lru-cache": {
3848
+                    "version": "6.0.0",
3849
+                    "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
3850
+                    "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
3851
+                    "requires": {
3852
+                        "yallist": "^4.0.0"
3853
+                    }
3854
+                },
3855
+                "yallist": {
3856
+                    "version": "4.0.0",
3857
+                    "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
3858
+                    "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
3859
+                }
3860
+            }
3861
+        },
3829 3862
         "setprototypeof": {
3830 3863
             "version": "1.2.0",
3831 3864
             "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
@@ -4196,65 +4229,31 @@
4196 4229
             }
4197 4230
         },
4198 4231
         "vue-eslint-parser": {
4199
-            "version": "8.0.1",
4200
-            "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.0.1.tgz",
4201
-            "integrity": "sha512-lhWjDXJhe3UZw2uu3ztX51SJAPGPey1Tff2RK3TyZURwbuI4vximQLzz4nQfCv8CZq4xx7uIiogHMMoSJPr33A==",
4202
-            "dev": true,
4232
+            "version": "9.0.2",
4233
+            "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.0.2.tgz",
4234
+            "integrity": "sha512-uCPQwTGjOtAYrwnU+76pYxalhjsh7iFBsHwBqDHiOPTxtICDaraO4Szw54WFTNZTAEsgHHzqFOu1mmnBOBRzDA==",
4203 4235
             "requires": {
4204
-                "debug": "^4.3.2",
4205
-                "eslint-scope": "^6.0.0",
4206
-                "eslint-visitor-keys": "^3.0.0",
4207
-                "espree": "^9.0.0",
4236
+                "debug": "^4.3.4",
4237
+                "eslint-scope": "^7.1.1",
4238
+                "eslint-visitor-keys": "^3.3.0",
4239
+                "espree": "^9.3.1",
4208 4240
                 "esquery": "^1.4.0",
4209 4241
                 "lodash": "^4.17.21",
4210
-                "semver": "^7.3.5"
4242
+                "semver": "^7.3.6"
4211 4243
             },
4212 4244
             "dependencies": {
4213
-                "eslint-scope": {
4214
-                    "version": "6.0.0",
4215
-                    "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-6.0.0.tgz",
4216
-                    "integrity": "sha512-uRDL9MWmQCkaFus8RF5K9/L/2fn+80yoW3jkD53l4shjCh26fCtvJGasxjUqP5OT87SYTxCVA3BwTUzuELx9kA==",
4217
-                    "dev": true,
4245
+                "debug": {
4246
+                    "version": "4.3.4",
4247
+                    "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
4248
+                    "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
4218 4249
                     "requires": {
4219
-                        "esrecurse": "^4.3.0",
4220
-                        "estraverse": "^5.2.0"
4250
+                        "ms": "2.1.2"
4221 4251
                     }
4222 4252
                 },
4223 4253
                 "eslint-visitor-keys": {
4224
-                    "version": "3.1.0",
4225
-                    "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz",
4226
-                    "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==",
4227
-                    "dev": true
4228
-                },
4229
-                "estraverse": {
4230
-                    "version": "5.3.0",
4231
-                    "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
4232
-                    "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
4233
-                    "dev": true
4234
-                },
4235
-                "lru-cache": {
4236
-                    "version": "6.0.0",
4237
-                    "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
4238
-                    "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
4239
-                    "dev": true,
4240
-                    "requires": {
4241
-                        "yallist": "^4.0.0"
4242
-                    }
4243
-                },
4244
-                "semver": {
4245
-                    "version": "7.3.5",
4246
-                    "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
4247
-                    "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
4248
-                    "dev": true,
4249
-                    "requires": {
4250
-                        "lru-cache": "^6.0.0"
4251
-                    }
4252
-                },
4253
-                "yallist": {
4254
-                    "version": "4.0.0",
4255
-                    "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
4256
-                    "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
4257
-                    "dev": true
4254
+                    "version": "3.3.0",
4255
+                    "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
4256
+                    "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA=="
4258 4257
                 }
4259 4258
             }
4260 4259
         },

+ 2
- 1
frontend/package.json ファイルの表示

@@ -11,9 +11,10 @@
11 11
         "test": "echo 'no tests at this time...'"
12 12
     },
13 13
     "dependencies": {
14
-        "pubnub": "^5.0.0",
15 14
         "joi": "^17.6.0",
15
+        "pubnub": "^5.0.0",
16 16
         "vue": "^3.2.31",
17
+        "vue-eslint-parser": "^9.0.2",
17 18
         "vue-router": "^4.0.14"
18 19
     },
19 20
     "devDependencies": {

+ 22
- 25
frontend/src/App.vue ファイルの表示

@@ -1,6 +1,6 @@
1 1
 <template lang="pug">
2 2
 SideBar(v-if="showSidebar" :pid="pid" @updatePid="setPid" @hide="showSidebar = false")
3
-RouterView(:pid="pid" @show-sidebar="showSidebar = true")
3
+RouterView(:pid="pid" @show-sidebar="showSidebar = !showSidebar" @updatePid="setPid")
4 4
 </template>
5 5
 
6 6
 <script>
@@ -8,58 +8,55 @@ import * as sss from '@/sss/import.css'
8 8
 
9 9
 import SideBar from './components/SideBar.vue'
10 10
 
11
-import { Chatter, StonkAlert, currentProfile } from '@/services'
12
-import { surveyFactory } from '@/utils'
11
+import { Chatter, currentProfile, StonkAlert } from './services'
12
+import { surveyFactory } from './utils'
13 13
 
14
+const DEV = import.meta.env.VITE_DEV == 'true'
14 15
 const DEFAULT_PID = 45
15 16
 
16 17
 export default {
17 18
     components: { SideBar },
18 19
     data: () => ({
20
+        pid: null,
19 21
         showSidebar: false
20 22
     }),
21
-    computed:{
22
-        pid: () => {
23
-            return currentProfile.id ?  currentProfile.id : DEFAULT_PID
24
-        }
25
-    },
26 23
     async created() {
27
-        await this.setupSurveyFactory()
24
+        await surveyFactory.getQuestions()
25
+
26
+        if(DEV) {
27
+            this.setPid(DEFAULT_PID)
28
+        }
29
+
28 30
         this.setupChatter()
29 31
         this.setupToaster()
32
+        console.log('---')
30 33
     },
31 34
     methods: {
32 35
         /**
33
-         * For push notifications and chat group initiation
36
+         * Sync up this components state with
37
+         * the currentProfile handler
34 38
          */
35
-        setupToaster() {
36
-            const t = new StonkAlert(this.pid)
39
+        setPid(pid) {
40
+            currentProfile.login(pid)
41
+            this.pid = currentProfile.id
37 42
         },
43
+
38 44
         /**
39
-         * Pubnub stuff
45
+         * For push notifications and chat
40 46
          */
47
+        setupToaster() {
48
+            const t = new StonkAlert(this.pid)
49
+        },
41 50
         setupChatter() {
42 51
             const c = new Chatter()
43 52
             const testAccountUUID = import.meta.env.VITE_TEST_ACCOUNT_UUID
44 53
             c.setup(testAccountUUID)
45
-            console.log('---')
46 54
         },
47
-        /**
48
-         * Get all the questions early because lots
49
-         * of things depend on the count
50
-         * 
51
-         * Note: only make the survey if the
52
-         * SurveyView is accessed
53
-         */
54
-        async setupSurveyFactory() {
55
-            await surveyFactory.getQuestions()
56
-        }
57 55
     },
58 56
 }
59 57
 </script>
60 58
 
61 59
 <style lang="postcss">
62
-// prettier-ignore
63 60
 @import './sss/theme.sss'
64 61
 
65 62
 html

バイナリ
frontend/src/assets/logo.png ファイルの表示


+ 1
- 1
frontend/src/components/MainNav.vue ファイルの表示

@@ -1,6 +1,6 @@
1 1
 <template lang="pug">
2 2
 nav#main-header.w-full.f-row.around.p-2
3
-    button(@click="$emit('show-sidebar')") show sidebar
3
+    button(@click="$emit('show-sidebar')") toggle sidebar
4 4
     router-link.header__icon.mobile--only(:to="`/matches`") matches
5 5
     router-link.header__icon(to='/') home
6 6
     router-link.header__icon.mobile--only(:to="`/survey`") survey

+ 2
- 1
frontend/src/components/Messages.vue ファイルの表示

@@ -17,11 +17,12 @@
17 17
 
18 18
 <script>
19 19
 export default {
20
-    name: 'messages',
20
+    name: 'UserMessages',
21 21
     props: {
22 22
         title: { type: String, default: 'Messages' },
23 23
         users: {
24 24
             type: [Object, Array],
25
+            default: []
25 26
         },
26 27
     },
27 28
     computed: {

+ 0
- 1
frontend/src/components/ProfileCardList.vue ファイルの表示

@@ -36,7 +36,6 @@ section.profile_card_list.w-full
36 36
 
37 37
 <script setup>
38 38
 import { useRouter } from 'vue-router'
39
-import { defineProps, defineEmits } from 'vue'
40 39
 import {
41 40
     updateQueueByProfileId,
42 41
     fetchMembershipsByProfileId,

+ 1
- 1
frontend/src/components/form.vue ファイルの表示

@@ -58,7 +58,7 @@
58 58
 
59 59
 <script setup>
60 60
 import Joi from 'joi'
61
-import { defineProps, reactive } from 'vue'
61
+import { reactive } from 'vue'
62 62
 import { useRouter } from 'vue-router'
63 63
 import { validatorMapping, makeKebob } from '@/utils'
64 64
 import {

+ 1
- 1
frontend/src/components/form/button-choice.vue ファイルの表示

@@ -7,7 +7,7 @@
7 7
 </template>
8 8
 
9 9
 <script setup>
10
-import { defineProps, defineEmits, ref } from 'vue'
10
+import { ref } from 'vue'
11 11
 
12 12
 const emit = defineEmits(['selected', 'hovered'])
13 13
 

+ 1
- 1
frontend/src/components/form/button-multi.vue ファイルの表示

@@ -6,7 +6,7 @@
6 6
 </template>
7 7
 
8 8
 <script setup>
9
-import { defineProps, defineEmits, ref } from 'vue'
9
+import { ref } from 'vue'
10 10
 
11 11
 const emit = defineEmits(['onButtonSelect'])
12 12
 

+ 2
- 2
frontend/src/components/form/input-string.vue ファイルの表示

@@ -9,13 +9,13 @@
9 9
 </template>
10 10
 
11 11
 <script setup>
12
-import { defineProps, defineEmits, ref, watch } from 'vue'
12
+import { ref, watch } from 'vue'
13 13
 
14 14
 const emit = defineEmits(['selected', 'input'])
15 15
 
16 16
 const props = defineProps({
17 17
     default: {
18
-        required: true,
18
+        required: false,
19 19
         type: String,
20 20
         default: () => 'Bob',
21 21
     },

+ 1
- 0
frontend/src/router/guards.js ファイルの表示

@@ -3,6 +3,7 @@ import { currentProfile } from '../services'
3 3
 
4 4
 const checkLoginStatus = (destination, nextCb) => {
5 5
     console.warn('currentProfile logged in:', currentProfile.isLoggedIn())
6
+    console.warn('currentProfile completed:', currentProfile.isComplete())
6 7
     if (
7 8
         destination.meta.requiresCompleteProfile &&
8 9
         currentProfile.isLoggedIn() &&

+ 2
- 1
frontend/src/services/login.service.js ファイルの表示

@@ -3,7 +3,7 @@ import { surveyFactory } from '../utils'
3 3
 
4 4
 class Login {
5 5
     constructor() {
6
-        this._loading = true
6
+        this._loading = false
7 7
 
8 8
         this.id = null
9 9
         this.queue = []
@@ -66,6 +66,7 @@ class Login {
66 66
      * Login a profile id
67 67
      */
68 68
     async login(pid) {
69
+        console.warn('logging in:', pid)
69 70
         this.id = parseInt(pid)
70 71
         return this.id
71 72
     }

+ 5
- 3
frontend/src/views/LoginView.vue ファイルの表示

@@ -4,10 +4,12 @@ main.view--login.w-full.f-col
4 4
         h2 Login
5 5
 
6 6
     article
7
-        form(@submit.prevent='onSubmit')
7
+        form(@submit.prevent="onSubmit")
8 8
             label profile id:
9
-            input(required='' type='profileId' v-model='form.profileId')
10
-            button(type='submit') submit
9
+            input(required="" type="profileId" v-model="form.profileId")
10
+
11
+            //- Emit up an event so we can sync App pid with currentProfile.id
12
+            button(@click="$emit('updatePid', form.profileId)" type="submit") submit
11 13
 </template>
12 14
 
13 15
 <script>

+ 4
- 4
frontend/src/views/SurveyView.vue ファイルの表示

@@ -1,12 +1,13 @@
1 1
 <template lang="pug">
2 2
 main.view--survey.f-col.start.w-full
3 3
     header.w-full.f-col
4
+        p survey for profile: {{ pid }}
4 5
         Transition(name="slide-up" :duration="1600")
5 6
             h3(v-if="step == 0") hello, what shall i call you?
6 7
                 span(v-for="letter in name" class="fade") {{ letter }}
7 8
 
8
-            h3(v-else-if="step == 1") What can i help you with, 
9
-                span {{ name }}?
9
+            h3(v-else-if="step == 1") Hi {{ name}}.&nbsp;
10
+                span What can i help you with?
10 11
                 br
11 12
                 span I am seeking a 
12 13
                     span(v-if="!seeking") ___________.
@@ -68,11 +69,10 @@ main.view--survey.f-col.start.w-full
68 69
                     footer.f-row
69 70
                         button(@click="back(q.response_key_prompt)").w-full back
70 71
         //- SurveyForm(v-if="validSurvey && validSurvey.steps" :form="validSurvey.steps" :pid="pid")
71
-    MainNav(:pid="pid" @show-sidebar="$emit('show-sidebar')")
72
+    MainNav(@show-sidebar="$emit('show-sidebar')")
72 73
 </template>
73 74
 
74 75
 <script>
75
-import { checkLoginStatus } from '../router/guards'
76 76
 import { surveyFactory } from '../utils'
77 77
 import { allSteps, possible, stepToComponentMap } from '../utils/lang'
78 78
 

読み込み中…
キャンセル
保存