From 909cd05b85287cfc5314cd97c9b81570850cf5cc Mon Sep 17 00:00:00 2001 From: Cameron Clark Date: Fri, 15 Jan 2021 11:16:52 +0000 Subject: [PATCH 1/7] feat(wizard): add initial page with v-stepper for wizard --- pages/wizard.vue | 156 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 pages/wizard.vue diff --git a/pages/wizard.vue b/pages/wizard.vue new file mode 100644 index 00000000000..707c80a852f --- /dev/null +++ b/pages/wizard.vue @@ -0,0 +1,156 @@ + + + + + From ff1c47b8726c6fe576d7a93fe394be02b813b915 Mon Sep 17 00:00:00 2001 From: Cameron Clark Date: Fri, 15 Jan 2021 11:17:23 +0000 Subject: [PATCH 2/7] feat(wizard): redirect to startup wizard if StartupWizardCompleted is false --- store/servers.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/store/servers.ts b/store/servers.ts index c7cbbc04c11..87d5f7018c2 100644 --- a/store/servers.ts +++ b/store/servers.ts @@ -51,7 +51,7 @@ export const actions: ActionTree = { if (compareVersions.compare(data.Version || '', '10.7.0', '>=')) { if (!data.StartupWizardCompleted) { - // Redirect To Startup Wizard + this.$router.push('/wizard'); } else { commit('SET_SERVER_USED', { publicInfo: data, From 3034e5180e32c4650c5d8deec97c9fc736781310 Mon Sep 17 00:00:00 2001 From: Cameron Clark Date: Fri, 15 Jan 2021 11:18:27 +0000 Subject: [PATCH 3/7] feat(wizard): add wizard page for admin account --- components/wizard/WizardAdminAccount.vue | 97 ++++++++++++++++++++++++ plugins/veeValidate.ts | 7 ++ 2 files changed, 104 insertions(+) create mode 100644 components/wizard/WizardAdminAccount.vue diff --git a/components/wizard/WizardAdminAccount.vue b/components/wizard/WizardAdminAccount.vue new file mode 100644 index 00000000000..a442d88c1ca --- /dev/null +++ b/components/wizard/WizardAdminAccount.vue @@ -0,0 +1,97 @@ + + + diff --git a/plugins/veeValidate.ts b/plugins/veeValidate.ts index df443bda56f..aa5f9071a79 100644 --- a/plugins/veeValidate.ts +++ b/plugins/veeValidate.ts @@ -9,6 +9,13 @@ extend('mustBeUrl', (value: string): boolean => { return /^https?:\/\/.+/.test(value); }); +extend('bothPasswordsSame', { + params: ['target'], + validate(value, { target }) { + return value === target; + } +}); + const veeValidate: Plugin = ({ app }) => { configure({ defaultMessage: (_field, values) => { From 49d0bef3d8d8bcecfb7224dffa9572209326270d Mon Sep 17 00:00:00 2001 From: Cameron Clark Date: Fri, 15 Jan 2021 11:18:44 +0000 Subject: [PATCH 4/7] feat(wizard): add wizard page for remove access --- components/wizard/WizardRemoteAccess.vue | 54 ++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 components/wizard/WizardRemoteAccess.vue diff --git a/components/wizard/WizardRemoteAccess.vue b/components/wizard/WizardRemoteAccess.vue new file mode 100644 index 00000000000..de334213a84 --- /dev/null +++ b/components/wizard/WizardRemoteAccess.vue @@ -0,0 +1,54 @@ + + + From fc7ef3391dd4b2e690ab3649671e1936e1bc4cac Mon Sep 17 00:00:00 2001 From: Cameron Clark Date: Fri, 15 Jan 2021 11:19:03 +0000 Subject: [PATCH 5/7] feat(wizard): add wizard page for language --- components/wizard/WizardLanguage.vue | 81 ++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 components/wizard/WizardLanguage.vue diff --git a/components/wizard/WizardLanguage.vue b/components/wizard/WizardLanguage.vue new file mode 100644 index 00000000000..184903b796b --- /dev/null +++ b/components/wizard/WizardLanguage.vue @@ -0,0 +1,81 @@ + + + From 5711023371d48152d1574b923b1ecfadcbfb4038 Mon Sep 17 00:00:00 2001 From: Cameron Clark Date: Fri, 15 Jan 2021 11:19:20 +0000 Subject: [PATCH 6/7] feat(wizard): add wizard page for metadata --- components/wizard/WizardMetadata.vue | 87 ++++++++++++++++++++++++++++ locales/en-US.json | 22 ++++++- 2 files changed, 108 insertions(+), 1 deletion(-) create mode 100644 components/wizard/WizardMetadata.vue diff --git a/components/wizard/WizardMetadata.vue b/components/wizard/WizardMetadata.vue new file mode 100644 index 00000000000..bb0aa379302 --- /dev/null +++ b/components/wizard/WizardMetadata.vue @@ -0,0 +1,87 @@ + + + diff --git a/locales/en-US.json b/locales/en-US.json index 8a6070415cf..5a7a23743fe 100644 --- a/locales/en-US.json +++ b/locales/en-US.json @@ -273,13 +273,33 @@ "usernameRequired": "Username is required", "validation": { "mustBeUrl": "This field must be a valid URL", - "required": "This field is required" + "required": "This field is required", + "bothPasswordsSame": "Both passwords must be the save" }, "version": "Version", "video": "Video", "videoTypes": "Video Types", "viewDetails": "View details", "vueClientVersion": "Vue client version", + "wizard": { + "confirmPassword": "Confirm password", + "setupWizard": "Setup wizard", + "setAdminError": "Unable to create an admin account.", + "setLanguageError": "Unable to set client language.", + "setMetadataError": "Unable to set metadata languages.", + "setRemoteError": "Unable to set remote access settings.", + "languageSuccessfullySet": "Language successfully set.", + "userSuccessfullySet": "User successfully set.", + "metadataLanguagesSet": "Metadata languages set.", + "remoteAccessSet": "Remote access set.", + "completeError": "Unable to complete startup wizard.", + "preferredMetadataLanguage": "Preferred metadata language", + "preferedLanguage": "Prefered language", + "languageLocale": "Language and locale", + "administratorAccount": "Administrator account", + "allowRemoteAccess": "Allow remote access to the server", + "remoteAccess": "Remote Access" + }, "writer": "Writer", "writing": "Writing", "year": "Year", From 8454395143ee979eb772bccce037a79479db1425 Mon Sep 17 00:00:00 2001 From: Cameron Clark Date: Fri, 15 Jan 2021 11:23:16 +0000 Subject: [PATCH 7/7] fix(fix build): add ts-ignore --- plugins/veeValidate.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/veeValidate.ts b/plugins/veeValidate.ts index aa5f9071a79..81e341ffca3 100644 --- a/plugins/veeValidate.ts +++ b/plugins/veeValidate.ts @@ -11,6 +11,8 @@ extend('mustBeUrl', (value: string): boolean => { extend('bothPasswordsSame', { params: ['target'], + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore validate(value, { target }) { return value === target; }