Code
<style>
#pm-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.6);
z-index: 9998;
display: none;
}
#pm-popup {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 400px;
background: #fff5f5;
border: 2px solid #e74c3c;
border-radius: 12px;
box-shadow: 0 0 25px rgba(0, 0, 0, 0.4);
padding: 20px;
z-index: 9999;
display: none;
font-family: sans-serif;
}
.pm-button {
padding: 8px 16px;
margin-top: 15px;
margin-right: 10px;
border: none;
border-radius: 6px;
cursor: pointer;
font-size: 14px;
font-weight: bold;
transition: background 0.3s;
display: inline-flex;
align-items: center;
gap: 6px;
}
.pm-close {
background-color: #e74c3c;
color: white;
}
.pm-close:hover {
background-color: #c0392b;
}
.pm-open {
background-color: #3498db;
color: white;
position: fixed;
bottom: 20px;
right: 20px;
z-index: 9997;
}
.pm-open:hover {
background-color: #2980b9;
}
.pm-view {
background-color: #2ecc71;
color: white;
}
.pm-view:hover {
background-color: #27ae60;
}
.pm-item {
background-color: #fff;
border-radius: 6px;
margin-bottom: 10px;
padding: 8px 12px;
border-bottom: 1px dashed #aaa;
cursor: pointer;
transition: background-color 0.2s;
}
.pm-item:hover {
background-color: #fcecec;
}
.pm-item.selected {
background-color: #ffe5e5;
border: 2px dashed #c0392b;
}
.pm-item strong {
color: #c0392b;
}
.pm-header {
background-color: #ffebeb;
border-bottom: 2px dashed #e74c3c;
padding: 14px;
border-radius: 8px;
font-weight: bold;
text-align: center;
margin-bottom: 15px;
font-size: 17px;
color: #900;
box-shadow: inset 0 0 5px rgba(0,0,0,0.05);
}
fieldset {
border: 1px solid #e0e0e0;
padding: 12px;
border-radius: 6px;
background: #fff;
}
legend {
padding: 0 8px;
font-weight: bold;
color: #444;
font-size: 15px;
}
</style>
<div id="pm-overlay"></div>
<div id="pm-popup"></div>
<button id="pm-open-btn" class="pm-button pm-open" onclick="reopenPM()" style="display: none;">გახსნა</button>
<script type="text/javascript">
let selectedPMUrl = null;
function tMess(n) {
var a = [' ახალი შეტყობინება', ' ახალი შეტყობინება', ' ახალი შეტყობინება'];
return a[n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2];
}
function showPM(content) {
document.getElementById('pm-popup').innerHTML = content;
document.getElementById('pm-popup').style.display = 'block';
document.getElementById('pm-overlay').style.display = 'block';
document.getElementById('pm-open-btn').style.display = 'none';
}
function closePM() {
document.getElementById('pm-popup').style.display = 'none';
document.getElementById('pm-overlay').style.display = 'none';
document.getElementById('pm-open-btn').style.display = 'block';
selectedPMUrl = null;
}
function reopenPM() {
document.getElementById('pm-popup').style.display = 'block';
document.getElementById('pm-overlay').style.display = 'block';
document.getElementById('pm-open-btn').style.display = 'none';
}
function viewPM() {
if (selectedPMUrl) {
window.open(selectedPMUrl, '_blank');
closePM();
}
}
function getPM() {
$.get("/index/14", function(a) {
var s = $("b.unread", a).size();
if (s) {
var n = tMess(s),
all = [],
leg = (s == 1) ? 'შეტყობინება' : 'შეტყობინებები';
$("b.unread", a).each(function(index) {
var title = $(this).text();
var href = $(this).parent('a').attr('href');
var senderText = $(this).parent('a').next().text().trim();
var senderMatch = senderText.match(/\((.*?)\)/);
var sender = senderMatch ? senderMatch[1] : senderText;
all.push(`
<div class="pm-item" data-url="${href}" onclick="selectPM(this)">
<div><strong>${index + 1}.</strong> ${title}</div>
<div style="font-size: 13px; color: #777;">გამოგზავნა: <strong style="color:#c0392b;">${sender}</strong></div>
</div>
`);
});
var content = `
<div class="pm-header">თქვენ მიიღეთ ${s}${n}!</div>
<fieldset>
<legend>${leg}</legend>
<div class="pm-list">${all.join("")}</div>
</fieldset>
<div style="text-align:center;">
<button class="pm-button pm-close" onclick="closePM()">დახურვა</button>
<button class="pm-button pm-view" id="view-btn" onclick="viewPM()" disabled>
<span> გახსნა</span>
</button>
</div>
`;
showPM(content);
}
});
setTimeout(getPM, 10000);
}
function selectPM(element) {
document.querySelectorAll('.pm-item').forEach(e => e.classList.remove('selected'));
element.classList.add('selected');
selectedPMUrl = element.getAttribute('data-url');
document.getElementById('view-btn').disabled = false;
}
getPM();
</script>