mirror of
https://github.com/crater-invoice/crater.git
synced 2025-10-29 12:41:10 -04:00
merge master
This commit is contained in:
@ -1,27 +0,0 @@
|
|||||||
{
|
|
||||||
"authHost": "http://crater-vue.test",
|
|
||||||
"authEndpoint": "/broadcasting/auth",
|
|
||||||
"clients": [],
|
|
||||||
"database": "redis",
|
|
||||||
"databaseConfig": {
|
|
||||||
"redis": {},
|
|
||||||
"sqlite": {
|
|
||||||
"databasePath": "/database/laravel-echo-server.sqlite"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"devMode": true,
|
|
||||||
"host": null,
|
|
||||||
"port": "6001",
|
|
||||||
"protocol": "http",
|
|
||||||
"socketio": {},
|
|
||||||
"sslCertPath": "",
|
|
||||||
"sslKeyPath": "",
|
|
||||||
"sslCertChainPath": "",
|
|
||||||
"sslPassphrase": "",
|
|
||||||
"apiOriginAllow": {
|
|
||||||
"allowCors": false,
|
|
||||||
"allowOrigin": "",
|
|
||||||
"allowMethods": "",
|
|
||||||
"allowHeaders": ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,37 +0,0 @@
|
|||||||
0 info it worked if it ends with ok
|
|
||||||
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
|
|
||||||
1 verbose cli 'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
|
|
||||||
1 verbose cli 'run',
|
|
||||||
1 verbose cli 'watch' ]
|
|
||||||
2 info using npm@3.10.10
|
|
||||||
3 info using node@v6.11.2
|
|
||||||
4 verbose run-script [ 'prewatch', 'watch', 'postwatch' ]
|
|
||||||
5 info lifecycle @~prewatch: @
|
|
||||||
6 silly lifecycle @~prewatch: no script for prewatch, continuing
|
|
||||||
7 info lifecycle @~watch: @
|
|
||||||
8 verbose lifecycle @~watch: unsafe-perm in lifecycle true
|
|
||||||
9 verbose lifecycle @~watch: PATH: C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin;C:\laragon2\www\crater-vue\node_modules\.bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\laragon2\bin\php\php-7.2.5-Win32-VC15-x86;C:\ProgramData\ComposerSetup\bin;C:\Program Files\nodejs\;C:\Program Files\Git\cmd;C:\laragon2\bin\yarn\bin;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Java\jdk-10.0.1\bin;C:\Users\bytefury\AppData\Roaming\Composer\vendor\bin;C:\laragon\www\wp\node_modules\.bin;C:\laragon\www\Laravel\node_modules\webpack\bin;C:\Users\bytefury\AppData\Roaming\npm;C:\Program Files\Microsoft VS Code\bin;C:\Users\bytefury\AppData\Local\Microsoft\WindowsApps;
|
|
||||||
10 verbose lifecycle @~watch: CWD: C:\laragon2\www\crater-vue
|
|
||||||
11 silly lifecycle @~watch: Args: [ '/d /s /c',
|
|
||||||
11 silly lifecycle 'cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js' ]
|
|
||||||
12 verbose stack Error: kill ENOSYS
|
|
||||||
12 verbose stack at exports._errnoException (util.js:1020:11)
|
|
||||||
12 verbose stack at process.kill (internal/process.js:190:13)
|
|
||||||
12 verbose stack at process.listener (C:\Program Files\nodejs\node_modules\npm\node_modules\npmlog\node_modules\gauge\node_modules\signal-exit\index.js:86:15)
|
|
||||||
12 verbose stack at emitNone (events.js:91:20)
|
|
||||||
12 verbose stack at process.emit (events.js:185:7)
|
|
||||||
12 verbose stack at processEmit (C:\Program Files\nodejs\node_modules\npm\node_modules\npmlog\node_modules\gauge\node_modules\signal-exit\index.js:146:32)
|
|
||||||
12 verbose stack at processEmit (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-registry-client\node_modules\npmlog\node_modules\gauge\node_modules\signal-exit\index.js:146:32)
|
|
||||||
12 verbose stack at Signal.wrap.onsignal (internal/process.js:217:44)
|
|
||||||
13 verbose cwd C:\laragon2\www\crater-vue
|
|
||||||
14 error Windows_NT 10.0.17134
|
|
||||||
15 error argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "watch"
|
|
||||||
16 error node v6.11.2
|
|
||||||
17 error npm v3.10.10
|
|
||||||
18 error code ENOSYS
|
|
||||||
19 error errno ENOSYS
|
|
||||||
20 error syscall kill
|
|
||||||
21 error kill ENOSYS
|
|
||||||
22 error If you need help, you may report this error at:
|
|
||||||
22 error <https://github.com/npm/npm/issues>
|
|
||||||
23 verbose exit [ 1, true ]
|
|
||||||
@ -307,7 +307,9 @@ export default {
|
|||||||
send_invoice: 'Send Invoice',
|
send_invoice: 'Send Invoice',
|
||||||
invoice_template: 'Invoice Template',
|
invoice_template: 'Invoice Template',
|
||||||
template: 'Template',
|
template: 'Template',
|
||||||
mark_as_sent: 'Mark as Sent',
|
mark_as_sent: 'Mark as sent',
|
||||||
|
invoice_mark_as_sent: 'This invoice will be marked as sent',
|
||||||
|
confirm_send: 'This invoice will be sent via email to the customer',
|
||||||
invoice_date: 'Invoice Date',
|
invoice_date: 'Invoice Date',
|
||||||
record_payment: 'Record Payment',
|
record_payment: 'Record Payment',
|
||||||
add_new_invoice: 'Add New Invoice',
|
add_new_invoice: 'Add New Invoice',
|
||||||
@ -751,6 +753,7 @@ export default {
|
|||||||
invalid_url: 'Invalid url (ex: http://www.crater.com)',
|
invalid_url: 'Invalid url (ex: http://www.crater.com)',
|
||||||
required: 'Field is required',
|
required: 'Field is required',
|
||||||
email_incorrect: 'Incorrect Email.',
|
email_incorrect: 'Incorrect Email.',
|
||||||
|
email_already_taken: 'The email has already been taken.',
|
||||||
email_does_not_exist: "User with given email doesn't exist",
|
email_does_not_exist: "User with given email doesn't exist",
|
||||||
send_reset_link: 'Send Reset Link',
|
send_reset_link: 'Send Reset Link',
|
||||||
not_yet: 'Not yet? Send it again',
|
not_yet: 'Not yet? Send it again',
|
||||||
@ -767,9 +770,9 @@ export default {
|
|||||||
payment_greater_than_due_amount: 'Entered Payment is more than due amount of this invoice.',
|
payment_greater_than_due_amount: 'Entered Payment is more than due amount of this invoice.',
|
||||||
quantity_maxlength: 'Quantity should not be greater than 10 digits.',
|
quantity_maxlength: 'Quantity should not be greater than 10 digits.',
|
||||||
price_maxlength: 'Price should not be greater than 10 digits.',
|
price_maxlength: 'Price should not be greater than 10 digits.',
|
||||||
price_minvalue: 'Price should be greater than 0 digits',
|
price_minvalue: 'Price should be greater than 0.',
|
||||||
amount_maxlength: 'Amount should not be greater than 10 digits.',
|
amount_maxlength: 'Amount should not be greater than 10 digits.',
|
||||||
amount_minvalue: 'Amount should be greater than 0 digits',
|
amount_minvalue: 'Amount should be greater than 0.',
|
||||||
description_maxlength: 'Description should not be greater than 255 characters.',
|
description_maxlength: 'Description should not be greater than 255 characters.',
|
||||||
maximum_options_error: 'Maximum of {max} options selected. First remove a selected option to select another.',
|
maximum_options_error: 'Maximum of {max} options selected. First remove a selected option to select another.',
|
||||||
notes_maxlength: 'Notes should not be greater than 255 characters.',
|
notes_maxlength: 'Notes should not be greater than 255 characters.',
|
||||||
|
|||||||
@ -312,6 +312,8 @@ export default {
|
|||||||
invoice_template: 'Plantilla de factura',
|
invoice_template: 'Plantilla de factura',
|
||||||
template: 'Modelo',
|
template: 'Modelo',
|
||||||
mark_as_sent: 'Marcar como enviado',
|
mark_as_sent: 'Marcar como enviado',
|
||||||
|
invoice_mark_as_sent: 'Esta factura se marcará como enviada',
|
||||||
|
confirm_send: 'Estas facturas se enviarán por correo electrónico al cliente.',
|
||||||
invoice_date: 'Fecha de la factura',
|
invoice_date: 'Fecha de la factura',
|
||||||
record_payment: 'Registro de pago',
|
record_payment: 'Registro de pago',
|
||||||
add_new_invoice: 'Añadir nueva factura',
|
add_new_invoice: 'Añadir nueva factura',
|
||||||
|
|||||||
@ -312,6 +312,8 @@ export default {
|
|||||||
invoice_template: 'Modèle de facture',
|
invoice_template: 'Modèle de facture',
|
||||||
template: 'Modèle',
|
template: 'Modèle',
|
||||||
mark_as_sent: 'Marquer comme envoyé',
|
mark_as_sent: 'Marquer comme envoyé',
|
||||||
|
invoice_mark_as_sent: 'Cette facture sera marquée comme envoyé',
|
||||||
|
confirm_send: 'Cette facture sera envoyée par courrier électronique au client.',
|
||||||
invoice_date: 'Date de facturation',
|
invoice_date: 'Date de facturation',
|
||||||
record_payment: 'Record de paiement',
|
record_payment: 'Record de paiement',
|
||||||
add_new_invoice: 'Ajouter une nouvelle facture',
|
add_new_invoice: 'Ajouter une nouvelle facture',
|
||||||
|
|||||||
@ -12,10 +12,15 @@
|
|||||||
focus
|
focus
|
||||||
type="email"
|
type="email"
|
||||||
name="email"
|
name="email"
|
||||||
|
@input="$v.loginData.email.$touch()"
|
||||||
/>
|
/>
|
||||||
<div v-if="$v.loginData.email.$error">
|
<div v-if="$v.loginData.email.$error">
|
||||||
<span v-if="!$v.loginData.email.required" class="text-danger">{{ $tc('validation.required') }}</span>
|
<span v-if="!$v.loginData.email.required" class="text-danger">
|
||||||
<span v-if="!$v.loginData.email.email" class="text-danger"> {{ $tc('validation.email_incorrect') }} </span>
|
{{ $tc('validation.required') }}
|
||||||
|
</span>
|
||||||
|
<span v-if="!$v.loginData.email.email" class="text-danger">
|
||||||
|
{{ $tc('validation.email_incorrect') }}
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
@ -25,8 +30,10 @@
|
|||||||
:invalid="$v.loginData.password.$error"
|
:invalid="$v.loginData.password.$error"
|
||||||
type="password"
|
type="password"
|
||||||
name="password"
|
name="password"
|
||||||
|
show-password
|
||||||
|
@input="$v.loginData.password.$touch()"
|
||||||
/>
|
/>
|
||||||
<div v-if="$v.loginData.email.$error">
|
<div v-if="$v.loginData.password.$error">
|
||||||
<span v-if="!$v.loginData.password.required" class="text-danger">{{ $tc('validation.required') }}</span>
|
<span v-if="!$v.loginData.password.required" class="text-danger">{{ $tc('validation.required') }}</span>
|
||||||
<span v-if="!$v.loginData.password.minLength" class="text-danger"> {{ $tc('validation.password_min_length', $v.loginData.password.$params.minLength.min, {count: $v.loginData.password.$params.minLength.min}) }} </span>
|
<span v-if="!$v.loginData.password.minLength" class="text-danger"> {{ $tc('validation.password_min_length', $v.loginData.password.$params.minLength.min, {count: $v.loginData.password.$params.minLength.min}) }} </span>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -219,7 +219,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr> <!-- second row complete -->
|
<hr> <!-- second row complete -->
|
||||||
<div class="row same-address-checkbox-container">
|
<div class="same-address-checkbox-container">
|
||||||
<div class="p-1">
|
<div class="p-1">
|
||||||
<base-button ref="sameAddress" icon="copy" color="theme" class="btn-sm" @click="copyAddress(true)">
|
<base-button ref="sameAddress" icon="copy" color="theme" class="btn-sm" @click="copyAddress(true)">
|
||||||
{{ $t('customers.copy_billing_address') }}
|
{{ $t('customers.copy_billing_address') }}
|
||||||
@ -624,17 +624,20 @@ export default {
|
|||||||
this.isLoading = true
|
this.isLoading = true
|
||||||
this.formData.currency_id = this.currency.id
|
this.formData.currency_id = this.currency.id
|
||||||
}
|
}
|
||||||
|
try {
|
||||||
let response = await this.addCustomer(this.formData)
|
let response = await this.addCustomer(this.formData)
|
||||||
|
|
||||||
if (response.data.success) {
|
if (response.data.success) {
|
||||||
window.toastr['success'](this.$t('customers.created_message'))
|
window.toastr['success'](this.$t('customers.created_message'))
|
||||||
this.$router.push('/admin/customers')
|
this.$router.push('/admin/customers')
|
||||||
this.isLoading = false
|
this.isLoading = false
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
} catch (err) {
|
||||||
window.toastr['error'](response.data.error)
|
if (err.response.data.errors.email) {
|
||||||
|
this.isLoading = false
|
||||||
|
window.toastr['error'](this.$t('validation.email_already_taken'))
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async fetchBillingState () {
|
async fetchBillingState () {
|
||||||
|
|||||||
@ -247,13 +247,13 @@
|
|||||||
{{ $t('invoices.view') }}
|
{{ $t('invoices.view') }}
|
||||||
</router-link>
|
</router-link>
|
||||||
</v-dropdown-item>
|
</v-dropdown-item>
|
||||||
<v-dropdown-item>
|
<v-dropdown-item v-if="row.status == 'DRAFT'">
|
||||||
<a class="dropdown-item" href="#" @click="sendInvoice(row.id)" >
|
<a class="dropdown-item" href="#" @click="sendInvoice(row.id)" >
|
||||||
<font-awesome-icon icon="paper-plane" class="dropdown-item-icon" />
|
<font-awesome-icon icon="paper-plane" class="dropdown-item-icon" />
|
||||||
{{ $t('invoices.send_invoice') }}
|
{{ $t('invoices.send_invoice') }}
|
||||||
</a>
|
</a>
|
||||||
</v-dropdown-item>
|
</v-dropdown-item>
|
||||||
<v-dropdown-item v-if="row.status === 'DRAFT'">
|
<v-dropdown-item v-if="row.status == 'DRAFT'">
|
||||||
<a class="dropdown-item" href="#" @click="sentInvoice(row.id)">
|
<a class="dropdown-item" href="#" @click="sentInvoice(row.id)">
|
||||||
<font-awesome-icon icon="check-circle" class="dropdown-item-icon" />
|
<font-awesome-icon icon="check-circle" class="dropdown-item-icon" />
|
||||||
{{ $t('invoices.mark_as_sent') }}
|
{{ $t('invoices.mark_as_sent') }}
|
||||||
@ -384,6 +384,14 @@ export default {
|
|||||||
'fetchCustomers'
|
'fetchCustomers'
|
||||||
]),
|
]),
|
||||||
async sendInvoice (id) {
|
async sendInvoice (id) {
|
||||||
|
swal({
|
||||||
|
title: this.$t('general.are_you_sure'),
|
||||||
|
text: this.$t('invoices.confirm_send'),
|
||||||
|
icon: '/assets/icon/paper-plane-solid.svg',
|
||||||
|
buttons: true,
|
||||||
|
dangerMode: true
|
||||||
|
}).then(async (Send_Invoice) => {
|
||||||
|
if (Send_Invoice) {
|
||||||
const data = {
|
const data = {
|
||||||
id: id
|
id: id
|
||||||
}
|
}
|
||||||
@ -392,8 +400,18 @@ export default {
|
|||||||
if (response.data) {
|
if (response.data) {
|
||||||
window.toastr['success'](this.$tc('invoices.send_invoice'))
|
window.toastr['success'](this.$tc('invoices.send_invoice'))
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
},
|
},
|
||||||
async sentInvoice (id) {
|
async sentInvoice (id) {
|
||||||
|
swal({
|
||||||
|
title: this.$t('general.are_you_sure'),
|
||||||
|
text: this.$t('invoices.invoice_mark_as_sent'),
|
||||||
|
icon: '/assets/icon/check-circle-solid.svg',
|
||||||
|
buttons: true,
|
||||||
|
dangerMode: true
|
||||||
|
}).then(async (MarkAsSend_Invoice) => {
|
||||||
|
if (MarkAsSend_Invoice) {
|
||||||
const data = {
|
const data = {
|
||||||
id: id
|
id: id
|
||||||
}
|
}
|
||||||
@ -402,6 +420,8 @@ export default {
|
|||||||
if (response.data) {
|
if (response.data) {
|
||||||
window.toastr['success'](this.$tc('invoices.mark_as_sent'))
|
window.toastr['success'](this.$tc('invoices.mark_as_sent'))
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
},
|
},
|
||||||
getStatus (val) {
|
getStatus (val) {
|
||||||
this.filters.status = {
|
this.filters.status = {
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<form action="" @submit.prevent="saveEmailConfig()">
|
<form action="" @submit.prevent="saveEmailConfig()">
|
||||||
<div class="row my-2 mt-5">
|
<div class="row">
|
||||||
<div class="col-md-6 my-2">
|
<div class="col-md-6 my-2">
|
||||||
<label class="form-label">{{ $t('settings.mail.driver') }}</label>
|
<label class="form-label">{{ $t('settings.mail.driver') }}</label>
|
||||||
<span class="text-danger"> *</span>
|
<span class="text-danger"> *</span>
|
||||||
@ -116,12 +116,12 @@
|
|||||||
</div>
|
</div>
|
||||||
<base-button
|
<base-button
|
||||||
:loading="loading"
|
:loading="loading"
|
||||||
class="pull-right mt-5"
|
class="pull-right mt-4"
|
||||||
icon="save"
|
icon="save"
|
||||||
color="theme"
|
color="theme"
|
||||||
type="submit"
|
type="submit"
|
||||||
>
|
>
|
||||||
{{ $t('wizard.save_cont') }}
|
{{ $t('general.save') }}
|
||||||
</base-button>
|
</base-button>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -43,6 +43,9 @@
|
|||||||
type="password"
|
type="password"
|
||||||
@input="$v.formData.password.$touch()"
|
@input="$v.formData.password.$touch()"
|
||||||
/>
|
/>
|
||||||
|
<div v-if="$v.formData.password.$error">
|
||||||
|
<span v-if="!$v.formData.password.minLength" class="text-danger"> {{ $tc('validation.password_min_length', $v.formData.password.$params.minLength.min, {count: $v.formData.password.$params.minLength.min}) }} </span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 mb-4 form-group">
|
<div class="col-md-6 mb-4 form-group">
|
||||||
<label class="input-label">{{ $tc('settings.account_settings.confirm_password') }}</label>
|
<label class="input-label">{{ $tc('settings.account_settings.confirm_password') }}</label>
|
||||||
@ -78,7 +81,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import { validationMixin } from 'vuelidate'
|
import { validationMixin } from 'vuelidate'
|
||||||
import { mapActions } from 'vuex'
|
import { mapActions } from 'vuex'
|
||||||
const { required, requiredIf, sameAs, email } = require('vuelidate/lib/validators')
|
const { required, requiredIf, sameAs, email, minLength } = require('vuelidate/lib/validators')
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
mixins: [validationMixin],
|
mixins: [validationMixin],
|
||||||
@ -103,6 +106,7 @@ export default {
|
|||||||
email
|
email
|
||||||
},
|
},
|
||||||
password: {
|
password: {
|
||||||
|
minLength: minLength(8)
|
||||||
},
|
},
|
||||||
confirm_password: {
|
confirm_password: {
|
||||||
required: requiredIf('isRequired'),
|
required: requiredIf('isRequired'),
|
||||||
|
|||||||
@ -45,6 +45,7 @@
|
|||||||
/>
|
/>
|
||||||
<div v-if="$v.profileData.password.$error">
|
<div v-if="$v.profileData.password.$error">
|
||||||
<span v-if="!$v.profileData.password.required" class="text-danger">{{ $tc('validation.required') }}</span>
|
<span v-if="!$v.profileData.password.required" class="text-danger">{{ $tc('validation.required') }}</span>
|
||||||
|
<span v-if="!$v.profileData.password.minLength" class="text-danger"> {{ $tc('validation.password_min_length', $v.profileData.password.$params.minLength.min, {count: $v.profileData.password.$params.minLength.min}) }} </span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
@ -106,7 +107,8 @@ export default {
|
|||||||
required
|
required
|
||||||
},
|
},
|
||||||
password: {
|
password: {
|
||||||
required
|
required,
|
||||||
|
minLength: minLength(8)
|
||||||
},
|
},
|
||||||
confirm_password: {
|
confirm_password: {
|
||||||
required: requiredIf('isRequired'),
|
required: requiredIf('isRequired'),
|
||||||
|
|||||||
3
resources/assets/sass/base.scss
vendored
3
resources/assets/sass/base.scss
vendored
@ -111,6 +111,7 @@ code, .code {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.swal-icon--custom {
|
.swal-icon--custom {
|
||||||
height: 50px !important;
|
height: 70px !important;
|
||||||
}
|
}
|
||||||
|
|||||||
3
resources/assets/sass/pages/customers.scss
vendored
3
resources/assets/sass/pages/customers.scss
vendored
@ -27,8 +27,6 @@
|
|||||||
|
|
||||||
.same-address-checkbox-container {
|
.same-address-checkbox-container {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
|
||||||
padding-left: 12px;
|
|
||||||
margin-bottom: 1.5rem;
|
margin-bottom: 1.5rem;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
@ -97,7 +95,6 @@
|
|||||||
.same-address-checkbox-container {
|
.same-address-checkbox-container {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
padding-left: 15px;
|
|
||||||
margin-bottom: 0rem;
|
margin-bottom: 0rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
3
resources/assets/sass/pages/wizard.scss
vendored
3
resources/assets/sass/pages/wizard.scss
vendored
@ -98,6 +98,9 @@
|
|||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
height: 21px;
|
height: 21px;
|
||||||
width: 21px;
|
width: 21px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
.icon-check {
|
.icon-check {
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
|
|||||||
Reference in New Issue
Block a user