Initial commit: Japan PWA guide
This commit is contained in:
74
src/types.ts
Normal file
74
src/types.ts
Normal file
@@ -0,0 +1,74 @@
|
||||
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: "Миядзима" }
|
||||
];
|
||||
Reference in New Issue
Block a user