Initial commit: Japan PWA guide

This commit is contained in:
Cosmo
2026-03-21 04:59:39 +00:00
commit 7db42fd784
36 changed files with 5705 additions and 0 deletions

74
src/types.ts Normal file
View 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: "Миядзима" }
];