document.addEventListener('DOMContentLoaded', () => {
const players = document.querySelectorAll('.custom_audio_player');
players.forEach((player) => {
const audio = player.querySelector('.audio-player');
const playPauseBtn = player.querySelector('.playPauseBtn_twig');
const progress = player.querySelector('.progress_twig');
const currentTimeEl = player.querySelector('.currentTime_twig');
const durationEl = player.querySelector('.duration_twig');
const backwardBtn = player.querySelector('.backwardBtn_twig');
const forwardBtn = player.querySelector('.forwardBtn_twig');
const muteBtn = player.querySelector('.muteBtn_twig');
if (!playPauseBtn || !progress || !currentTimeEl || !durationEl || !backwardBtn || !forwardBtn || !muteBtn) {
return;
}
const playIcon = playPauseBtn.querySelector('.play');
const pauseIcon = playPauseBtn.querySelector('.pause');
const volumeIcon = muteBtn.querySelector('.volume');
const muteIcon = muteBtn.querySelector('.mute');
if (!playIcon || !pauseIcon || !volumeIcon || !muteIcon) {
console.error('One or more control icons are missing.');
return;
}
const formatTime = (time) => {
const minutes = Math.floor(time / 60);
const seconds = Math.floor(time % 60).toString().padStart(2, '0');
return `${minutes}:${seconds}`;
};
// Update progress bar and time
audio.addEventListener('timeupdate', () => {
progress.value = (audio.currentTime / audio.duration) * 100 || 0;
currentTimeEl.textContent = formatTime(audio.currentTime);
durationEl.textContent = formatTime(audio.duration || 0);
});
// Play/pause functionality
playPauseBtn.addEventListener('click', () => {
if (audio.paused) {
audio.play();
playIcon.classList.add('hidden');
pauseIcon.classList.remove('hidden');
} else {
audio.pause();
playIcon.classList.remove('hidden');
pauseIcon.classList.add('hidden');
}
});
// Seek functionality
progress.addEventListener('input', () => {
audio.currentTime = (progress.value / 100) * audio.duration;
});
// Mute/unmute functionality
muteBtn.addEventListener('click', () => {
audio.muted = !audio.muted;
if (audio.muted) {
volumeIcon.classList.add('hidden');
muteIcon.classList.remove('hidden');
} else {
volumeIcon.classList.remove('hidden');
muteIcon.classList.add('hidden');
}
});
// Skip backward and forward
backwardBtn.addEventListener('click', () => {
audio.currentTime = Math.max(0, audio.currentTime - 10); // Skip 10 seconds backward
});
forwardBtn.addEventListener('click', () => {
audio.currentTime = Math.min(audio.duration, audio.currentTime + 10); // Skip 10 seconds forward
});
// Display duration when audio is loaded
audio.addEventListener('loadedmetadata', () => {
durationEl.textContent = formatTime(audio.duration);
});
});
});
فرارو- ابوبکر شبلی، یکی از عارفان مشهور قرن سوم و چهارم هجری، در تذکرهالاولیا عطار به عنوان شخصیتی جذاب و پررمزوراز معرفی شده است. او که از خانوادهای متمول بود، در جوانی به مقامات دولتی رسید، اما پس از ملاقات با صوفیان و شنیدن سخنان بایزید بسطامی، دچار تحولی عمیق شد و راه زهد و تصوف را در پیش گرفت.
به گزارش فرارو، شبلی به شدت در عشق الهی غرق بود و حالات جذبه و شوریدگی او زبانزد بود. گفته میشود که او در اوج عرفان خود به سبب بیان سخنان رمزآلود و شوریدگیهای صوفیانه، از سوی فقها و قاضیان تکفیر و روانه زندان شد.
در یکی از حکایات مشهور تذکرهالاولیا، زمانی که شبلی را در زندان سنگباران کردند، او با لبخند گفت که این سنگها را تحمل میکند، اما اگر عاشقان حقیقی بودند، خار هم به او رحم نمیکرد! داستان شبلی، همچون بسیاری از عارفان دیگر، بازتابی از درگیری میان تصوف و شریعت در تاریخ اسلام است.