From c389378dc3a4155a6829c40e7d2e8883062443a8 Mon Sep 17 00:00:00 2001 From: Bubka <858858+Bubka@users.noreply.github.com> Date: Mon, 9 Oct 2023 13:00:56 +0200 Subject: [PATCH] Set up the Start view --- .../js_vue3/components/formElements/Form.js | 10 +- resources/js_vue3/router/index.js | 18 +-- resources/js_vue3/stores/bus.js | 19 +++ resources/js_vue3/stores/data.js | 16 +++ resources/js_vue3/views/Start.vue | 123 ++++++++++++++++++ 5 files changed, 172 insertions(+), 14 deletions(-) create mode 100644 resources/js_vue3/stores/bus.js create mode 100644 resources/js_vue3/stores/data.js create mode 100644 resources/js_vue3/views/Start.vue diff --git a/resources/js_vue3/components/formElements/Form.js b/resources/js_vue3/components/formElements/Form.js index eb1e3db7..a881aeb2 100644 --- a/resources/js_vue3/components/formElements/Form.js +++ b/resources/js_vue3/components/formElements/Form.js @@ -210,12 +210,12 @@ class Form { * @param {Object} config (axios config) * @return {Promise} */ - upload (url, formData, config = {}) { + upload (url, config = {}) { this.startProcessing() return new Promise((resolve, reject) => { - // (Form.axios || axios).request({ url: this.route(url), method, data, ...config }) - this.axios.request({ url: this.route(url), method: 'post', data: formData, header: {'Content-Type' : 'multipart/form-data'}, ...config }) + // https://www.npmjs.com/package/axios#-automatic-serialization-to-formdata + this.axios.post(this.route(url), this.data(), { headers: {'Content-Type' : 'multipart/form-data'}, ...config }) .then(response => { this.finishProcessing() @@ -227,9 +227,9 @@ class Form { if (error.response) { this.errors.set(this.extractErrors(error.response)) } - if (error.response?.status != 422) { + // if (error.response?.status != 422) { reject(error) - } + // } }) }) } diff --git a/resources/js_vue3/router/index.js b/resources/js_vue3/router/index.js index da5d647c..b3726304 100644 --- a/resources/js_vue3/router/index.js +++ b/resources/js_vue3/router/index.js @@ -2,12 +2,12 @@ import { createRouter, createWebHistory } from 'vue-router' import middlewarePipeline from "@/router/middlewarePipeline"; import { useUserStore } from '@/stores/user' -// import Start from './views/Start.vue' -// import Capture from './views/Capture.vue' +import Start from '../views/Start.vue' import Accounts from '../views/Accounts.vue' -// import CreateAccount from './views/twofaccounts/Create.vue' +import Capture from '../views/twofaccounts/Capture.vue' +import CreateAccount from '../views/twofaccounts/Create.vue' // import EditAccount from './views/twofaccounts/Edit.vue' -// import ImportAccount from './views/twofaccounts/Import.vue' +import ImportAccount from '../views/twofaccounts/Import.vue' // import QRcodeAccount from './views/twofaccounts/QRcode.vue' // import Groups from './views/Groups.vue' // import CreateGroup from './views/groups/Create.vue' @@ -33,12 +33,12 @@ import noEmptyError from './middlewares/noEmptyError' const router = createRouter({ history: createWebHistory('/'), routes: [ - // { path: '/start', name: 'start', component: Start, meta: { middlewares: [authGuard] }, props: true }, - // { path: '/capture', name: 'capture', component: Capture, meta: { middlewares: [authGuard] }, props: true }, + { path: '/start', name: 'start', component: Start, meta: { middlewares: [authGuard] } }, + { path: '/capture', name: 'capture', component: Capture, meta: { middlewares: [authGuard] } }, - { path: '/accounts', name: 'accounts', component: Accounts, meta: { middlewares: [authGuard] }, alias: '/', props: true }, - // { path: '/account/create', name: 'createAccount', component: CreateAccount, meta: { middlewares: [authGuard] } }, - // { path: '/account/import', name: 'importAccounts', component: ImportAccount, meta: { middlewares: [authGuard] } }, + { path: '/accounts', name: 'accounts', component: Accounts, meta: { middlewares: [authGuard] }, alias: '/' }, + { path: '/account/create', name: 'createAccount', component: CreateAccount, meta: { middlewares: [authGuard] } }, + { path: '/account/import', name: 'importAccounts', component: ImportAccount, meta: { middlewares: [authGuard] } }, // { path: '/account/:twofaccountId/edit', name: 'editAccount', component: EditAccount, meta: { middlewares: [authGuard] } }, // { path: '/account/:twofaccountId/qrcode', name: 'showQRcode', component: QRcodeAccount, meta: { middlewares: [authGuard] } }, diff --git a/resources/js_vue3/stores/bus.js b/resources/js_vue3/stores/bus.js new file mode 100644 index 00000000..bfe783cf --- /dev/null +++ b/resources/js_vue3/stores/bus.js @@ -0,0 +1,19 @@ +import { defineStore } from 'pinia' + +export const useBusStore = defineStore({ + id: 'bus', + + state: () => { + return { + migrationUri: null, + decodedUri: null, + goBackTo: null, + returnTo: null, + initialEditMode: null, + } + }, + + actions: { + + }, +}) diff --git a/resources/js_vue3/stores/data.js b/resources/js_vue3/stores/data.js new file mode 100644 index 00000000..a87f7193 --- /dev/null +++ b/resources/js_vue3/stores/data.js @@ -0,0 +1,16 @@ +import { defineStore } from 'pinia' + +export const useDataStore = defineStore({ + id: 'data', + + state: () => { + return { + twofaccounts: [], + groups: [], + } + }, + + actions: { + + }, +}) diff --git a/resources/js_vue3/views/Start.vue b/resources/js_vue3/views/Start.vue new file mode 100644 index 00000000..623ec617 --- /dev/null +++ b/resources/js_vue3/views/Start.vue @@ -0,0 +1,123 @@ + + +