75 lines
3.3 KiB
TypeScript
75 lines
3.3 KiB
TypeScript
export interface Place {
|
||
id: number;
|
||
name: string;
|
||
nameJp: string;
|
||
category: "sight" | "restaurant" | "hotel" | "coffee" | "snack";
|
||
city: "tokyo" | "kyoto" | "osaka" | "nara" | "hakone" | "hiroshima" | "miyajima" | "nikko" | "himeji";
|
||
lat: number;
|
||
lng: number;
|
||
description: string;
|
||
address: string;
|
||
hours: string;
|
||
price: string;
|
||
rating: number;
|
||
day: number;
|
||
links: string[];
|
||
tips?: string;
|
||
history?: string;
|
||
facts?: string[];
|
||
duration?: string;
|
||
photoSpots?: string;
|
||
localTips?: string;
|
||
bestTime?: string;
|
||
}
|
||
|
||
export interface GeoPosition {
|
||
lat: number;
|
||
lng: number;
|
||
accuracy?: number;
|
||
}
|
||
|
||
export type TabType = "map" | "plan" | "places" | "food";
|
||
|
||
export const CITIES: Record<string, { name: string; emoji: string }> = {
|
||
tokyo: { name: "Токио", emoji: "🗼" },
|
||
kyoto: { name: "Киото", emoji: "⛩️" },
|
||
osaka: { name: "Осака", emoji: "🏯" },
|
||
nara: { name: "Нара", emoji: "🦌" },
|
||
hakone: { name: "Хаконэ", emoji: "🗻" },
|
||
hiroshima: { name: "Хиросима", emoji: "🕊️" },
|
||
miyajima: { name: "Миядзима", emoji: "⛩️" },
|
||
nikko: { name: "Никко", emoji: "🌲" },
|
||
himeji: { name: "Химэдзи", emoji: "🏰" }
|
||
};
|
||
|
||
export const CATEGORIES: Record<string, { name: string; emoji: string }> = {
|
||
sight: { name: "Достопримечательности", emoji: "📍" },
|
||
restaurant: { name: "Рестораны", emoji: "🍜" },
|
||
coffee: { name: "Кофе", emoji: "☕" },
|
||
snack: { name: "Перекус", emoji: "🍡" },
|
||
hotel: { name: "Отели", emoji: "🏨" }
|
||
};
|
||
|
||
// Trip dates: March 3-18, 2026
|
||
export const TRIP_START = new Date("2026-03-03");
|
||
export const TRIP_END = new Date("2026-03-18");
|
||
|
||
export const SCHEDULE = [
|
||
{ day: 1, date: "3 марта", city: "tokyo", title: "Асакуса + Уэно + Скайтри" },
|
||
{ day: 2, date: "4 марта", city: "tokyo", title: "Харадзюку → Сибуя → Синдзюку" },
|
||
{ day: 3, date: "5 марта", city: "tokyo", title: "Цукидзи → Гиндза → Одайба" },
|
||
{ day: 4, date: "6 марта", city: "tokyo", title: "Никко (дневная поездка)" },
|
||
{ day: 5, date: "7 марта", city: "hakone", title: "Переезд в Хаконэ" },
|
||
{ day: 6, date: "8 марта", city: "hakone", title: "Озеро Аси → Киото" },
|
||
{ day: 7, date: "9 марта", city: "kyoto", title: "Восточный Киото" },
|
||
{ day: 8, date: "10 марта", city: "kyoto", title: "Арасияма + Северо-запад" },
|
||
{ day: 9, date: "11 марта", city: "kyoto", title: "Философский путь" },
|
||
{ day: 10, date: "12 марта", city: "nara", title: "Нара (дневная поездка)" },
|
||
{ day: 11, date: "13 марта", city: "kyoto", title: "Храмы + Замок Нидзо" },
|
||
{ day: 12, date: "14 марта", city: "osaka", title: "Замок + Куромон + Дотонбори" },
|
||
{ day: 13, date: "15 марта", city: "osaka", title: "Universal Studios 🎢" },
|
||
{ day: 14, date: "16 марта", city: "osaka", title: "Химэдзи + Синсэкай" },
|
||
{ day: 15, date: "17 марта", city: "hiroshima", title: "Мемориал мира" },
|
||
{ day: 16, date: "18 марта", city: "hiroshima", title: "Миядзима" }
|
||
];
|