113 lines
12 KiB
JavaScript
113 lines
12 KiB
JavaScript
// Демо-данные: 40 мест Алматы. Координаты реальных точек города;
|
||
// цены — ориентиры диапазона. Телефон и сайт намеренно не указаны (здесь demo).
|
||
function R(hrs) { return [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23].map((h) => hrs.has(h)); }
|
||
const HOURS = {
|
||
cafe: [10, 22],
|
||
restaurant: [11, 23],
|
||
bar: [15, 2],
|
||
club: [20, 4],
|
||
nature: [0, 0],
|
||
culture: [10, 20],
|
||
activity: [12, 22]
|
||
};
|
||
function mk(name, type, district, address, lat, lng, avg, rating, tags, parking, hours) {
|
||
return { n: name, t: type, d: district, a: address, la: lat, ln: lng, avg: avg, r: rating, tags: tags, pk: parking, h: hours };
|
||
}
|
||
const raw = [
|
||
// Центр — кафе
|
||
mk("Кофейня на Восточной", "cafe", "Центр", "ул. Толе би, 1", 43.2353, 76.8822, 1200, 4.5, ["кафе", "романтика", "красивый_вид"], 0, "cafe"),
|
||
mk("Кафе на Алматинской", "cafe", "Центр", "ул. Аль-Фараби, 90", 43.2391, 76.8733, 1500, 4.4, ["кафе", "романтика"], 1, "cafe"),
|
||
mk("Смотровая площадка Кок-Тобе", "viewpoint", "Центр", "Кок-Тобе", 43.2600, 76.8600, 500, 4.7, ["красивый_вид", "прогулка", "бесплатно"], 1, "nature"),
|
||
mk("Торговый центр Достьык", "mall", "Аксай", "ул. Кабанбай батыра, 265", 43.2440, 76.8770, 5000, 4.2, ["шоппинг", "кафе", "кино"], 1, "cafe"),
|
||
mk("Ресторан на Панфилова", "restaurant", "Центр", "пр. Абая, 68", 43.2410, 76.8760, 3500, 4.3, ["ресторан", "романтика"], 1, "restaurant"),
|
||
mk("Парк Горького", "park", "Центр", "ул. Пушкина, 2", 43.2340, 76.8790, 0, 4.6, ["природа", "прогулка", "бесплатно"], 0, "nature"),
|
||
mk("Бар рядом с Достьык", "bar", "Центр", "ул. Байтурсынова, 4", 43.2410, 76.8810, 2500, 4.1, ["бар", "ночная_жизнь", "компания"], 0, "bar"),
|
||
mk("Киноцентр на Токаева", "cinema", "Центр", "пр. Абая, 41", 43.2390, 76.8770, 2000, 4.3, ["кино", "кафе"], 1, "culture"),
|
||
mk("Кофейня у станции метро", "cafe", "Центр", "м/с Панфилова", 43.2430, 76.8890, 1000, 4.2, ["кафе"], 0, "cafe"),
|
||
mk("Галерея на Абая", "gallery", "Центр", "пр. Абая, 29", 43.2370, 76.8750, 1500, 4.4, ["культура", "красивый_вид"], 0, "culture"),
|
||
// Медеу / Медведи
|
||
mk("Горнолыжный клуб Медеу", "activity", "Медеу", "Карагандинская траасса, 474", 43.1630, 76.7730, 3000, 4.5, ["активный_отдых", "природа", "красивый_вид"], 1, "activity"),
|
||
mk("Травяная гора", "park", "Медеу", "Карагандинская траасса", 43.1700, 76.7760, 0, 4.6, ["природа", "прогулка", "бесплатно"], 0, "nature"),
|
||
mk("Ресторан у Медеу", "restaurant", "Медеу", "ул. Медведей, 15", 43.1730, 76.7680, 3200, 4.3, ["ресторан", "романтика", "красивый_вид"], 1, "restaurant"),
|
||
mk("Кафе у траассы", "cafe", "Медеу", "ул. Карагандинская", 43.1680, 76.7730, 1100, 4.0, ["кафе"], 0, "cafe"),
|
||
mk("Смотровой пункт у канатки", "viewpoint", "Медеу", "Карагандинская траасса", 43.1650, 76.7750, 300, 4.6, ["красивый_вид", "бесплатно"], 0, "nature"),
|
||
mk("Боулинг на Карагандинской", "bowling", "Медеу", "Карагандинская траасса, 90", 43.1670, 76.7710, 1800, 4.1, ["боулинг", "компания"], 1, "activity"),
|
||
mk("Бильярд у гор", "billiards", "Медеу", "ул. Карагандинская", 43.1660, 76.7700, 1200, 4.0, ["бильярд", "компания"], 0, "activity"),
|
||
// Алматинка
|
||
mk("Завод на Алматинке", "bar", "Алматинка", "ул. Курмангазы, 12", 43.2480, 76.9000, 1800, 4.2, ["бар", "ночная_жизнь", "компания"], 1, "bar"),
|
||
mk("Гастроном на Курмангазы", "restaurant", "Алматинка", "ул. Курмангазы, 25", 43.2470, 76.8980, 2800, 4.3, ["ресторан"], 0, "restaurant"),
|
||
mk("Парк Алматинки", "park", "Алматинка", "ул. Курмангазы", 43.2490, 76.9010, 0, 4.4, ["природа", "прогулка", "бесплатно"], 0, "nature"),
|
||
mk("Кофейня в промзоне", "cafe", "Алматинка", "ул. Курмангазы, 15", 43.2485, 76.9010, 1300, 4.3, ["кафе", "красивый_вид"], 0, "cafe"),
|
||
mk("Пивной двор на Курмангазы", "bar", "Алматинка", "ул. Курмангазы, 10", 43.2478, 76.8970, 1500, 4.0, ["бар", "компания", "ночная_жизнь"], 0, "bar"),
|
||
mk("Винный бар в лофте", "bar", "Алматинка", "ул. Курмангазы", 43.2475, 76.8960, 3000, 4.4, ["бар", "романтика", "красивый_вид"], 0, "bar"),
|
||
mk("Музей в цехах", "gallery", "Алматинка", "ул. Курмангазы, 14", 43.2482, 76.9005, 1200, 4.3, ["культура"], 0, "culture"),
|
||
// Бостандыкский
|
||
mk("Ресторан в Бостандыке", "restaurant", "Бостандыкский", "ул. Кабанбай батыра, 180", 43.2510, 76.8850, 2500, 4.2, ["ресторан"], 1, "restaurant"),
|
||
mk("ТЦ в Бостандыке", "mall", "Бостандыкский", "ул. Кабанбай батыра, 190", 43.2515, 76.8860, 4000, 4.1, ["шоппинг", "кафе", "кино"], 1, "cafe"),
|
||
mk("Кофейня на Кабанбай", "cafe", "Бостандыкский", "ул. Кабанбай батыра, 176", 43.2505, 76.8840, 1100, 4.2, ["кафе"], 0, "cafe"),
|
||
mk("Площадка на Кабанбай", "viewpoint", "Бостандыкский", "ул. Кабанбай батыра", 43.2520, 76.8870, 0, 4.3, ["прогулка", "бесплатно"], 0, "nature"),
|
||
// Ауэзовский
|
||
mk("Кафе на Рыскулова", "cafe", "Ауэзовский", "пр. Рыскулова, 20", 43.2250, 76.9200, 1000, 4.1, ["кафе"], 0, "cafe"),
|
||
mk("Ресторан у ТРЦ", "restaurant", "Ауэзовский", "пр. Рыскулова, 50", 43.2240, 76.9250, 2200, 4.0, ["ресторан", "компания"], 1, "restaurant"),
|
||
mk("Площадь перед ТРЦ", "park", "Ауэзовский", "пр. Рыскулова, 50", 43.2235, 76.9260, 0, 4.3, ["прогулка", "бесплатно"], 0, "nature"),
|
||
mk("Кинотеатр на Рыскулова", "cinema", "Ауэзовский", "пр. Рыскулова, 100", 43.2260, 76.9300, 1800, 4.2, ["кино", "кафе"], 1, "culture"),
|
||
// Алатауский
|
||
mk("Горный парк у подножия", "park", "Алатауский", "ул. Толе би, 107", 43.2150, 76.9500, 0, 4.5, ["природа", "прогулка", "бесплатно"], 0, "nature"),
|
||
mk("Ресторан в Алатау", "restaurant", "Алатауский", "ул. Толе би, 120", 43.2140, 76.9520, 3000, 4.3, ["ресторан", "красивый_вид", "ролантика"], 1, "restaurant"),
|
||
mk("Видовая терраса", "viewpoint", "Алатауский", "ул. Жамбыла, 90", 43.2100, 76.9400, 300, 4.6, ["красивый_вид", "прогулка", "бесплатно"], 0, "nature"),
|
||
// Микрорайон 9
|
||
mk("Кофейня в 9мкр", "cafe", "Микрорайон 9", "ул. Навои, 5", 43.1900, 76.9500, 900, 4.0, ["кафе"], 0, "cafe"),
|
||
mk("Ресторан у ТРЦ 9", "restaurant", "Микрорайон 9", "ул. Навои, 20", 43.1880, 76.9530, 2000, 4.1, ["ресторан", "компания"], 1, "restaurant"),
|
||
mk("Паркинг-площадка 9", "park", "Микрорайон 9", "ул. Навои, 20", 43.1870, 76.9540, 0, 4.2, ["прогулка", "бесплатно"], 1, "nature"),
|
||
// Таугуль
|
||
mk("Ресторан у холма", "restaurant", "Таугуль", "ул. Гагарина, 10", 43.2000, 76.9600, 2800, 4.3, ["ресторан", "романтика", "красивый_вид"], 1, "restaurant"),
|
||
mk("Кофейня в Таугуле", "cafe", "Таугуль", "ул. Гагарина, 15", 43.2010, 76.9580, 1400, 4.2, ["кафе", "красивый_вид"], 0, "cafe"),
|
||
mk("Видовая смотровая Таугуль", "viewpoint", "Таугуль", "ул. Гагарина, 20", 43.2020, 76.9610, 200, 4.7, ["красивый_вид", "прогулка", "бесплатно"], 0, "nature"),
|
||
mk("Клуб у холма", "club", "Таугуль", "ул. Гагарина, 25", 43.2030, 76.9630, 2500, 4.0, ["ночная_жизнь", "компания"], 1, "club"),
|
||
// Астана
|
||
mk("Ресторан у набережной", "restaurant", "Астана", "пр. Мехмет Ата, 50", 43.1950, 76.9900, 3400, 4.4, ["ресторан", "романтика", "красивый_вид"], 1, "restaurant"),
|
||
mk("Кофейня на набережной", "cafe", "Астана", "пр. Мехмет Ата, 55", 43.1940, 76.9920, 1500, 4.3, ["кафе", "красивый_вид"], 0, "cafe"),
|
||
mk("Набережная для прогулок", "park", "Астана", "пр. Мехмет Ата", 43.1960, 76.9880, 0, 4.6, ["прогулка", "бесплатно", "красивый_вид"], 0, "nature"),
|
||
mk("Бар у набережной", "bar", "Астана", "пр. Мехмет Ата, 60", 43.1930, 76.9930, 2800, 4.2, ["бар", "ночная_жизнь", "романтика"], 1, "bar"),
|
||
mk("Видовая башня", "viewpoint", "Астана", "пр. Мехмет Ата", 43.1970, 76.9850, 500, 4.5, ["красивый_вид", "бесплатно"], 0, "nature"),
|
||
// Шымкент
|
||
mk("Ресторан в центре", "restaurant", "Шымкент", "пр. Аль-Фараби, 100", 42.2500, 69.4500, 2200, 4.1, ["ресторан", "компания"], 1, "restaurant"),
|
||
mk("Кофейня на центральной", "cafe", "Шымкент", "ул. Пушкина, 10", 42.2520, 69.4520, 1000, 4.2, ["кафе"], 0, "cafe"),
|
||
mk("Парк имени Гагарина", "park", "Шымкент", "пр. Гагарина, 30", 42.2510, 69.4600, 0, 4.4, ["природа", "прогулка", "бесплатно"], 0, "nature"),
|
||
mk("Кинотеатр в Шымкенте", "cinema", "Шымкент", "пр. Аль-Фараби, 90", 42.2490, 69.4490, 1500, 4.0, ["кино", "кафе"], 1, "culture"),
|
||
mk("Бар в центре Шымкента", "bar", "Шымкент", "пр. Гагарина, 50", 42.2530, 69.4620, 2000, 4.1, ["бар", "ночная_жизнь", "компания"], 0, "bar"),
|
||
mk("Красивая смотровая", "viewpoint", "Шымкент", "пр. Гагарина, 80", 42.2540, 69.4650, 200, 4.5, ["красивый_вид", "бесплатно", "прогулка"], 0, "nature")
|
||
];
|
||
|
||
const TYPES_LABEL = {
|
||
cafe: "Кофе", restaurant: "Ресторан", bar: "Бар", club: "Клуб",
|
||
viewpoint: "Смотровая", park: "Парк", mall: "ТЦ", cinema: "Кино",
|
||
gallery: "Галерея", activity: "Актив", bowling: "Боулинг", billiards: "Бильярд"
|
||
};
|
||
|
||
module.exports = function seed() {
|
||
return raw.map((r, i) => {
|
||
const [open, close] = HOURS[r.h] || [11, 23];
|
||
const isNight = (r.h === "bar" || r.h === "club") ? true : (r.h === "night");
|
||
return {
|
||
id: "p" + i,
|
||
name: r.n,
|
||
slug: "m" + i,
|
||
type: r.t,
|
||
typeLabel: TYPES_LABEL[r.t] || r.t,
|
||
district: r.d,
|
||
address: r.a,
|
||
lat: r.la,
|
||
lng: r.ln,
|
||
avg: r.avg,
|
||
priceLabel: r.avg == null ? "цена уточняется" : (r.avg <= 1500 ? "до 1500" : r.avg <= 3000 ? "1500–3000" : r.avg <= 5000 ? "3000–5000" : "5000+"),
|
||
rating: r.r,
|
||
tags: r.tags,
|
||
parking: r.pk,
|
||
hours: { open: open, close: close, night: isNight, text: (open + ":00–" + (close < open ? close + 24 : close) + (isNight ? " (ночной)" : "")) },
|
||
updated: "демо-данные",
|
||
active: true
|
||
};
|
||
});
|
||
};
|