Compare commits

...

1 Commits

Author SHA1 Message Date
omair saleh 0e7469f1cd new registration ui flow 2022-03-29 23:15:42 +08:00
9 changed files with 421 additions and 28 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

File diff suppressed because one or more lines are too long
@@ -6,7 +6,7 @@
<error-message-component class="m-b-20" :error="error"></error-message-component>
<div class="row">
<div class="col">
<div class="row" v-show="step === 1">
<div class="row hide" v-show="step === 1">
<div class="col">
<div class="row m-b-15">
<div class="col">
@@ -180,13 +180,8 @@
</div>
</div>
</div>
<div class="row" v-show="step === 2">
<div class="row" v-show="step === 1">
<div class="col">
<div class="row">
<div class="col">
<p class="bold fs-11 all-caps muted">Personal Information</p>
</div>
</div>
<div class="row m-b-15">
<div class="col p-r-5">
<validation-wrapper-component :validator="$v.parameters.name">
@@ -202,18 +197,12 @@
</div>
</div>
<div class="row m-b-15">
<div class="col p-r-5">
<div class="col">
<validation-wrapper-component :validator="$v.parameters.email">
<label>Email</label>
<input class="form-control" v-model="parameters.email">
</validation-wrapper-component>
</div>
<div class="col-4 p-l-5">
<validation-wrapper-component :validator="$v.parameters.wechat_id">
<label>WeChat ID</label>
<input class="form-control" v-model="parameters.wechat_id">
</validation-wrapper-component>
</div>
</div>
<div class="row m-b-15">
@@ -230,9 +219,10 @@
</validation-wrapper-component>
</div>
</div>
<div class="row">
<div class="col-auto">
<button type="button" class="btn btn-sm p-t-10 p-b-10 btn-default bg-master-lighter b-rad-none" @click="changeStep('back')">
<div class="row align-items-center">
<div class="col">
<p class="text-info pointer m-b-0">Sign in instead</p>
<button type="button" class="hide btn btn-sm p-t-10 p-b-10 btn-default bg-master-lighter b-rad-none" @click="changeStep('back')">
<div class="row align-items-center">
<div class="col-auto p-r-10">
<i class="fa fa-angle-left fs-16" style="margin-top: 1px;"></i>
@@ -241,8 +231,8 @@
</div>
</button>
</div>
<div class="col text-right">
<button type="button" class="btn btn-sm btn-block p-t-10 p-b-10 p-r-35 p-l-35 btn-primary b-rad-none p-r-30" @click="submitForm"><i class="fa fa-check fs-18 m-r-10"></i>Complete Registration</button>
<div class="col-3">
<button type="button" class="btn btn-sm btn-block p-t-10 p-b-10 p-r-35 p-l-35 btn-primary b-rad-none p-r-30" @click="submitForm">Sign Up</button>
</div>
</div>
</div>
@@ -8,8 +8,8 @@
</div>
<div class="row" v-show="!$store.getters.isShowing('createOrderForm')">
<div class="col">
<on-boarding-section-component v-if="!company.last_order"></on-boarding-section-component>
<div class="row" v-if="company.last_order">
<on-boarding-section-component v-if="company.last_order && company.status === 0"></on-boarding-section-component>
<div class="row" v-if="company.last_order && company.status !== 0">
<div class="col">
<div class="row m-b-30 relative">
<div class="col">
@@ -67,7 +67,7 @@
</div>
</div>
</div>
<order-form-component v-show="$store.getters.isShowing('createOrderForm')" :company="company" :section="section"></order-form-component>
<order-form-component v-show="$store.getters.isShowing('createOrderForm') || (!company.last_order && company.status === 0)" :company="company" :section="section"></order-form-component>
</div>
</div>
</template>
@@ -1,7 +1,7 @@
<template>
<div class="row">
<div class="col">
<div class="row m-b-20">
<div class="row m-b-20 hide">
<div class="col">
<div class="row m-b-50 text-center" v-if="!$store.getters.isAdmin">
<div class="col">
@@ -97,6 +97,109 @@
</div>
</div>
</div>
<div class="row align-items-center justify-content-center m-b-30">
<div class="col-10 bg-master-lightest padding-25">
<div class="row align-items-center">
<div class="col-12 col-lg-3">
<div class="row justify-content-center">
<div class="col-10">
<a :href="route('order.qr.download', 3362)" target="_blank">
<div class="peelable-corner overflow-hidden relative">
<img :src="'https://chart.googleapis.com/chart?chs=150x150&cht=qr&chl={id:3362}'" class="w-100">
</div>
</a>
</div>
</div>
</div>
<div class="col">
<div class="row align-items-center">
<div class="col">
<h4 class="text-success bold">Hooray! You have successfully created your first order.</h4>
</div>
</div>
<div class="row m-b-20">
<div class="col-auto">
<h3 class="no-margin"><b>Order No.</b> 636295692</h3>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row align-items-center justify-content-center m-b-50">
<div class="col-10">
<div class="row">
<div class="col p-t-10 p-b-25 p-l-25 p-r-25 bg-master-lightest b-r b-grey">
<div class="row m-b-15">
<div class="col text-center">
<img src="/images/qr-box.svg" width="150" height="150">
</div>
</div>
<div class="row justify-content-center">
<div class="col">
<div class="row m-b-10">
<div class="col">
<div class="bold all-caps fs-10"><i class="fa fa-circle text-primary m-r-10"></i>Step 1</div>
</div>
</div>
<div class="row">
<div class="col">
<p class="no-margin">Send the QR Code label to your supplier to attach to your parcel</p>
</div>
</div>
</div>
</div>
</div>
<div class="col p-t-10 p-b-25 p-l-25 p-r-25 bg-master-lightest b-r b-grey">
<div class="row m-b-15">
<div class="col text-center">
<img src="/images/package.svg" width="120" height="150">
</div>
</div>
<div class="row justify-content-center">
<div class="col">
<div class="row m-b-10">
<div class="col">
<div class="bold all-caps fs-10"><i class="fa fa-circle text-primary m-r-10"></i>Step 2</div>
</div>
</div>
<div class="row">
<div class="col">
<p class="no-margin">We receive your packages at our warehouse, and arrange for shipping.</p>
</div>
</div>
</div>
</div>
</div>
<div class="col p-t-10 p-b-25 p-l-25 p-r-25 bg-master-lightest">
<div class="row m-b-15">
<div class="col">
<img src="/images/package_hands.svg" width="160" height="150">
</div>
</div>
<div class="row justify-content-center">
<div class="col">
<div class="row m-b-10">
<div class="col">
<div class="bold all-caps fs-10"><i class="fa fa-circle text-primary m-r-10"></i>Step 3</div>
</div>
</div>
<div class="row">
<div class="col">
<p class="no-margin">Track your parcel to your doorsteps at your selected delivery address.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row align-items-center justify-content-center">
<div class="col-10">
<complete-registration-form-component></complete-registration-form-component>
</div>
</div>
</div>
</div>
</template>
@@ -133,9 +133,15 @@
</div>
</div>
<loading-component class="m-l-0" style="height: 50px; top: 0;" color="info"></loading-component>
<div class="row">
<div class="row" v-if="!company.last_order">
<div class="col">
<h4 class="text-info">We are generating the <b>QR code</b> that you need to <b>send to your supplier</b> to print to <b>stick to your packages</b>, this QR code is required for us to identify your packages when they arrives at our warehouse!</h4>
<h4 class="text-info">We are generating your first <b>QR code</b></h4>
<p>Please wait...</p>
</div>
</div>
<div class="row" v-if="company.last_order">
<div class="col">
<h4 class="text-info">We are generating the <b>QR code</b> for you to <b>send to your supplier</b> to print and <b>stick to your packages</b>, this QR code is required for us to identify your packages when they arrives at our warehouse!</h4>
<p>Please wait...</p>
</div>
</div>
@@ -176,7 +182,7 @@
methods:{
createOrder(){
this.step++;
this.submit((this.route('api.order.create')), 'post', 'orderListSection', true, false)
this.submit((this.route('api.order.create')), 'post', 'orderListSection', false, false)
},
cancelOrder(){
this.parameters.warehouse_id = '';
@@ -184,13 +190,18 @@
this.$store.dispatch('toggleSection', {name: this.section, status: false})
},
successHandler(response){
let vm = this;
if(!this.company.last_order) {
window.location.reload();
return;
}
setTimeout(function(){
window.location.href = this.route('order.show', response.payload.data.reference)
}, 5000);
},
errorHandler(response){
alert(response.message)
this.error = response.message;
this.step--;
}
+1 -1
View File
@@ -5,7 +5,7 @@ export default {
(this.$store.getters.isAuthenticated && !this.isProtectedRoute()&& this.isWithTokenRoute()) ? window.location.href = this.route('dashboard') : '';
},
isProtectedRoute(){
const unprotectedRoutes = [this.route('login'), this.route('account.email.verification'), this.route('company.claim')];
const unprotectedRoutes = [this.route('login'), this.route('account.email.verification'), this.route('company.claim'), this.route('signup')];
if(window.location.href.indexOf(this.route('company.claim')) === 0) {
return false;
}
@@ -0,0 +1,67 @@
@extends('layouts.base')
@section('content')
<div class="fluid-container h-100">
<div class="row h-100">
<div class="col-5 d-none d-lg-inline h-100 padding-50 bg-info" >
<div class="row">
<div class="col">
<div class="row m-b-50">
<div class="col-5 col-md-3">
<img class="w-100" src="{{asset('images/cief-logo-white.png')}}" alt="">
</div>
</div>
<div class="row m-b-20">
<div class="col">
<h3 class="text-white ">Spend less time managing your logistics and more time optimizing your operations.</h3>
</div>
</div>
<div class="row m-b-20">
<div class="col">
<h4 class="text-white ">You know how to run your operations, let us help you streamline your logistic supply chain management.</h4>
</div>
</div>
<div class="row ">
<div class="col">
<h4 class="text-white">Sign-up today and get access to:</h4>
<h5 class="text-white m-l-20"><i class="fa fa-circle-o m-r-10"></i>An intuitive and easy to use order process</h5>
<h5 class="text-white m-l-20"><i class="fa fa-circle-o m-r-10"></i>Service customization to keep you in control</h5>
<h5 class="text-white m-l-20"><i class="fa fa-circle-o m-r-10"></i>Follow-up action to keep you on track</h5>
<h5 class="text-white m-l-20"><i class="fa fa-circle-o m-r-10"></i>Personalized customer support</h5>
</div>
</div>
</div>
</div>
</div>
<div class="col bg-white no-padding h-100">
<div class="row h-100 align-items-center justify-content-center">
<div class="col h-100">
<div class="page-container">
<div class="page-content-wrapper p-t-50 p-b-50 h-100">
<div class="row no-margin align-items-center justify-content-center h-100">
<div class="col">
<div class="content p-t-0 overflow-hidden">
<div class="row h-100 no-margin align-items-center justify-content-center">
<div class="col col-md-10">
<div class="row">
<div class="col">
<loading-component style="height: 350px;" key="1" color="primary" v-show="$store.getters.isLoading('loginSection')"></loading-component>
<div class="row justify-content-center" v-show="!$store.getters.isLoading('loginSection')">
<div class="col">
<registration-form-component section="loginSection"></registration-form-component>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection
+4
View File
@@ -31,6 +31,10 @@ Route::get('', function () {
return view('pages.accounts.login');
})->name('login');
Route::get('/signup', function () {
return view('pages.accounts.signup');
})->name('signup');
Route::group(['prefix' => 'swagger'], function () {
Route::get('/', function () {
return view('swagger.index');