ટેગ અને વાસ્તવિક પરિસ્થિતિઓ તપાસો. આગાહી લેગિંગની વોટરપ્રૂફ અને થર્મલ ક્ષમતા દર્શાવતી નથી.
હવામાનને વિગતવાર શોધો
કલાકવાર આગાહીઓ, ઉપયોગી કપડાંની યાદી અને યુ.એસ.ની સત્તાવાર ચેતવણીઓ તપાસો. અમે ફક્ત તમારી વિનંતી મુજબ જ માહિતી લોડ કરીએ છીએ.
📈 કલાકો અને આગામી 7 દિવસ
તાપમાન, આર્દ્રતા, વરસાદ, UV, ખુલ્લું આકાશ અને પવન.
🎒 હવામાન મુજબ બહાર જવા માટેની યાદી
સંગ્રહિત આગાહીનો ઉપયોગ કરીને યાદી તૈયાર કરો, વધુ ખરીદી કે કોલ કર્યા વિના.
⚠️ યુ.એસ.ની સત્તાવાર ચેતવણીઓ
યુનાઇટેડ સ્ટેટ્સની જગ્યાઓ માટે નેશનલ વેધર સર્વિસની માન્ય ચેતવણીઓ.
સ્ત્રોતો: MET Norway, PlaceDB (CC0) અને NWS. યાદી કેશમાં રહેલી આગાહી પર આધારિત છે, કપડાંની પરીક્ષણો પર નહીં.
સલાહ કેવી રીતે તૈયાર થાય છે
અમે આગાહી અને તમારી પસંદગીઓને જોડીએ છીએ, કપડાંની ક્ષમતાઓનું અતિરેક્ત કલ્પન કર્યા વિના.
વાસ્તવિક આગાહી
MET Norway દ્વારા ઉપલબ્ધ તાપમાન, અનુભૂતિ તાપમાન, પવન અને વરસાદ.
તમારા લેગિંગ્સ
તમે જણાવો કે તે હળવા, સામાન્ય કે થર્મલ છે. આ કોઈ પ્રયોગશાળા પરીક્ષણ નથી.
તમારી પ્રવૃત્તિ
શહેરમાં એક સફર અને લાંબી ચાલ માટે અલગ-અલગ સ્તરો જરૂરી છે.
જ્યારે ઠંડી હોય, વરસાદ પડે કે પવન હોય ત્યારે લેગિંગ્સ સાથે શું પહેરવું
સૌપ્રથમ વાસ્તવિક આગાહી તપાસો. તાપમાન, વરસાદ, પવન અને બહારના હવામાન પ્રમાણે સ્તરોને અનુકૂળ બનાવો. ફાઇબરનો ટકા એ કેટલો ગરમ રાખે છે તે માપતો નથી.
❄️
ઠંડી માટે લેગિંગ્સના સેટ
એક નાની સફર માટે સામાન્ય લેગિંગ્સ, જર્સી અને કોટ ચાલશે. શૂન્ય ડિગ્રી આસપાસ કે લાંબી ચાલ દરમિયાન, વાસ્તવિક ઇન્સ્યુલેશન અને બહારનો કોટ વિચારવો. પકડવાળા બંધ જૂતાં પહેરો.
🌧️
જ્યારે વરસાદ પડે ત્યારે લેગિંગ્સ સાથે શું પહેરવું
ઘણાં લેગિંગ્સ વોટરપ્રૂફ નથી. પાણી પ્રતિરોધક બહારનો કોટ, સારી સોલવાળા બંધ જૂતાં અને છત નીચે ઉતારી શકાય તેવા કપડાં ઉમેરો.
🌬️
પવનવાળા કે મધ્યમ તાપમાનના દિવસો
પવન હોય ત્યારે ફાઇબરના નામ કરતાં વિન્ડબ્રેકર જાકેટ વધુ મહત્વનો હોય શકે છે. નરમ હવામાનમાં આરામદાયક ટોપ અને હળવા, સરળતાથી ઉતારી શકાય તેવા સ્તરો પહેરો.
વાસ્તવિક પરિસ્થિતિઓ માટે છ સેટ
આગાહી એક માર્ગદર્શિકા છે, યુનિફોર્મ નથી. તમારા પ્રવાસ, પ્રવૃત્તિ અને તમારા પાસેના કપડાં અનુસાર સ્તરોને સમાયોજિત કરો.
🌧️
શહેરમાં વરસાદ
અસ્પષ્ટ લેગિંગ્સને જર્સી, પાણી પ્રતિરોધક કોટ અને સારી પકડવાળા જૂતાં સાથે મેળવો.
બહાર જવા પહેલા: ભીનું રસ્તું અને ગરમ અંદરનું વાતાવરણ અલગ સ્તરોની જરૂરિયાત કરે છે.
વધુ સ્થળો અને અંદાજિત સ્થાનાંક: GeoNames, CC BY 4.0; સંપાદકીય પસંદગી. GeoNames.
(function(){
"use strict";
var root=document.querySelector('[data-tool=weather]');if(!root)return;
var L={"find":"વધુ શહેરો શોધો","hint":"તમારું સ્થળ મળતું નથી? પસંદ કરેલા દેશમાં શોધો અથવા વધુ દેશો લોડ કરો. GPS કે IP શોધ વિના.","lookup":"સ્થળનું નામ","search":"સ્થળો શોધો","countries":"વધુ દેશો","empty":"પરિણામો નથી.","loading":"સ્થળો શોધી રહ્યું છે…","choose":"આ સ્થળ પસંદ કરો","intro":"હવામાન વિગતવાર તપાસો","lead":"કલાકવાર આગાહી, ઉપયોગી કપડાંની યાદી અને યુ.એસ.ની સત્તાવાર ચેતવણીઓ તપાસો. અમે ફક્ત તમારી વિનંતી મુજબ જ લોડ કરીએ છીએ.","forecast":"કલાકો અને આગામી 7 દિવસ","forecastDesc":"તાપમાન, ભેજ, વરસાદ, UV, ખુલ્લું આકાશ અને પવન.","alerts":"યુ.એસ.ની સત્તાવાર ચેતવણીઓ","alertsDesc":"યુ.એસ. સ્થાનો માટે નેશનલ વેધર સર્વિસની માન્ય ચેતવણીઓ.","go":"જાંચો","hour":"આગામી કલાકો (UTC)","days":"આગામી દિવસો (તારીખો UTC)","unavailable":"સ્રોત તાત્કાલિક ઉપલબ્ધ નથી.","nothing":"સંગત મૂલ્યો નથી.","notUS":"NWS ચેતવણીઓ ફક્ત યુનાઇટેડ સ્ટેટ્સમાં ઉપલબ્ધ છે.","noAlerts":"કોઈ સત્તાવાર સૂચનાઓ સક્રિય નથી.","countryReady":"દેશોની યાદી લોડ થઈ ગઈ છે.","source":"સ્ત્રોતો: MET Norway, PlaceDB (CC0) અને NWS. યાદી કેશમાં રહેલી આગાહીનો ઉપયોગ કરે છે, કપડાંની ચકાસણી નહીં.","pack":"હવામાન અનુસાર બહાર જવા માટેની યાદી","packDesc":"સંગ્રહિત આગાહીનો ઉપયોગ કરીને ખરીદી કે વધારાના ફોન કર્યા વિના યાદી તૈયાર કરો.","packItems":["તમારા લેગિંગ્સ","ગરમ કપડું અથવા કોટ","વરસાદ સામેની બહારની પરત","પવન રોકનાર જૅકેટ","ગરમ મોજા અને બંધ જૂતાં","આરામદાયક પગરખાં સાથે પકડ"],"packCopy":"યાદી નકલ કરો","packSaved":"યાદી નકલ થઈ ગઈ"},country=root.querySelector('#wa-country'),city=root.querySelector('#wa-city');
var input=root.querySelector('#wa-place-query'),matches=root.querySelector('.wa-place-matches'),status=root.querySelector('.wa-place-status-text');
function item(tag,value){var e=document.createElement(tag);e.textContent=String(value);return e;}
function query(){
var opt=city.selectedOptions[0],p=new URLSearchParams();
if(opt&&opt.dataset.placeId){p.set('country',country.value);p.set('place',opt.dataset.placeId);p.set('q',opt.dataset.query);}
else if(city.value)p.set('city',city.value);
return p;
}
var placeEpoch=0,panelEpoch={forecast:0,pack:0,alerts:0};
function clear(){placeEpoch++;for(var mode in panelEpoch)panelEpoch[mode]++;matches.replaceChildren();status.textContent='';for(var e of root.querySelectorAll('.wa-deep-output'))e.replaceChildren();}
country.addEventListener('change',clear);city.addEventListener('change',clear);
var find=root.querySelector('.wa-place-find');
find.addEventListener('click',async function(){
var value=input.value.trim();if(value.length<2){input.focus();return;}
var findIntent=++placeEpoch,chosenCountry=country.value;
status.textContent=L.loading;matches.replaceChildren();find.disabled=true;
try{
var r=await fetch('/api/weather-places?country='+encodeURIComponent(country.value)+'&q='+encodeURIComponent(value));
if(!r.ok)throw Error('places');var d=await r.json();if(findIntent!==placeEpoch||country.value!==chosenCountry)return;if(!d.places||!d.places.length)status.textContent=L.empty;
else status.textContent=d.places.length+' · '+L.choose;
for(const p of d.places||[]){
var li=item('li',''),b=item('button',p.name);
b.type='button';b.addEventListener('click',function(){
if(findIntent!==placeEpoch||country.value!==chosenCountry)return;
var opt=document.createElement('option');opt.value='p-'+p.country+'-'+p.id;opt.textContent=p.name;
opt.dataset.placeId=String(p.id);opt.dataset.query=value;city.append(opt);city.disabled=false;city.value=opt.value;
city.dispatchEvent(new Event('change',{bubbles:true}));status.textContent=p.name+' ✓';matches.replaceChildren();
});li.append(b);matches.append(li);
}
}catch{if(findIntent===placeEpoch)status.textContent=L.unavailable;}finally{find.disabled=false;}
});
input.addEventListener('keydown',function(e){if(e.key==='Enter'){e.preventDefault();find.click();}});
root.querySelector('.wa-all-countries').addEventListener('click',async function(){
var button=this;button.disabled=true;status.textContent=L.loading;
try{
var r=await fetch('/api/weather-countries');if(!r.ok)throw Error('countries');
var d=await r.json(),already=new Set(Array.from(country.options,x=>x.value)),extra=[];
var fmt=new Intl.DisplayNames([document.documentElement.lang||'en'],{type:'region'});
for(var c of d.countries||[]){if(!/^[A-Z]{2}$/.test(c.code)||already.has(c.code))continue;
var o=document.createElement('option');o.value=c.code;o.textContent=fmt.of(c.code)||c.name;
country.append(o);extra.push(c.code);}
window.__leggicMoreCountries=[...new Set([...(window.__leggicMoreCountries||[]),...extra])];
status.textContent=L.countryReady;button.hidden=true;
}catch{status.textContent=L.unavailable;button.disabled=false;}
});
function line(box,name,value){var row=item('div','');row.className='wa-deep-line';row.append(item('span',name),item('strong',value));box.append(row);}
for(const btn of root.querySelectorAll('.wa-deep-fetch')){
btn.addEventListener('click',async function(){
var mode=btn.dataset.mode,box=root.querySelector('.wa-deep-output[data-mode="'+mode+'"]');
var intent=++panelEpoch[mode],selectedCountry=country.value,selectedCity=city.value;
if(!city.value){box.textContent=L.empty;return;}
box.textContent=L.loading;btn.disabled=true;
var p=query(),url=mode==='alerts'?'/api/weather-alerts':'/api/weather-advice';
if(mode==='forecast'||mode==='pack')p.set('view','extended');
try{
var r=await fetch(url+'?'+p.toString());if(!r.ok)throw Error('source');
var d=await r.json();if(intent!==panelEpoch[mode]||city.value!==selectedCity||country.value!==selectedCountry)return;box.replaceChildren();
if(mode==='forecast'){
var a=item('div','');a.className='wa-deep-lines';
if(Number.isFinite(d.humidity))line(a,'💧',d.humidity+'%');
if(Number.isFinite(d.uvClearSky))line(a,'UV (clear sky)',d.uvClearSky);
if(Number.isFinite(d.windGustMs))line(a,'Wind gust',d.windGustMs+' m/s');
for(var h of (d.hourly||[]).slice(0,18))line(a,h.time.slice(5,16).replace('T',' ')+' UTC',h.temperatureC+' °C'+(Number.isFinite(h.precipChance)?' · '+h.precipChance+'%':''));
box.append(a);
var b=item('div','');b.className='wa-deep-lines';
for(var day of d.daily||[])line(b,day.dayUTC,day.lowC+' / '+day.highC+' °C');
box.append(item('h4',L.days),b);
}else if(mode==='pack'){
if(!Number.isFinite(d.temperatureC))throw Error('missing temperature');
var items=[L.packItems[0]];
if(d.temperatureC<10)items.push(L.packItems[1]);
if((Number.isFinite(d.precipMm)&&d.precipMm>=0.2)||/rain|snow|sleet/i.test(d.symbol||''))items.push(L.packItems[2]);
if(d.windMs>=8)items.push(L.packItems[3]);
items.push(d.temperatureC<5?L.packItems[4]:L.packItems[5]);
var list=item('ul','');list.className='wa-packing-list';
for(const label of [...new Set(items)]){var li=item('li',label);list.append(li);}
box.append(list);
var copy=item('button',L.packCopy);copy.type='button';copy.className='wa-pack-copy';
copy.addEventListener('click',async function(){try{
await navigator.clipboard.writeText(items.join('\n'));copy.textContent=L.packSaved;
}catch{copy.textContent=L.unavailable;}});
box.append(copy);
}else{
if(!d.supported){box.textContent=L.notUS;return;}
if(!d.alerts?.length){box.textContent=L.noAlerts;return;}
for(var a of d.alerts)line(box,a.severity,a.event+': '+a.headline);
var link=item('a','National Weather Service');link.href='https://www.weather.gov/';link.rel='noopener noreferrer';box.append(link);
}
}catch{if(intent===panelEpoch[mode])box.textContent=L.unavailable;}finally{btn.disabled=false;}
});
}
})();document.addEventListener('DOMContentLoaded',()=>{setTimeout(()=>{
// The deferred app.js initializes its tool on DOMContentLoaded; run just after it.
const button=document.getElementById('buildLook');if(!button)return;
const labels={it:'Abbinamento',de:'Outfit',es:'Conjunto',fr:'Tenue',en:'Look'};
const enhance=()=>{
const result=document.querySelector('#lookResult .result');
if(!result||result.querySelector('.style-look-grid'))return;
const items=[...result.querySelectorAll('ol li')].slice(0,3);
if(!items.length)return;
const selectedText=id=>{
const element=document.getElementById(id);
return element?.selectedOptions?.[0]?.textContent?.trim()||element?.value||'';
};
const metaText=[selectedText('color'),selectedText('season'),selectedText('shoes')].filter(Boolean).join(' · ');
const grid=document.createElement('div');grid.className='style-look-grid';
items.forEach((item,index)=>{
const card=document.createElement('article');card.className='style-look';
const meta=document.createElement('span');meta.className='style-look-meta';meta.textContent=metaText;
const content=document.createElement('div'),title=document.createElement('b'),copy=document.createElement('p');
title.textContent=(labels[document.documentElement.lang]||labels.en)+' '+(index+1);
copy.innerHTML=item.innerHTML;
content.append(title,copy);card.append(meta,content);grid.append(card);
});
result.querySelector('ol')?.replaceWith(grid);
};
const next=()=>setTimeout(enhance,0);
button.addEventListener('click',next);
for(const id of ['color','season','occasion','shoes','finish'])document.getElementById(id)?.addEventListener('change',next);
next();
},0);});(()=>{const root=document.querySelector('header.site-header [data-lp]');if(!root)return;const t=root.querySelector('.lp-trigger'),d=root.querySelector('.lp-dialog');if(!d||typeof d.showModal!=='function')return;const f=d.querySelector('.lp-filter'),items=[...d.querySelectorAll('.lp-item')],groups=[...d.querySelectorAll('.lp-group')],empty=d.querySelector('.lp-empty');const norm=s=>s.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g,'');const apply=()=>{const q=norm(f.value.trim());let shown=0;items.forEach(a=>{const ok=!q||norm(a.dataset.names+' '+a.textContent).includes(q);a.parentElement.hidden=!ok;if(ok)shown++;});groups.forEach(g=>{g.hidden=![...g.querySelectorAll('li')].some(li=>!li.hidden)});empty.hidden=shown>0;};t.addEventListener('click',e=>{if(e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;e.preventDefault();d.showModal();f.value='';apply();if(window.matchMedia('(pointer:fine)').matches)f.focus();else d.querySelector('.lp-item.is-current')?.scrollIntoView({block:'center'});});d.querySelector('.lp-close').addEventListener('click',()=>d.close());d.addEventListener('click',e=>{if(e.target===d)d.close()});f.addEventListener('input',apply);f.addEventListener('keydown',e=>{if(e.key==='Enter'){const first=items.find(a=>!a.parentElement.hidden);if(first){e.preventDefault();first.click();}}});d.addEventListener('close',()=>t.focus());})();