Przeglądaj źródła

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

tags/0.0.1
J 4 lat temu
rodzic
commit
62e9541dd9

+ 1
- 0
frontend/.eslintrc.json Wyświetl plik

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

+ 0
- 1
frontend/index.html Wyświetl plik

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

+ 67
- 68
frontend/package-lock.json Wyświetl plik

359
         "acorn-jsx": {
359
         "acorn-jsx": {
360
             "version": "5.3.2",
360
             "version": "5.3.2",
361
             "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
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
         "acorn-walk": {
364
         "acorn-walk": {
366
             "version": "8.2.0",
365
             "version": "8.2.0",
1284
                 "vue-eslint-parser": "^8.0.1"
1283
                 "vue-eslint-parser": "^8.0.1"
1285
             },
1284
             },
1286
             "dependencies": {
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
                 "lru-cache": {
1292
                 "lru-cache": {
1288
                     "version": "6.0.0",
1293
                     "version": "6.0.0",
1289
                     "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
1294
                     "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
1302
                         "lru-cache": "^6.0.0"
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
                 "yallist": {
1325
                 "yallist": {
1306
                     "version": "4.0.0",
1326
                     "version": "4.0.0",
1307
                     "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
1327
                     "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
1314
             "version": "7.1.1",
1334
             "version": "7.1.1",
1315
             "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
1335
             "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
1316
             "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
1336
             "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
1317
-            "dev": true,
1318
             "requires": {
1337
             "requires": {
1319
                 "esrecurse": "^4.3.0",
1338
                 "esrecurse": "^4.3.0",
1320
                 "estraverse": "^5.2.0"
1339
                 "estraverse": "^5.2.0"
1323
                 "estraverse": {
1342
                 "estraverse": {
1324
                     "version": "5.3.0",
1343
                     "version": "5.3.0",
1325
                     "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
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
             "version": "9.3.1",
1365
             "version": "9.3.1",
1348
             "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz",
1366
             "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz",
1349
             "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==",
1367
             "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==",
1350
-            "dev": true,
1351
             "requires": {
1368
             "requires": {
1352
                 "acorn": "^8.7.0",
1369
                 "acorn": "^8.7.0",
1353
                 "acorn-jsx": "^5.3.1",
1370
                 "acorn-jsx": "^5.3.1",
1357
                 "acorn": {
1374
                 "acorn": {
1358
                     "version": "8.7.0",
1375
                     "version": "8.7.0",
1359
                     "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz",
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
                 "eslint-visitor-keys": {
1379
                 "eslint-visitor-keys": {
1364
                     "version": "3.3.0",
1380
                     "version": "3.3.0",
1365
                     "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
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
             "version": "1.4.0",
1392
             "version": "1.4.0",
1378
             "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
1393
             "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
1379
             "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
1394
             "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
1380
-            "dev": true,
1381
             "requires": {
1395
             "requires": {
1382
                 "estraverse": "^5.1.0"
1396
                 "estraverse": "^5.1.0"
1383
             },
1397
             },
1385
                 "estraverse": {
1399
                 "estraverse": {
1386
                     "version": "5.3.0",
1400
                     "version": "5.3.0",
1387
                     "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
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
             "version": "4.3.0",
1407
             "version": "4.3.0",
1395
             "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
1408
             "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
1396
             "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
1409
             "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
1397
-            "dev": true,
1398
             "requires": {
1410
             "requires": {
1399
                 "estraverse": "^5.2.0"
1411
                 "estraverse": "^5.2.0"
1400
             },
1412
             },
1402
                 "estraverse": {
1414
                 "estraverse": {
1403
                     "version": "5.3.0",
1415
                     "version": "5.3.0",
1404
                     "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
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
         "lodash": {
2137
         "lodash": {
2127
             "version": "4.17.21",
2138
             "version": "4.17.21",
2128
             "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
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
         "lodash-es": {
2142
         "lodash-es": {
2133
             "version": "4.17.21",
2143
             "version": "4.17.21",
3826
                 "@types/jest": "^27.0.1"
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
         "setprototypeof": {
3862
         "setprototypeof": {
3830
             "version": "1.2.0",
3863
             "version": "1.2.0",
3831
             "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
3864
             "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
4196
             }
4229
             }
4197
         },
4230
         },
4198
         "vue-eslint-parser": {
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
             "requires": {
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
                 "esquery": "^1.4.0",
4240
                 "esquery": "^1.4.0",
4209
                 "lodash": "^4.17.21",
4241
                 "lodash": "^4.17.21",
4210
-                "semver": "^7.3.5"
4242
+                "semver": "^7.3.6"
4211
             },
4243
             },
4212
             "dependencies": {
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
                     "requires": {
4249
                     "requires": {
4219
-                        "esrecurse": "^4.3.0",
4220
-                        "estraverse": "^5.2.0"
4250
+                        "ms": "2.1.2"
4221
                     }
4251
                     }
4222
                 },
4252
                 },
4223
                 "eslint-visitor-keys": {
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 Wyświetl plik

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

+ 22
- 25
frontend/src/App.vue Wyświetl plik

1
 <template lang="pug">
1
 <template lang="pug">
2
 SideBar(v-if="showSidebar" :pid="pid" @updatePid="setPid" @hide="showSidebar = false")
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
 </template>
4
 </template>
5
 
5
 
6
 <script>
6
 <script>
8
 
8
 
9
 import SideBar from './components/SideBar.vue'
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
 const DEFAULT_PID = 45
15
 const DEFAULT_PID = 45
15
 
16
 
16
 export default {
17
 export default {
17
     components: { SideBar },
18
     components: { SideBar },
18
     data: () => ({
19
     data: () => ({
20
+        pid: null,
19
         showSidebar: false
21
         showSidebar: false
20
     }),
22
     }),
21
-    computed:{
22
-        pid: () => {
23
-            return currentProfile.id ?  currentProfile.id : DEFAULT_PID
24
-        }
25
-    },
26
     async created() {
23
     async created() {
27
-        await this.setupSurveyFactory()
24
+        await surveyFactory.getQuestions()
25
+
26
+        if(DEV) {
27
+            this.setPid(DEFAULT_PID)
28
+        }
29
+
28
         this.setupChatter()
30
         this.setupChatter()
29
         this.setupToaster()
31
         this.setupToaster()
32
+        console.log('---')
30
     },
33
     },
31
     methods: {
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
         setupChatter() {
50
         setupChatter() {
42
             const c = new Chatter()
51
             const c = new Chatter()
43
             const testAccountUUID = import.meta.env.VITE_TEST_ACCOUNT_UUID
52
             const testAccountUUID = import.meta.env.VITE_TEST_ACCOUNT_UUID
44
             c.setup(testAccountUUID)
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
 </script>
57
 </script>
60
 
58
 
61
 <style lang="postcss">
59
 <style lang="postcss">
62
-// prettier-ignore
63
 @import './sss/theme.sss'
60
 @import './sss/theme.sss'
64
 
61
 
65
 html
62
 html

BIN
frontend/src/assets/logo.png Wyświetl plik


+ 1
- 1
frontend/src/components/MainNav.vue Wyświetl plik

1
 <template lang="pug">
1
 <template lang="pug">
2
 nav#main-header.w-full.f-row.around.p-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
     router-link.header__icon.mobile--only(:to="`/matches`") matches
4
     router-link.header__icon.mobile--only(:to="`/matches`") matches
5
     router-link.header__icon(to='/') home
5
     router-link.header__icon(to='/') home
6
     router-link.header__icon.mobile--only(:to="`/survey`") survey
6
     router-link.header__icon.mobile--only(:to="`/survey`") survey

+ 2
- 1
frontend/src/components/Messages.vue Wyświetl plik

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

+ 0
- 1
frontend/src/components/ProfileCardList.vue Wyświetl plik

36
 
36
 
37
 <script setup>
37
 <script setup>
38
 import { useRouter } from 'vue-router'
38
 import { useRouter } from 'vue-router'
39
-import { defineProps, defineEmits } from 'vue'
40
 import {
39
 import {
41
     updateQueueByProfileId,
40
     updateQueueByProfileId,
42
     fetchMembershipsByProfileId,
41
     fetchMembershipsByProfileId,

+ 1
- 1
frontend/src/components/form.vue Wyświetl plik

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

+ 1
- 1
frontend/src/components/form/button-choice.vue Wyświetl plik

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

+ 1
- 1
frontend/src/components/form/button-multi.vue Wyświetl plik

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

+ 2
- 2
frontend/src/components/form/input-string.vue Wyświetl plik

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

+ 1
- 0
frontend/src/router/guards.js Wyświetl plik

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

+ 2
- 1
frontend/src/services/login.service.js Wyświetl plik

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

+ 5
- 3
frontend/src/views/LoginView.vue Wyświetl plik

4
         h2 Login
4
         h2 Login
5
 
5
 
6
     article
6
     article
7
-        form(@submit.prevent='onSubmit')
7
+        form(@submit.prevent="onSubmit")
8
             label profile id:
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
 </template>
13
 </template>
12
 
14
 
13
 <script>
15
 <script>

+ 4
- 4
frontend/src/views/SurveyView.vue Wyświetl plik

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

Ładowanie…
Anuluj
Zapisz