import { statue2number } from "~/utils/constant"; export function formatDate(t) { return new Date(t).toLocaleDateString().replace(/\//g, '.'); } export function dateCardFormatDate(date) { return date.getFullYear() + "-" + (date.getMonth() + 1).toString().padStart(2, '0') + "-" + date.getDate().toString().padStart(2, '0'); } export function dateCountDown(date) { let days = Math.ceil((new Date(date)-new Date())/1000/24/60/60); return days; } export function getCurrentTime() { let yy = new Date().getFullYear(); let mm = new Date().getMonth() + 1; let dd = new Date().getDate(); let hh = new Date().getHours(); let mf = new Date().getMinutes() < 10 ? "0" + new Date().getMinutes() : new Date().getMinutes(); let ss = new Date().getSeconds() < 10 ? "0" + new Date().getSeconds() : new Date().getSeconds(); let sss = new Date().getMilliseconds(); let gettime = yy + "/" + mm + "/" + dd + " " + hh + ":" + mf + ":" + ss +":"+ sss; return gettime; } export function addSeperetor(query) { if ( query.substr(query.length - 1) != "&" && query.substr(query.length - 1) != "?" ) query += "&"; return query; } export function exhibitionApi2CardType(apiExhibitions) { let exhibitionList = [] for (let i = 0; i < apiExhibitions.length; i++) { const item = { "id" : apiExhibitions[i].id || '', "title" : apiExhibitions[i].name || '', "location" : (apiExhibitions[i].region || apiExhibitions[i].country || apiExhibitions[i].city ? ( apiExhibitions[i].region && apiExhibitions[i].region.name ? apiExhibitions[i].region.name : "") + " - " + (apiExhibitions[i].country && apiExhibitions[i].country.name ? apiExhibitions[i].country.name : "") + " - " + (apiExhibitions[i].city && apiExhibitions[i].city.name ? apiExhibitions[i].city.name : "") : ""), "rate" : apiExhibitions[i].rating || 0, "rateNumber" : apiExhibitions[i].reviewCount || 0, "exhibitNumber" : apiExhibitions[i].exhibitors || '', "visitorNumber" : apiExhibitions[i].visitors || '', "category" : [], "image" : apiExhibitions[i].logo || '', "description" : apiExhibitions[i].about || '', "startDate" : apiExhibitions[i].startdate || '', "endDate" : apiExhibitions[i].enddate || '', "favorite" : apiExhibitions[i].isLiked || '', "recommend" : apiExhibitions[i].isRecommend || '', "status" : statue2number[apiExhibitions[i].status.name] || 0, "saved" : false }; item.category = apiExhibitions[i].categories; exhibitionList.push(item) } return exhibitionList; } export function savedExhibitionApi2CardType(apiExhibitions) { let exhibitionList = Array(apiExhibitions.length).fill(1); for (let i = 0; i < apiExhibitions.length; i++) { exhibitionList[i] = {}; exhibitionList[i].id = apiExhibitions[i].id; exhibitionList[i].title = apiExhibitions[i].name; exhibitionList[i].location = (apiExhibitions[i].region || apiExhibitions[i].country || apiExhibitions[i].city ? ( apiExhibitions[i].region && apiExhibitions[i].region.name ? apiExhibitions[i].region.name : "") + " - " + (apiExhibitions[i].country && apiExhibitions[i].country.name ? apiExhibitions[i].country.name : "") + " - " + (apiExhibitions[i].city && apiExhibitions[i].city.name ? apiExhibitions[i].city.name : "") : ""); exhibitionList[i].country = apiExhibitions[i].country.id exhibitionList[i].rate = apiExhibitions[i].rating; // exhibitionList[i].rate = Math.ceil(apiExhibitions[i].rating) exhibitionList[i].rateNumber = apiExhibitions[i].reviewCount; exhibitionList[i].exhibitNumber = apiExhibitions[i].exhibitors; exhibitionList[i].visitorNumber = apiExhibitions[i].visitors; exhibitionList[i].category = apiExhibitions[i].categories; exhibitionList[i].image = apiExhibitions[i].logo; exhibitionList[i].description = apiExhibitions[i].about; exhibitionList[i].startDate = apiExhibitions[i].startdate; exhibitionList[i].endDate = apiExhibitions[i].enddate; exhibitionList[i].favorite = apiExhibitions[i].isLiked; exhibitionList[i].recommend = apiExhibitions[i].isRecommend; exhibitionList[i].status = statue2number[apiExhibitions[i].status.name]; exhibitionList[i].saved = false } return exhibitionList; } export async function getData(axios, langQuery) { let data; ({ data } = await axios.get( "/trending/ads" + langQuery ).catch((err) => { console.error(err); })); let ads = data.ads; ({ data } = await axios.get( "/trending/banner" + langQuery ).catch((err) => { console.error(err); })); let banner = data.banner; let exhibitions = data.exhibitions || []; ({ data } = await axios.get( "/trending/services" + langQuery ).catch((err) => { console.error(err); })); let services = data.services; ({ data } = await axios.get( "/trending/themes/exhibitions" + langQuery ).catch((err) => { console.error(err); })); let themes = data.themes; let themesTitle = data.title; ({ data } = await axios.get( "/trending/themes/services" + langQuery ).catch((err) => { console.error(err); })); let serviceThemes = data.themes; let serviceThemesTitle = data.title; ({ data } = await axios.get( "/trending/partnerships" + langQuery ).catch((err) => { console.error(err); })); let partnerships = data.partnerships; ({ data } = await axios.get( "/trending/exhibitions/collections" + langQuery ).catch((err) => { console.error(err); })); let collections = data.collections; ({ data } = await axios.get( "/trending/search/popular" + langQuery ).catch((err) => { console.error(err); })); let populars = data.search; var slogenQuery = "/trending/slogans" + langQuery; ({ data } = await axios.get( slogenQuery ).catch((err) => { console.error(err); })); let slogan = data.slogan; let subslogan = data.subslogan; ({ data } = await axios.get( "/trending/services/search/history" + langQuery ).catch((err) => { console.error(err); })); let servicesSearchs = data.searches; ({ data } = await axios.get( "/trending/services/locations" + langQuery ).catch((err) => { console.error(err); })); let servicesLocations = data.locations; ({ data } = await axios.get( "/trending/exhibitions/search/history" + langQuery ).catch((err) => { console.error(err); })); let exhibitionsSearchs = data.searches; ({ data } = await axios.get( "trending/exhibitions/locations" + langQuery ).catch((err) => { console.error(err); })); let exhibitionsLocations = data.locations; exhibitionsLocations = exhibitionsLocations.filter(region => region.region != null); for (let i = 0; i < exhibitionsLocations.length; i++) { exhibitionsLocations[i].countries = exhibitionsLocations[i].countries.filter(country => country.country != null); for (let j = 0; j < exhibitionsLocations[i].countries.length; j++) { if (exhibitionsLocations[i].countries[j].cities != null ) { exhibitionsLocations[i].countries[j].cities = exhibitionsLocations[i].countries[j].cities.filter(city => city.city != null); } } } ({ data } = await axios.get( "/trending/exhibitions/categories" + langQuery ).catch((err) => { console.error(err); })); let exhibitionsCategories = data.categories; const apiData = { ads, exhibitions, services, themes, themesTitle, serviceThemes, serviceThemesTitle, partnerships, collections, slogan, subslogan, populars, servicesSearchs, servicesLocations, exhibitionsSearchs, exhibitionsLocations, exhibitionsCategories, banner }; return apiData; }