standardize displayed timestamps to Istanbul

This commit is contained in:
2026-09-06 19:21:21 +03:00
parent b4cd5a073c
commit 97592a05c0
15 changed files with 21 additions and 15 deletions
+1 -1
View File
@@ -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' })};
}
+1 -1
View File
@@ -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};
}
+1 -1
View File
@@ -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,
+1 -1
View File
@@ -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) {
+2 -2
View File
@@ -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`,