جائزہ شائع کرنے سے پہلے ضروری خانے (*) پُر کریں۔ آپ کا ای میل پبلک نہیں کیا جائے گا۔
ریویو جمع کریں
// کلید لوکل اسٹوریج میں
const STORAGE_KEY = ‘marhaba_deal_02_reviews_v1’;
function loadReviews(){
let raw = localStorage.getItem(STORAGE_KEY);
if(!raw) return [];
try{
return JSON.parse(raw);
}catch(e){
console.error(‘parse error’, e);
return [];
}
}
function saveReviews(list){
localStorage.setItem(STORAGE_KEY, JSON.stringify(list));
}
function formatTime(ts){
const d = new Date(ts);
// اردو میں سادہ تاریخ
return d.toLocaleString(‘ur-PK’, { year:’numeric’, month:’short’, day:’numeric’, hour:’2-digit’, minute:’2-digit’ });
}
function renderReviews(){
const container = document.getElementById(‘reviewsList’);
const reviews = loadReviews();
if(reviews.length === 0){
container.innerHTML = ‘ابھی تک کوئی جائزہ موجود نہیں ہے۔ آپ پہلا جائزہ لکھ سکتے ہیں۔’;
return;
}
// سب سے نئے پہلے
reviews.sort((a,b)=> b.time – a.time);
container.innerHTML = reviews.map(r => `
const reviews = loadReviews();
reviews.push({
name: name || null,
email: email || null, // محفوظ کیا گیا، مگر UI میں ظاہر نہیں کیا جائے گا
rating: Number(rating),
comment: comment,
time: Date.now()
});
saveReviews(reviews);
// فارم ری سیٹ اور دوبارہ رینڈر
this.reset();
renderReviews();
// چھوٹی اطلاع
alert(‘شکریہ! آپ کا جائزہ شائع ہو گیا ہے۔’);
});
Muhammad Huzaifa –
Best Quality
Muhammad Huzaifa –
Marhaba Deal 02 — جائزے
body{
font-family: “Noto Nastaliq Urdu”,”Noto Sans”, Arial, sans-serif;
background:#f7f7fb;
color:#111;
padding:20px;
line-height:1.6;
}
.container{
max-width:760px;
margin:0 auto;
background:#fff;
padding:18px;
border-radius:8px;
box-shadow:0 6px 18px rgba(0,0,0,0.06);
}
h1{text-align:center;margin-bottom:8px;}
form{margin-top:12px;}
label{display:block;margin:10px 0 6px;}
input[type=”text”], input[type=”email”], textarea, select{
width:100%;
padding:10px;
border:1px solid #d0d7e0;
border-radius:6px;
font-size:15px;
box-sizing:border-box;
}
textarea{min-height:100px; resize:vertical;}
.row{display:flex; gap:10px;}
.row > *{flex:1;}
.btn{
display:inline-block;
background:#0b5ed7;
color:#fff;
padding:10px 16px;
border-radius:6px;
border:none;
cursor:pointer;
font-size:15px;
margin-top:10px;
}
.btn:active{transform:translateY(1px)}
.note{font-size:13px;color:#666;margin-top:6px;}
.reviews{margin-top:20px;}
.review{
border-top:1px solid #eee;
padding:12px 0;
}
.meta{font-size:13px;color:#444;margin-bottom:6px;}
.rating{color:#d97706;font-weight:700; margin-left:6px;}
.empty{color:#666;padding:18px;text-align:center;background:#fbfbff;border-radius:6px}
.error{color:#b00020;font-size:13px;margin-top:6px}
.time{color:#888;font-size:12px}
.stars{direction:ltr; display:inline-block}
Marhaba Deal 02 — جائزے
نیا جائزہ لکھیں
نام (اختیاری)
ای میل ایڈریس (نشر نہیں ہوگا)
آپ کی درجہ بندی *
ریویو / تبصرہ *
جائزہ شائع کرنے سے پہلے ضروری خانے (*) پُر کریں۔ آپ کا ای میل پبلک نہیں کیا جائے گا۔
ریویو جمع کریں
// کلید لوکل اسٹوریج میں
const STORAGE_KEY = ‘marhaba_deal_02_reviews_v1’;
function loadReviews(){
let raw = localStorage.getItem(STORAGE_KEY);
if(!raw) return [];
try{
return JSON.parse(raw);
}catch(e){
console.error(‘parse error’, e);
return [];
}
}
function saveReviews(list){
localStorage.setItem(STORAGE_KEY, JSON.stringify(list));
}
function formatTime(ts){
const d = new Date(ts);
// اردو میں سادہ تاریخ
return d.toLocaleString(‘ur-PK’, { year:’numeric’, month:’short’, day:’numeric’, hour:’2-digit’, minute:’2-digit’ });
}
function renderReviews(){
const container = document.getElementById(‘reviewsList’);
const reviews = loadReviews();
if(reviews.length === 0){
container.innerHTML = ‘ابھی تک کوئی جائزہ موجود نہیں ہے۔ آپ پہلا جائزہ لکھ سکتے ہیں۔’;
return;
}
// سب سے نئے پہلے
reviews.sort((a,b)=> b.time – a.time);
container.innerHTML = reviews.map(r => `
${escapeHtml(r.name || ‘نام ظاہر نہیں’)}
${‘★’.repeat(Number(r.rating))}${‘☆’.repeat(5 – Number(r.rating))}
— ${formatTime(r.time)}
${escapeHtml(r.comment)}
`).join(”);
}
function escapeHtml(text){
if(!text) return ”;
return text.replace(/[&”‘]/g, function(m){ return {‘&’:’&’,”:’>’,'”‘:’"’,”‘”:’'’}[m]; });
}
document.getElementById(‘reviewForm’).addEventListener(‘submit’, function(e){
e.preventDefault();
const name = document.getElementById(‘name’).value.trim();
const email = document.getElementById(’email’).value.trim();
const rating = document.getElementById(‘rating’).value;
const comment = document.getElementById(‘comment’).value.trim();
const errEl = document.getElementById(‘error’);
errEl.style.display = ‘none’;
errEl.textContent = ”;
if(!rating){
errEl.textContent = ‘براہِ کرم اپنی درجہ بندی منتخب کریں۔’;
errEl.style.display = ‘block’;
return;
}
if(!comment){
errEl.textContent = ‘براہِ کرم تبصرہ لکھیں۔’;
errEl.style.display = ‘block’;
return;
}
// سادہ ای میل فارمیٹ چیک (اختیاری)
if(email && !/^\S+@\S+\.\S+$/.test(email)){
errEl.textContent = ‘براہِ کرم درست ای میل ایڈریس لکھیں یا خالی چھوڑیں۔’;
errEl.style.display = ‘block’;
return;
}
const reviews = loadReviews();
reviews.push({
name: name || null,
email: email || null, // محفوظ کیا گیا، مگر UI میں ظاہر نہیں کیا جائے گا
rating: Number(rating),
comment: comment,
time: Date.now()
});
saveReviews(reviews);
// فارم ری سیٹ اور دوبارہ رینڈر
this.reset();
renderReviews();
// چھوٹی اطلاع
alert(‘شکریہ! آپ کا جائزہ شائع ہو گیا ہے۔’);
});
// ابتدائی رینڈر
renderReviews();