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/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 @@ + + + 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/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 @@ + + + diff --git a/locales/en-US.json b/locales/en-US.json index d76ab7b833b..4d42468f6f1 100644 --- a/locales/en-US.json +++ b/locales/en-US.json @@ -275,13 +275,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", 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 @@ + + + + + diff --git a/plugins/veeValidate.ts b/plugins/veeValidate.ts index df443bda56f..81e341ffca3 100644 --- a/plugins/veeValidate.ts +++ b/plugins/veeValidate.ts @@ -9,6 +9,15 @@ extend('mustBeUrl', (value: string): boolean => { return /^https?:\/\/.+/.test(value); }); +extend('bothPasswordsSame', { + params: ['target'], + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + validate(value, { target }) { + return value === target; + } +}); + const veeValidate: Plugin = ({ app }) => { configure({ defaultMessage: (_field, values) => { 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,