From 4ae378e90a592f318b2e263bce5d0423c7ddfd64 Mon Sep 17 00:00:00 2001 From: Kalila L Date: Mon, 6 Sep 2021 03:12:55 -0400 Subject: [PATCH] Metaverse connection is working. --- .../resources/web/web-new/.eslintrc.js | 183 +++++++++--------- .../resources/web/web-new/src/App.vue | 10 + .../resources/web/web-new/src/boot/axios.ts | 7 + .../components/login/MetaverseLogin.vue | 45 ++--- .../components/dialogs/ConnectMetaverse.vue | 88 ++++++++- .../web-new/src/layouts/FirstTimeWizard.vue | 10 + .../web/web-new/src/modules/utilities/log.ts | 1 + .../web/web-new/src/pages/Error404.vue | 46 +++-- .../src/pages/FirstTimeWizard/Index.vue | 74 ++++++- .../resources/web/web-new/src/pages/Index.vue | 12 +- .../resources/web/web-new/src/router/index.ts | 9 + .../web/web-new/src/router/routes.ts | 8 + .../resources/web/web-new/src/store/index.ts | 8 + .../resources/web/web-new/tsconfig.json | 8 +- 14 files changed, 358 insertions(+), 151 deletions(-) diff --git a/domain-server/resources/web/web-new/.eslintrc.js b/domain-server/resources/web/web-new/.eslintrc.js index feae4d56de..fb41c35a9c 100644 --- a/domain-server/resources/web/web-new/.eslintrc.js +++ b/domain-server/resources/web/web-new/.eslintrc.js @@ -1,109 +1,112 @@ const { resolve } = require('path'); module.exports = { - // https://eslint.org/docs/user-guide/configuring#configuration-cascading-and-hierarchy - // This option interrupts the configuration hierarchy at this file - // Remove this if you have an higher level ESLint config file (it usually happens into a monorepos) - root: true, + // https://eslint.org/docs/user-guide/configuring#configuration-cascading-and-hierarchy + // This option interrupts the configuration hierarchy at this file + // Remove this if you have an higher level ESLint config file (it usually happens into a monorepos) + root: true, - // https://eslint.vuejs.org/user-guide/#how-to-use-custom-parser - // Must use parserOptions instead of "parser" to allow vue-eslint-parser to keep working - // `parser: 'vue-eslint-parser'` is already included with any 'plugin:vue/**' config and should be omitted - parserOptions: { - // https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/parser#configuration - // https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#eslint - // Needed to make the parser take into account 'vue' files - extraFileExtensions: ['.vue'], - parser: '@typescript-eslint/parser', - project: resolve(__dirname, './tsconfig.json'), - tsconfigRootDir: __dirname, - ecmaVersion: 2018, // Allows for the parsing of modern ECMAScript features - sourceType: 'module' // Allows for the use of imports - }, + // https://eslint.vuejs.org/user-guide/#how-to-use-custom-parser + // Must use parserOptions instead of "parser" to allow vue-eslint-parser to keep working + // `parser: 'vue-eslint-parser'` is already included with any 'plugin:vue/**' config and should be omitted + parserOptions: { + // https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/parser#configuration + // https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#eslint + // Needed to make the parser take into account 'vue' files + extraFileExtensions: ['.vue'], + parser: '@typescript-eslint/parser', + project: resolve(__dirname, './tsconfig.json'), + tsconfigRootDir: __dirname, + ecmaVersion: 2018, // Allows for the parsing of modern ECMAScript features + sourceType: 'module' // Allows for the use of imports + }, - env: { - browser: true - }, + env: { + browser: true + }, - // Rules order is important, please avoid shuffling them - extends: [ - // Base ESLint recommended rules - // 'eslint:recommended', + // Rules order is important, please avoid shuffling them + extends: [ + // Base ESLint recommended rules + // 'eslint:recommended', - // https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/eslint-plugin#usage - // ESLint typescript rules - 'plugin:@typescript-eslint/recommended', - // consider disabling this class of rules if linting takes too long - 'plugin:@typescript-eslint/recommended-requiring-type-checking', + // https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/eslint-plugin#usage + // ESLint typescript rules + 'plugin:@typescript-eslint/recommended', + // consider disabling this class of rules if linting takes too long + 'plugin:@typescript-eslint/recommended-requiring-type-checking', - // Uncomment any of the lines below to choose desired strictness, - // but leave only one uncommented! - // See https://eslint.vuejs.org/rules/#available-rules - 'plugin:vue/vue3-essential', // Priority A: Essential (Error Prevention) - // 'plugin:vue/vue3-strongly-recommended', // Priority B: Strongly Recommended (Improving Readability) - // 'plugin:vue/vue3-recommended', // Priority C: Recommended (Minimizing Arbitrary Choices and Cognitive Overhead) + // Uncomment any of the lines below to choose desired strictness, + // but leave only one uncommented! + // See https://eslint.vuejs.org/rules/#available-rules + 'plugin:vue/vue3-essential', // Priority A: Essential (Error Prevention) + // 'plugin:vue/vue3-strongly-recommended', // Priority B: Strongly Recommended (Improving Readability) + // 'plugin:vue/vue3-recommended', // Priority C: Recommended (Minimizing Arbitrary Choices and Cognitive Overhead) - 'standard' + 'standard' - ], + ], - plugins: [ - // required to apply rules which need type information - '@typescript-eslint', + plugins: [ + // required to apply rules which need type information + '@typescript-eslint', - // https://eslint.vuejs.org/user-guide/#why-doesn-t-it-work-on-vue-file - // required to lint *.vue files - 'vue', + // https://eslint.vuejs.org/user-guide/#why-doesn-t-it-work-on-vue-file + // required to lint *.vue files + 'vue', - ], + ], - globals: { - ga: 'readonly', // Google Analytics - cordova: 'readonly', - __statics: 'readonly', - __QUASAR_SSR__: 'readonly', - __QUASAR_SSR_SERVER__: 'readonly', - __QUASAR_SSR_CLIENT__: 'readonly', - __QUASAR_SSR_PWA__: 'readonly', - process: 'readonly', - Capacitor: 'readonly', - chrome: 'readonly' - }, + globals: { + ga: 'readonly', // Google Analytics + cordova: 'readonly', + __statics: 'readonly', + __QUASAR_SSR__: 'readonly', + __QUASAR_SSR_SERVER__: 'readonly', + __QUASAR_SSR_CLIENT__: 'readonly', + __QUASAR_SSR_PWA__: 'readonly', + process: 'readonly', + Capacitor: 'readonly', + chrome: 'readonly' + }, - // add your custom rules here - rules: { - // allow async-await - 'generator-star-spacing': 'off', - // allow paren-less arrow functions - 'arrow-parens': 'off', - 'one-var': 'off', - 'no-void': 'off', - 'multiline-ternary': 'off', + // add your custom rules here + rules: { + // allow async-await + 'generator-star-spacing': 'off', + // allow paren-less arrow functions + 'arrow-parens': 'off', + 'one-var': 'off', + 'no-void': 'off', + 'multiline-ternary': 'off', + 'quote-props': 'off', - 'import/first': 'off', - 'import/namespace': 'error', - 'import/default': 'error', - 'import/export': 'error', - 'import/extensions': 'off', - 'import/no-unresolved': 'off', - 'import/no-extraneous-dependencies': 'off', - 'prefer-promise-reject-errors': 'off', - 'indent': ["error", 4], - 'semi': ["error", "always"], + 'import/first': 'off', + 'import/namespace': 'error', + 'import/default': 'error', + 'import/export': 'error', + 'import/extensions': 'off', + 'import/no-unresolved': 'off', + 'import/no-extraneous-dependencies': 'off', + 'prefer-promise-reject-errors': 'off', + 'indent': ["error", 4], + 'semi': ["error", "always"], - // TypeScript - quotes: ['warn', 'double', { avoidEscape: true }], - '@typescript-eslint/explicit-function-return-type': 'off', - '@typescript-eslint/explicit-module-boundary-types': 'off', + // TypeScript + quotes: ['warn', 'double', { avoidEscape: true }], + '@typescript-eslint/explicit-function-return-type': 'off', + '@typescript-eslint/explicit-module-boundary-types': 'off', - // TypeScript -> Remove these when we start using TypeScript in the project. - '@typescript-eslint/no-unsafe-assignment': 'off', - '@typescript-eslint/no-unsafe-call': 'off', - '@typescript-eslint/unbound-method': 'off', - '@typescript-eslint/no-unsafe-member-access': 'off', - '@typescript-eslint/no-floating-promises': 'off', - '@typescript-eslint/restrict-template-expressions': 'off', + // TypeScript -> Remove these when we start using TypeScript in the project. + '@typescript-eslint/no-unsafe-assignment': 'off', + '@typescript-eslint/no-unsafe-call': 'off', + '@typescript-eslint/unbound-method': 'off', + '@typescript-eslint/no-unsafe-member-access': 'off', + '@typescript-eslint/no-floating-promises': 'off', + '@typescript-eslint/restrict-template-expressions': 'off', + '@typescript-eslint/no-var-requires': 'off', + '@typescript-eslint/no-unsafe-return': 'off', - // allow debugger during development only - 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off' - } + // allow debugger during development only + 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off' + } } diff --git a/domain-server/resources/web/web-new/src/App.vue b/domain-server/resources/web/web-new/src/App.vue index 6258269c4b..e7f2adb155 100644 --- a/domain-server/resources/web/web-new/src/App.vue +++ b/domain-server/resources/web/web-new/src/App.vue @@ -1,3 +1,13 @@ + + diff --git a/domain-server/resources/web/web-new/src/boot/axios.ts b/domain-server/resources/web/web-new/src/boot/axios.ts index 6572173f84..27b1073df1 100644 --- a/domain-server/resources/web/web-new/src/boot/axios.ts +++ b/domain-server/resources/web/web-new/src/boot/axios.ts @@ -1,5 +1,6 @@ import { boot } from "quasar/wrappers"; import axios, { AxiosInstance } from "axios"; +import Log from "../modules/utilities/log"; declare module "@vue/runtime-core" { interface ComponentCustomProperties { @@ -7,6 +8,12 @@ declare module "@vue/runtime-core" { } } +Log.info(Log.types.OTHER, "Bootstrapping Axios."); + +axios.defaults.headers.common = { + "x-vircadia-error-handle": "badrequest" +}; + // Be careful when using SSR for cross-request state pollution // due to creating a Singleton instance here; // If any client changes this (global) instance, it might be a diff --git a/domain-server/resources/web/web-new/src/components/components/login/MetaverseLogin.vue b/domain-server/resources/web/web-new/src/components/components/login/MetaverseLogin.vue index 65eb3c539c..2de899a4c8 100644 --- a/domain-server/resources/web/web-new/src/components/components/login/MetaverseLogin.vue +++ b/domain-server/resources/web/web-new/src/components/components/login/MetaverseLogin.vue @@ -51,6 +51,7 @@ diff --git a/domain-server/resources/web/web-new/src/layouts/FirstTimeWizard.vue b/domain-server/resources/web/web-new/src/layouts/FirstTimeWizard.vue index 664e66a9e5..05e088f845 100644 --- a/domain-server/resources/web/web-new/src/layouts/FirstTimeWizard.vue +++ b/domain-server/resources/web/web-new/src/layouts/FirstTimeWizard.vue @@ -1,3 +1,13 @@ + +