From f196a73c13b7566734ed90d84c62ffbfb8bda6dd Mon Sep 17 00:00:00 2001 From: Victor Date: Tue, 6 Nov 2018 18:15:28 +0100 Subject: [PATCH 01/10] Initial improvement of post preview Regarding #63 --- cshub-client/package-lock.json | 28 ++++++---------------- cshub-client/src/components/posts/Post.vue | 7 ++---- 2 files changed, 9 insertions(+), 26 deletions(-) diff --git a/cshub-client/package-lock.json b/cshub-client/package-lock.json index da9a34b0..bc6d07a1 100644 --- a/cshub-client/package-lock.json +++ b/cshub-client/package-lock.json @@ -4301,14 +4301,12 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -4323,20 +4321,17 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -4453,8 +4448,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -4466,7 +4460,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -4481,7 +4474,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -4489,14 +4481,12 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.2.4", "bundled": true, "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.1.1", "yallist": "^3.0.0" @@ -4515,7 +4505,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -4596,8 +4585,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -4609,7 +4597,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -4731,7 +4718,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", diff --git a/cshub-client/src/components/posts/Post.vue b/cshub-client/src/components/posts/Post.vue index 6da7b464..ad957eda 100644 --- a/cshub-client/src/components/posts/Post.vue +++ b/cshub-client/src/components/posts/Post.vue @@ -63,7 +63,7 @@
-

{{post.title}}

(unverified)

+

{{post.title}}

(unverified)

{{post.author.firstname}} {{post.author.lastname}} - {{post.datetime | formatDate}}
@@ -466,7 +466,7 @@ .previewCard { position: relative; - max-height: 110px; + max-height: 30vh; width: 90%; overflow: hidden; margin: 20px 5% 20px 5%; @@ -484,9 +484,6 @@ } .viewButton { - position: absolute; - bottom: 0; - left: 0; width: 100%; text-align: right; margin: 0; From 2177a27bcd3fdc696b0cbf30fe9c6ff677958b8d Mon Sep 17 00:00:00 2001 From: RobbinBaauw Date: Tue, 6 Nov 2018 18:22:21 +0100 Subject: [PATCH 02/10] Fixed 49 --- cshub-client/.env.production | 2 +- cshub-client/src/components/posts/Post.vue | 3 +++ cshub-client/src/views/posts/TopicCreate.vue | 2 +- cshub-client/src/views/user/LoginScreen.vue | 2 +- cshub-server/src/components/account/Login.ts | 7 +------ cshub-server/src/components/pages/CreateTopic.ts | 4 ++-- 6 files changed, 9 insertions(+), 11 deletions(-) diff --git a/cshub-client/.env.production b/cshub-client/.env.production index 50df19ce..128253c2 100644 --- a/cshub-client/.env.production +++ b/cshub-client/.env.production @@ -1,2 +1,2 @@ -VUE_APP_API_URL=https://api-dev.cshub.nl +VUE_APP_API_URL=https://api.cshub.nl VUE_APP_DEBUG=false diff --git a/cshub-client/src/components/posts/Post.vue b/cshub-client/src/components/posts/Post.vue index 6da7b464..c0611989 100644 --- a/cshub-client/src/components/posts/Post.vue +++ b/cshub-client/src/components/posts/Post.vue @@ -10,6 +10,9 @@
+ + fas fa-chevron-left + fas fa-angle-down diff --git a/cshub-client/src/views/posts/TopicCreate.vue b/cshub-client/src/views/posts/TopicCreate.vue index 19d71fea..b7e15df9 100644 --- a/cshub-client/src/views/posts/TopicCreate.vue +++ b/cshub-client/src/views/posts/TopicCreate.vue @@ -23,7 +23,7 @@ label="Topic title" box v-model="topicTitle" - v-validate="'required|min:4|max:127'" + v-validate="'required|min:2|max:35'" :error-messages="errors.collect('topicTitle') + topicTitleError" @change="topicTitleError = ''" name="topicTitle" diff --git a/cshub-client/src/views/user/LoginScreen.vue b/cshub-client/src/views/user/LoginScreen.vue index 9525211b..ec832535 100644 --- a/cshub-client/src/views/user/LoginScreen.vue +++ b/cshub-client/src/views/user/LoginScreen.vue @@ -29,7 +29,7 @@ :append-icon="userData.passwordvisible ? 'fa-eye-slash' : 'fas fa-eye'" @click:append="() => (userData.passwordvisible = !userData.passwordvisible)" :type="userData.passwordvisible ? 'text' : 'password'" - v-validate="'required|min:8'" + v-validate="'required'" box required autocomplete="current-password" diff --git a/cshub-server/src/components/account/Login.ts b/cshub-server/src/components/account/Login.ts index 5d64d35b..bcc96cca 100644 --- a/cshub-server/src/components/account/Login.ts +++ b/cshub-server/src/components/account/Login.ts @@ -16,12 +16,7 @@ app.post(Login.getURL, (req: Request, res: Response) => { const loginRequest = req.body as Login; // Checking the input, see createaccount for a (bit) more in depth explanation - if (customValidator({ - input: loginRequest.password, - validationObject: { - minlength: 8 - } - }).valid && customValidator({input: loginRequest.email}).valid) { + if (customValidator({input: loginRequest.password}).valid && customValidator({input: loginRequest.email}).valid) { // If the input is actually valid, check if the password entered is equal. Depending on the output of the server, provide the correct error or login. hashPassword(loginRequest.password) diff --git a/cshub-server/src/components/pages/CreateTopic.ts b/cshub-server/src/components/pages/CreateTopic.ts index 190a23c0..1b556c1c 100644 --- a/cshub-server/src/components/pages/CreateTopic.ts +++ b/cshub-server/src/components/pages/CreateTopic.ts @@ -19,8 +19,8 @@ app.post(CreateTopic.getURL, (req: Request, res: Response) => { const inputsValidation = validateMultipleInputs({ input: submitTopicRequest.topicTitle, validationObject: { - minlength: 4, - maxlength: 127 + minlength: 2, + maxlength: 35 } }, {input: submitTopicRequest.topicParentHash}); From 35555affd4c7fca62f5a2e47660409466ea5ec77 Mon Sep 17 00:00:00 2001 From: RobbinBaauw Date: Tue, 6 Nov 2018 18:29:54 +0100 Subject: [PATCH 03/10] Added validation for dot in email --- cshub-client/src/utilities/validation.ts | 8 ++++++-- cshub-server/src/utilities/StringUtils.ts | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/cshub-client/src/utilities/validation.ts b/cshub-client/src/utilities/validation.ts index b4777f0f..7331773a 100644 --- a/cshub-client/src/utilities/validation.ts +++ b/cshub-client/src/utilities/validation.ts @@ -3,11 +3,15 @@ import VeeValidate from "vee-validate"; export const emailValidator = { getMessage() { - return "No correct email format."; + return "Use your e-mail, not NetID (e.g. C.S.Hub@student.tudelft.nl)"; }, validate(value: string) { const regex = new RegExp("^[a-zA-Z.]*$"); - return regex.test(value); + if (regex.test(value) && value.includes(".")) { + return true; + } else { + return false; + } } }; diff --git a/cshub-server/src/utilities/StringUtils.ts b/cshub-server/src/utilities/StringUtils.ts index 4d824b87..903df1ed 100644 --- a/cshub-server/src/utilities/StringUtils.ts +++ b/cshub-server/src/utilities/StringUtils.ts @@ -54,7 +54,7 @@ export const customValidator = (input: ICustomValidatorInput): ICustomValidatorR return {valid: false, error: CustomValidatorReponseTypes.MAXLENGTH, value: input.input}; } else if (input.validationObject.tuemail) { const regex = new RegExp("^[a-zA-Z.]*$"); - if (!regex.test(input.input.toString())) { return {valid: false, error: CustomValidatorReponseTypes.TUEMAIL, value: input.input}; } + if (!regex.test(input.input.toString()) || !input.input.toString().includes(".")) { return {valid: false, error: CustomValidatorReponseTypes.TUEMAIL, value: input.input}; } } else { return {valid: true}; } From 88fe4034665baadaf04ad9237eb5f63ad02f2a16 Mon Sep 17 00:00:00 2001 From: RobbinBaauw Date: Tue, 6 Nov 2018 18:33:39 +0100 Subject: [PATCH 04/10] Added more validation so no trailing dot is allowed --- cshub-client/src/utilities/validation.ts | 2 +- cshub-server/src/utilities/StringUtils.ts | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/cshub-client/src/utilities/validation.ts b/cshub-client/src/utilities/validation.ts index 7331773a..e4e907fc 100644 --- a/cshub-client/src/utilities/validation.ts +++ b/cshub-client/src/utilities/validation.ts @@ -7,7 +7,7 @@ export const emailValidator = { }, validate(value: string) { const regex = new RegExp("^[a-zA-Z.]*$"); - if (regex.test(value) && value.includes(".")) { + if (regex.test(value) && value.includes(".") && value[value.length - 1] !== ".") { return true; } else { return false; diff --git a/cshub-server/src/utilities/StringUtils.ts b/cshub-server/src/utilities/StringUtils.ts index 903df1ed..de9d5fa7 100644 --- a/cshub-server/src/utilities/StringUtils.ts +++ b/cshub-server/src/utilities/StringUtils.ts @@ -33,6 +33,8 @@ export enum CustomValidatorReponseTypes { // It will return a response which tells it if it's valid, gives the enum of the error and the value of the string is something is wrong export const customValidator = (input: ICustomValidatorInput): ICustomValidatorResponse => { + const inputString = input.input.toString(); + if (input.validationObject === undefined) { input.validationObject = {nullemptyundefined: true}; } @@ -48,13 +50,15 @@ export const customValidator = (input: ICustomValidatorInput): ICustomValidatorR return {valid: false, error: CustomValidatorReponseTypes.UNDEFINED, value: input.input}; } else if (input.validationObject.empty && input.input === "") { return {valid: false, error: CustomValidatorReponseTypes.EMPTY, value: input.input}; - } else if (input.validationObject.minlength && input.validationObject.minlength > 0 && input.input.toString().length < input.validationObject.minlength) { + } else if (input.validationObject.minlength && input.validationObject.minlength > 0 && inputString.length < input.validationObject.minlength) { return {valid: false, error: CustomValidatorReponseTypes.MINLENGTH, value: input.input}; - } else if (input.validationObject.maxlength && input.validationObject.maxlength > 0 && input.input.toString().length > input.validationObject.maxlength) { + } else if (input.validationObject.maxlength && input.validationObject.maxlength > 0 && inputString.length > input.validationObject.maxlength) { return {valid: false, error: CustomValidatorReponseTypes.MAXLENGTH, value: input.input}; } else if (input.validationObject.tuemail) { const regex = new RegExp("^[a-zA-Z.]*$"); - if (!regex.test(input.input.toString()) || !input.input.toString().includes(".")) { return {valid: false, error: CustomValidatorReponseTypes.TUEMAIL, value: input.input}; } + if (!regex.test(inputString) || !inputString.includes(".") || inputString[inputString.length - 1] === ".") { + return {valid: false, error: CustomValidatorReponseTypes.TUEMAIL, value: input.input}; + } } else { return {valid: true}; } From 67a44be323ed30df4e83fa15a666f6abdbc10a08 Mon Sep 17 00:00:00 2001 From: Victor Date: Tue, 6 Nov 2018 21:35:25 +0100 Subject: [PATCH 05/10] Post preview now completely different. Fixes #63 --- cshub-client/src/components/posts/Post.vue | 863 ++++++++++----------- cshub-client/src/plugins/quill/quill.ts | 10 +- 2 files changed, 436 insertions(+), 437 deletions(-) diff --git a/cshub-client/src/components/posts/Post.vue b/cshub-client/src/components/posts/Post.vue index ad957eda..6d1538c9 100644 --- a/cshub-client/src/components/posts/Post.vue +++ b/cshub-client/src/components/posts/Post.vue @@ -5,107 +5,90 @@
- - - -
- - fas fa-angle-down - -
-
- - - - - fas fa-chevron-left - - - {{item.name}} - - - {{post.title}} - - - fas fa-check - - - fas fa-edit - - - fas fa-save + + +
+ + fas fa-angle-down - - fas fa-list-ol - - - fas fa-angle-up - - - - - {{post.upvotes}} - - avatar - - -
-

{{post.title}}

(unverified)

-
{{post.author.firstname}} {{post.author.lastname}} - {{post.datetime | formatDate}}
-
- - - - - - - -
-
-
-
-
-
- -
- - - View - - - + + + + + + fas fa-chevron-left + + + {{item.name}} + + {{post.title}} + + fas fa-check + + + fas fa-edit + + + fas fa-save + + + fas fa-list-ol + + + fas fa-angle-up + + + + + + + + + + {{post.title}} + {{post.author.firstname}} {{post.author.lastname}} - {{post.datetime | formatDate}} + + + + + + + + + +
+
+
+
+
+
+
+ +
+
+ style="width: 100%; margin: 10% auto;" />
- +
+ clearTimeout(timeOut); + this.loadingIcon = false; - \ No newline at end of file diff --git a/cshub-client/src/plugins/quill/quill.ts b/cshub-client/src/plugins/quill/quill.ts index b27b9de4..65c71583 100644 --- a/cshub-client/src/plugins/quill/quill.ts +++ b/cshub-client/src/plugins/quill/quill.ts @@ -50,11 +50,11 @@ export interface RangeStatic { } export class RangeStatic implements RangeStatic { - constructor() {}; - index: number; - length: number; -} + + public index: number; + public length: number; + constructor() {}} export interface EventEmitter { on(eventName: "text-change", handler: TextChangeHandler): EventEmitter; @@ -74,4 +74,4 @@ export interface EventEmitter { off(eventName: "selection-change", handler: SelectionChangeHandler): EventEmitter; off(eventName: "editor-change", handler: EditorChangeHandler): EventEmitter; -} \ No newline at end of file +} From 333f2809140c59c7fb699d6fc957ef35b7ad8a55 Mon Sep 17 00:00:00 2001 From: RobbinBaauw Date: Tue, 6 Nov 2018 21:38:43 +0100 Subject: [PATCH 06/10] Fixed a lot of avatar stuff --- cshub-client/public/assets/defaultAvatar.png | Bin 0 -> 1926 bytes .../src/components/admin/UserTable.vue | 2 - .../src/components/global/NavDrawer.vue | 10 + cshub-client/src/components/posts/Post.vue | 9 +- cshub-client/src/views/router/router.ts | 5 +- .../src/views/user/CreateUserAccount.vue | 130 +++--- cshub-client/src/views/user/UserDashboard.vue | 226 ++++++---- cshub-server/package-lock.json | 408 +++++++++++++++++- cshub-server/package.json | 3 +- cshub-server/src/auth/JWTHandler.ts | 5 +- .../src/components/account/CreateAccount.ts | 1 + cshub-server/src/components/account/Login.ts | 4 +- .../src/components/pages/GetEditContent.ts | 2 +- cshub-server/src/components/pages/GetPost.ts | 4 + .../src/components/pages/admin/GetAllUsers.ts | 4 +- .../components/pages/user/ChangeUserAvatar.ts | 51 +++ .../src/components/pages/user/index.ts | 1 + cshub-shared/api-calls/AuthRequests.ts | 1 + .../api-calls/pages/user/ChangeUserAvatar.ts | 24 ++ cshub-shared/api-calls/pages/user/index.ts | 2 + cshub-shared/package-lock.json | 5 + cshub-shared/package.json | 3 + 22 files changed, 741 insertions(+), 159 deletions(-) create mode 100644 cshub-client/public/assets/defaultAvatar.png create mode 100644 cshub-server/src/components/pages/user/ChangeUserAvatar.ts create mode 100644 cshub-shared/api-calls/pages/user/ChangeUserAvatar.ts diff --git a/cshub-client/public/assets/defaultAvatar.png b/cshub-client/public/assets/defaultAvatar.png new file mode 100644 index 0000000000000000000000000000000000000000..62ede7562fb4bfd1f4f22af19871a945dfe57583 GIT binary patch literal 1926 zcmV;12YL93P) zTZmOv7{`B(Io@R|FOioSt)%S1kTUI}MopzpAw=mzNMTq#+d~h&6g>!;y=3(iL==S4 zTcKcv;*GL$3@xXNNg9r!c^`GOhqXjK%&|Fh_FmuF-~RvLW5by<=ew-`S!?gJ*Io;R z5JCtcgb+dqA%qY@2q8p+Gr&5424WP@4zvMdfiV@wvGIL}qjgmr{{Yql#}mdZ8kAds zWx!WJH*l#=>yDqbEPl2q5d(mwz&79_^^2*RU5q}KqLINpcLAHpPfXQpbM!5o(G090 zo8hjWVRA)`ML1v#unRjuRobo?lPEAlfvwn!snWK_*hB$o0@h+LqH4A_#wZHLD(uDc zf3_;O>_slj$6hpjwfQ;KK;*zS>;=pZFP2)ZJ(o&|Oxc9JP-?YJxl}@A z#$4=0(qEgKLp{v!cDehkbpUlxr1DRLF2rn}m2LWd(eh+*R7y_KP4y0a+-Vm3Wh>u*F2)Ps< z4~+rPY8^m^xX8teu-dEx$dESc0J6Y~uv~o0BQA3BBCOHY0c41aT)YU&)BJH4xky-z zhl^Y!tj5DdE?$H+#5#ZsagmD`VY&F0M_lCMMOa?)04KS)NCG%w9YBV-$i<7W4qFG1 zAue)}uo@2+xp)y)mvsOc;vyF>!gBE~kGROii?9w^2aq8ya`7^QbQo}qFq5>%oCjKf z)7F91iLDa!UoQTRJ3$TCaw7<3>hkA&N7y#_SUL>{J9(gIb;ejl zfp`$;!CpMotS81O3dl_t>*yJKvkz)UCH>aiBnWjhvQ5)QbZ z#t_%B7>jU(wYVfI$5@F=qACIR03DJMFunh z(}3rJ4+xk2)vom3CEsTdheRLMt{{H|-UpTdccSy%hGQ7;4DdO%->&HZX66vnOltpi z|7gtNX&lahFA9T!r+`m@lhpr%<`!TP^{rMjD1OG44B|Nfd_;KGu;?r3G(1hfeBeX! zyODelcpX?sxW6~*I`NE(?^ziC=U`4T9Rc10=Az*;a~=VHAfJZoOT+E}K8>~`zGe~2 zPQpcisFT})FR*FEMz+szvaexkT7b6*i)2_gVx!tw;7wpeKWkh%9->%JGF#h0U|xR; zT_)y`%~f96>=Zips>)m>s(S1sp|=-TF^}-Avu>QC+i_raZKe0iEF`Kd?O))&np(gi z1Ayz)eQ}%R(1$8wT_8t$M6QNK`2p1H5SA*h*MW82K$DPg*#&7zzgg{}AS) zi~KnQ+(_bGFD!bj*+^6=845g*+Np)GGz_NavD6MFta9*ZYKN)Mu|^X%)7ISWwDbTs z6Ye7>A$5;64T;Kvfh4{$omyCJiT#Nyw5D_>VU>r8DV<4J<-xVEl6J@98e9vjEwMjw zg`~ntd4<+Qcot4;5!i5wgwG(R?6JlpQCTvaaL+IaDTOsIp)b)p$%ey}!Wx#)m*}0A zRE{L9a*=GC;FQAB-pBSN`*N$tDi;!#$OV_e(okrROJS+UvPZ%ax!_V*8Vc=kDJ=C^ z_P7+5dMtbL+~VaLQVJ_sQlct1q;ix}SeFv|61|hGy;BOSC!sIVJIUtXr4&|ILSLeH zj#vkf2Q5G+_Dd+1)jCNyZ6-C-(OT{nb~4u9HTMFCurGF5>`<(EDVRjs0fi?6$x0pd+q*P|JjOc2>Ege853M;lS) zSos=+`);SAovd=KeC=<7hQhZ5JCtcgb+dqA%qY@2q7x?5BHSV69MPOBLDyZ M07*qoM6N<$f(j*##{d8T literal 0 HcmV?d00001 diff --git a/cshub-client/src/components/admin/UserTable.vue b/cshub-client/src/components/admin/UserTable.vue index 64185e3c..0160cc6c 100644 --- a/cshub-client/src/components/admin/UserTable.vue +++ b/cshub-client/src/components/admin/UserTable.vue @@ -14,7 +14,6 @@ {{ props.item.lastname }} {{ props.item.email }} {{ props.item.admin }} - {{ props.item.avatar }} {{ props.item.blocked }} {{ props.item.verified }} @@ -47,7 +46,6 @@ {text: "Last name", value: "lastname"}, {text: "Email", value: "email"}, {text: "Admin", value: "admin"}, - {text: "Avatar", value: "avatar"}, {text: "Blocked", value: "blocked"}, {text: "Verified", value: "verified"} ]; diff --git a/cshub-client/src/components/global/NavDrawer.vue b/cshub-client/src/components/global/NavDrawer.vue index 7fa3db39..af91d936 100644 --- a/cshub-client/src/components/global/NavDrawer.vue +++ b/cshub-client/src/components/global/NavDrawer.vue @@ -21,6 +21,7 @@ + diff --git a/cshub-client/src/components/posts/Post.vue b/cshub-client/src/components/posts/Post.vue index c0611989..008ceb89 100644 --- a/cshub-client/src/components/posts/Post.vue +++ b/cshub-client/src/components/posts/Post.vue @@ -62,7 +62,7 @@ :size="50" :class="{adminBorder: post.author.admin}" > - avatar + avatar
@@ -265,6 +265,13 @@ /** * Methods */ + private getAvatarURL(dbImage: string) { + if (dbImage !== null) { + return `data:image/jpg;base64,${dbImage}`; + } else { + return "/assets/defaultAvatar.png"; + } + } private windowHeightChanged() { if (this.canResize) { // Calculate the right height for the postcardtext, 100px padding diff --git a/cshub-client/src/views/router/router.ts b/cshub-client/src/views/router/router.ts index e59c7bfc..4b1ef7a8 100644 --- a/cshub-client/src/views/router/router.ts +++ b/cshub-client/src/views/router/router.ts @@ -113,7 +113,6 @@ const router = new Router({ }); router.beforeEach((to: Route, from: Route, next) => { - next(); if (!userState.hasCheckedToken) { ApiWrapper.sendGetRequest(new VerifyUserToken(), (verified: VerifyUserTokenCallback) => { @@ -128,11 +127,15 @@ router.beforeEach((to: Route, from: Route, next) => { } else { logStringConsole("User is not logged in", "isLoggedIn after API"); } + next(); userState.setCheckedToken(); }, (err: AxiosError) => { dataState.setConnection(false); + next(); }); + } else { + next(); } }); diff --git a/cshub-client/src/views/user/CreateUserAccount.vue b/cshub-client/src/views/user/CreateUserAccount.vue index da2ac7aa..52c8f93e 100644 --- a/cshub-client/src/views/user/CreateUserAccount.vue +++ b/cshub-client/src/views/user/CreateUserAccount.vue @@ -7,70 +7,72 @@ Create account - - - - - -
- Create account -
+ + + + + + +
+ Create account +
+
diff --git a/cshub-client/src/views/user/UserDashboard.vue b/cshub-client/src/views/user/UserDashboard.vue index 37565f8f..2e6a6704 100644 --- a/cshub-client/src/views/user/UserDashboard.vue +++ b/cshub-client/src/views/user/UserDashboard.vue @@ -1,5 +1,11 @@