export interface Suggestion {
  icon: string;
  text: string;
  query: string;
}

export const citySuggestions: Record<string, Suggestion[]> = {
  Dubai: [
    { icon: '🏨', text: 'Hotels near Burj Khalifa', query: 'Show me hotels near Burj Khalifa in Dubai' },
    { icon: '🏨', text: 'Beach resort for couples', query: 'Show me beach resorts for couples in Dubai' },
    { icon: '🎯', text: 'Desert safari this weekend', query: 'Find me a desert safari experience in Dubai this weekend' },
    { icon: '🎯', text: 'Family activities this Friday', query: 'Plan family activities in Dubai this Friday' },
    { icon: '✈️', text: 'Flights to London next week', query: 'Search flights from Dubai to London next week' },
    { icon: '✈️', text: 'Plan a trip to Paris', query: 'Plan a romantic trip from Dubai to Paris for 5 days' },
    { icon: '🍽', text: 'Rooftop dining tonight', query: 'Find me rooftop restaurants in Dubai for tonight' },
    { icon: '🍽', text: 'Japanese restaurants in DIFC', query: 'Show me Japanese restaurants in DIFC Dubai' },
  ],
  'Abu Dhabi': [
    { icon: '🏨', text: 'Hotels on Saadiyat Island', query: 'Show me hotels on Saadiyat Island Abu Dhabi' },
    { icon: '🎯', text: 'Yas Waterworld tickets', query: 'Book tickets for Yas Waterworld Abu Dhabi' },
    { icon: '✈️', text: 'Flights to Istanbul', query: 'Search flights from Abu Dhabi to Istanbul next week' },
    { icon: '🍽', text: 'Seafood by the Corniche', query: 'Find seafood restaurants near the Corniche Abu Dhabi' },
  ],
  London: [
    { icon: '🏨', text: 'Hotels in Mayfair', query: 'Show me luxury hotels in Mayfair London' },
    { icon: '🏨', text: 'Boutique hotels in Soho', query: 'Find boutique hotels in Soho London' },
    { icon: '🎯', text: 'West End shows tonight', query: 'Find theatre shows in London West End tonight' },
    { icon: '🎯', text: 'Museums and galleries', query: 'Show me top museums and galleries in London' },
    { icon: '✈️', text: 'Flights to New York', query: 'Search flights from London to New York next week' },
    { icon: '✈️', text: 'Weekend trip to Barcelona', query: 'Plan a weekend trip from London to Barcelona' },
    { icon: '🍽', text: 'Michelin star restaurants', query: 'Show me Michelin star restaurants in London' },
    { icon: '🍽', text: 'Sunday roast near me', query: 'Find restaurants for Sunday roast in London' },
  ],
  Paris: [
    { icon: '🏨', text: 'Hotels near Eiffel Tower', query: 'Show me hotels near Eiffel Tower in Paris' },
    { icon: '🎯', text: 'Seine river cruise', query: 'Book a Seine river cruise in Paris' },
    { icon: '✈️', text: 'Flights to Rome', query: 'Search flights from Paris to Rome next week' },
    { icon: '🍽', text: 'Bistros in Le Marais', query: 'Show me charming bistros in Le Marais Paris' },
  ],
  'New York': [
    { icon: '🏨', text: 'Hotels in Manhattan', query: 'Show me hotels in Manhattan New York' },
    { icon: '🎯', text: 'Broadway shows this week', query: 'Find Broadway shows in New York this week' },
    { icon: '✈️', text: 'Flights to Miami', query: 'Search flights from New York to Miami this weekend' },
    { icon: '🍽', text: 'Pizza spots in Brooklyn', query: 'Show me best pizza restaurants in Brooklyn New York' },
  ],
  Tokyo: [
    { icon: '🏨', text: 'Hotels in Shinjuku', query: 'Show me hotels in Shinjuku Tokyo' },
    { icon: '🎯', text: 'Temples and shrines', query: 'Show me famous temples and shrines in Tokyo' },
    { icon: '✈️', text: 'Day trip to Kyoto', query: 'Plan a day trip from Tokyo to Kyoto' },
    { icon: '🍽', text: 'Sushi in Tsukiji', query: 'Find authentic sushi restaurants near Tsukiji Tokyo' },
  ],
  Riyadh: [
    { icon: '🏨', text: 'Hotels in Olaya District', query: 'Show me hotels in Olaya District Riyadh' },
    { icon: '🎯', text: 'Boulevard City activities', query: 'Find activities at Boulevard City Riyadh' },
    { icon: '✈️', text: 'Flights to Dubai', query: 'Search flights from Riyadh to Dubai this weekend' },
    { icon: '🍽', text: 'Best restaurants tonight', query: 'Show me top-rated restaurants in Riyadh for tonight' },
  ],
  Istanbul: [
    { icon: '🏨', text: 'Hotels in Sultanahmet', query: 'Show me hotels in Sultanahmet Istanbul' },
    { icon: '🎯', text: 'Bosphorus cruise', query: 'Book a Bosphorus cruise in Istanbul' },
    { icon: '✈️', text: 'Flights to Athens', query: 'Search flights from Istanbul to Athens next week' },
    { icon: '🍽', text: 'Kebab spots in Beyoglu', query: 'Find traditional kebab restaurants in Beyoglu Istanbul' },
  ],
  Bangkok: [
    { icon: '🏨', text: 'Hotels near Sukhumvit', query: 'Show me hotels near Sukhumvit Bangkok' },
    { icon: '🎯', text: 'Temple tour today', query: 'Plan a temple tour in Bangkok today' },
    { icon: '✈️', text: 'Flights to Bali', query: 'Search flights from Bangkok to Bali next week' },
    { icon: '🍽', text: 'Street food markets', query: 'Find the best street food markets in Bangkok' },
  ],
  Singapore: [
    { icon: '🏨', text: 'Hotels at Marina Bay', query: 'Show me hotels near Marina Bay Singapore' },
    { icon: '🎯', text: 'Gardens by the Bay', query: 'Book tickets for Gardens by the Bay Singapore' },
    { icon: '✈️', text: 'Flights to Tokyo', query: 'Search flights from Singapore to Tokyo next week' },
    { icon: '🍽', text: 'Hawker centres nearby', query: 'Show me best hawker centres in Singapore' },
  ],
};

/** Get 4 suggestions for a city — one per vertical (hotel, experience, flight, restaurant) */
export function getSuggestionsForCity(city: string): Suggestion[] {
  const suggestions = citySuggestions[city] || citySuggestions.Dubai;

  const hotel = suggestions.filter(s => s.icon === '🏨');
  const experience = suggestions.filter(s => s.icon === '🎯' || s.icon === '✂️');
  const flight = suggestions.filter(s => s.icon === '✈️');
  const restaurant = suggestions.filter(s => s.icon === '🍽');

  const pick = (arr: Suggestion[]) => arr[Math.floor(Math.random() * arr.length)];

  return [pick(hotel), pick(experience), pick(flight), pick(restaurant)].filter(Boolean);
}
