Production 🎉
Date : 01/01/2026 06:30 PM
Frontend bundle optimization for faster page speed: login split, module-wise lazy-loading, named chunks, and reduced vendor dependencies.
🚀 Added
- Sr. no column in Dynamic Result
- FEE RECEIPT text msg integration (Moonland School)
- Student Side Fees Menu -> Your Balance on Click Summary option
👨🔧 Changed
- The Master Create Plan has been updated. No plan is assigned for the same date range.
- FEE RECEIPT Changes (Moonland School)
- Radhika school website changes
🐛 Bug Fixed 🐞
- sen Expense bug fix
- General bug fixes and stability improvements
🤖 Development
COCToast New
Reusable common toast / notification component with:
- Glass effect background
- Auto stacking
- Optional actions
- Vue 2 support
- Created a separate layout specifically for login pages
- Separate login.js Entry Bundle
- Introduced a new entry file login.js
- The login page Vue code was removed from app.js and moved into login.js
- Improved Import Strategy + Added webpackChunkName
- Converted several static imports to dynamic imports (import())
- Added meaningful webpackChunkName values for grouped chunk output
- Reduced schoolPanel/app.js Bundle Size
- Moved heavy dependencies to lazy-load chunks
- Optimized shared imports and grouped libraries into proper chunks
- Modules-chunk should load only when user navigates to them
- Replaced moment.js with dayjs
- Converted vuedraggable static import to dynamic import
- Converted quill-editor static import to dynamic import
Dynamic Imports + Chunk Naming (webpackChunkName)
vuejs
const ComponentName = () => import(/_ webpackChunkName: "module-name" _/ '@/path/to/Component.vue')XLSX
Before
vuejs
import * as XLSX from 'xlsx'After
vuejs
import { loadXLSX } from '@/plugins/xlsxLoader'
const XLSX = await loadXLSX()
const workbook = XLSX.utils........draggable
Before
vuejs
import draggable from 'vuedraggable'After
vuejs
import asyncDraggable from '@/plugins/asyncDraggable'
components: {
draggable: asyncDraggable,
}draggable
Before
vuejs
import draggable from 'vuedraggable'After
vuejs
import asyncDraggable from '@/plugins/asyncDraggable'
components: {
draggable: asyncDraggable,
}Dynamic Import for vue-quill-editor (Quill)
Before
vuejs
import 'quill/dist/quill.snow.css'
import { quillEditor } from 'vue-quill-editor'
components: {
quillEditor,
}After
vuejs
import asyncEditor from '@/plugins/asyncEditor'
components: {
quillEditor: asyncEditor,
}Deprecated
vuejs
import moment from 'moment'Replace Moment.js with Day.js
Before
vuejs
import moment from 'moment'
moment(date).format('DD-MM-YYYY')After
vuejs
this.$dayjs(date).format('DD-MM-YYYY')multiselect
Before
vuejs
import Multiselect from 'vue-multiselect'After
vuejs
const Multiselect = () => import(/* webpackChunkName: "vendor-multiselect" */ 'vue-multiselect')
Campus On Click