standardize displayed timestamps to Istanbul
This commit is contained in:
+1
-1
@@ -25,5 +25,5 @@ export function analysisView(data,input) {
|
||||
return {...data.result,tenderKey:input.tender?.ikn || input.tender?.id || null,
|
||||
mode:data.mode || (input.mode==='derin'?'derin':'standart'),fileName:input.fileName,
|
||||
model:`${data.model.label} (${data.model.provider})`,modelId:data.model.model,
|
||||
attempts:data.attempts,analyzedAt:new Date(data.analyzedAt).toLocaleString('tr-TR')};
|
||||
attempts:data.attempts,analyzedAt:new Date(data.analyzedAt).toLocaleString('tr-TR', { timeZone: 'Europe/Istanbul' })};
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ export function companyScanProposal(data) {
|
||||
if(!Array.isArray(result[key])||result[key].some(value=>typeof value!=='string'||!value.trim()))throw new Error('Tarama önerileri eksik veya geçersiz. Profil değiştirilmedi.');
|
||||
return [...new Set(result[key].map(value=>value.trim()))];
|
||||
};
|
||||
return {scrapedAt:new Date().toLocaleString('tr-TR'),extractedSectors:array('sektorler'),extractedProducts:array('urunler'),
|
||||
return {scrapedAt:new Date().toLocaleString('tr-TR', { timeZone: 'Europe/Istanbul' }),extractedSectors:array('sektorler'),extractedProducts:array('urunler'),
|
||||
extractedCertifications:array('sertifikalar'),ihaleKonulari:array('ihaleKonulari'),ozet:typeof result.ozet==='string'?result.ozet:null,
|
||||
tarananSayfa:data.tarananSayfa,gercekTarama:true,matchScoreBoost:0};
|
||||
}
|
||||
|
||||
@@ -170,7 +170,7 @@ export const fetchLiveEKAPData = async () => {
|
||||
resolve({
|
||||
success: true,
|
||||
source: 'EKAP Open Data Live Stream API v2.6',
|
||||
fetchedAt: new Date().toLocaleString('tr-TR'),
|
||||
fetchedAt: new Date().toLocaleString('tr-TR', { timeZone: 'Europe/Istanbul' }),
|
||||
tenders: REAL_EKAP_LIVE_TENDERS,
|
||||
totalActiveLiveCount: 58920,
|
||||
todayAddedCount: 1445,
|
||||
|
||||
@@ -8,7 +8,7 @@ export function addLocalNotification(current,title,text) {
|
||||
export function mergeServerNotifications(current,rows) {
|
||||
if(!Array.isArray(rows)||rows.some(row=>typeof row?.id!=='string'||typeof row.baslik!=='string'||typeof row.metin!=='string'))throw new Error('Bildirim listesi geçersiz.');
|
||||
const remote=rows.map(row=>({id:'server:'+row.id,serverId:row.id,title:row.baslik,text:row.metin,
|
||||
time:new Date(row.zaman).toLocaleString('tr-TR'),read:!!row.okundu,ikn:row.ikn}));
|
||||
time:new Date(row.zaman).toLocaleString('tr-TR', { timeZone: 'Europe/Istanbul' }),read:!!row.okundu,ikn:row.ikn}));
|
||||
return keepRecentLocal([...remote,...current.filter(row=>!row.serverId)]);
|
||||
}
|
||||
export async function acknowledgeNotifications(snapshot,request) {
|
||||
|
||||
@@ -166,7 +166,7 @@ export const parseWebsiteCapabilitiesDynamically = (url) => {
|
||||
const isMatched = matchRule.keywords.some(kw => cleanUrl.includes(kw));
|
||||
if (isMatched) {
|
||||
return {
|
||||
scrapedAt: new Date().toLocaleString('tr-TR'),
|
||||
scrapedAt: new Date().toLocaleString('tr-TR', { timeZone: 'Europe/Istanbul' }),
|
||||
extractedSectors: [matchRule.sector],
|
||||
extractedProducts: [...matchRule.products],
|
||||
extractedCertifications: [...matchRule.certifications],
|
||||
@@ -179,7 +179,7 @@ export const parseWebsiteCapabilitiesDynamically = (url) => {
|
||||
// 2. Generic Pure Extraction (Guarantees ZERO wrong cross-sector hallucination)
|
||||
const formattedBrandName = coreDomainName.toUpperCase();
|
||||
return {
|
||||
scrapedAt: new Date().toLocaleString('tr-TR'),
|
||||
scrapedAt: new Date().toLocaleString('tr-TR', { timeZone: 'Europe/Istanbul' }),
|
||||
extractedSectors: [`${formattedBrandName} Uzmanlık Alanı`],
|
||||
extractedProducts: [
|
||||
`${formattedBrandName} Kurumsal Ürün Serisi`,
|
||||
|
||||
Reference in New Issue
Block a user