File: //home/arjun/projects/buyercall/buyercall/assets/vue/widgets/ProfileSettings/ThemeSettings.vue
<template>
<div class="row justify-content-center">
<div class="col-xl-12">
<div class="card">
<div class="card-body">
<h4 class="card-title">Theme Settings</h4>
<p class="card-title-desc">
Customize and personalize the application look and feel.
</p>
<b-form @submit.prevent="onFormSubmit">
<div class="form-check form-switch mb-3 form-switch-lg">
<input
class="form-check-input"
type="checkbox"
id="darkMode"
v-model="form.darkMode"
/>
<label class="form-check-label" for="darkMode">Dark Mode</label>
</div>
<div>
<b-button variant="primary" type="submit">
<i
class="bx bx-loader bx-spin font-size-16 align-middle me-2"
v-if="updateProfileThemeSettingsLoading"
></i>
Save</b-button
>
<b-button variant="light" @click="onResetForm">Cancel</b-button>
</div>
</b-form>
</div>
</div>
</div>
</div>
</template>
<script>
import { BButton,BForm} from 'bootstrap-vue-next'
export default {
components: {
BButton,
BForm
},
data() {
return {
form: {
darkMode: this.darkMode,
},
};
},
props: {
darkMode: {
type: Boolean,
required: true,
},
updateProfileThemeSettingsLoading: {
type: Boolean,
required: true,
},
},
methods: {
onFormSubmit() {
this.$emit('formSubmit', this.form);
},
onResetForm() {
this.form = {
darkMode: this.darkMode,
};
},
},
};
</script>