[Snippet} Package is over
Hi guys, i would like to share my custom snippet with you if you use packages.
It is for backend users.
Package will be disabled and text color became red if you reach to end point. For example 10/10.
Add it with custom snippets plugins such as Fluent Snippets

(function() {
function updatePackageOptions(selectEl) {
for (let i = 0; i < selectEl.options.length; i++) {
let option = selectEl.options[i];
// Önce mevcut "- ..." kısmını temizle
let text = option.text.replace(/ - (Left|Package is over|Overdose):?.*$/, '');
let m = text.match(/\((\d+)\/(\d+)\)$/);
if (m) {
let used = parseInt(m[1], 10);
let total = parseInt(m[2], 10);
if (used > total) {
// Paket aşımı
option.text = text + ' - Paket Aşımı';
option.style.color = 'purple'; // mor renk
option.disabled = true; // seçim kapalı
} else if (used === total) {
// Paket bitti
option.text = text + ' - Paket bitti';
option.style.color = 'red';
option.disabled = true; // seçim kapalı
} else {
// Paket mevcut
option.text = text + ' - Kalan seans: ' + (total - used);
option.style.color = 'green';
option.disabled = false; // seçim açık
}
} else {
option.style.color = '';
option.disabled = false;
}
}
}
function initDropdown(selectEl) {
updatePackageOptions(selectEl);
selectEl.addEventListener('change', function() {
updatePackageOptions(selectEl);
});
}
function initAllDropdowns() {
var selects = document.querySelectorAll('#bookly-attach-package');
selects.forEach(function(selectEl) {
initDropdown(selectEl);
});
}
document.addEventListener('DOMContentLoaded', initAllDropdowns);
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(m) {
m.addedNodes.forEach(function(node) {
if (node.nodeType === 1) {
var selects = node.querySelectorAll('#bookly-attach-package');
selects.forEach(function(selectEl) {
initDropdown(selectEl);
});
}
});
});
});
observer.observe(document.body, { childList: true, subtree: true });
console.log('Dropdown güncellendi: Paket bitti ve Paket Aşımı durumu eklendi.');
})();
0
Comments
Please sign in to leave a comment.