Changelog
All notable changes to this project will be documented in this file.
[1.4.0] - 2025-08-19
🏗️ Architectural Refactor
-
Modular Authentication Component: Refactored the email and password authentication flow into a new, isolated, and reusable component (`src/components/wpg/email-password-auth.tsx`), improving code organization and maintainability.
-
Simplified Auth Pages: The login and signup pages were updated to use the new modular component, streamlining their structure and logic.
🐛 Bug Fixes & UX Improvements
-
Robust Error Handling: Implemented comprehensive and specific error handling for the email/password authentication flow. The system now provides clear, user-friendly feedback for common issues such as invalid credentials (`auth/invalid-credential`) or an email address that is already in use (`auth/email-already-in-use`), resolving a persistent issue and significantly improving the user experience.
[1.3.0] - 2024-07-31
✨ New Features
-
Multiple Itinerary Support:
- Users can now create, save, and manage multiple distinct trip plans.
- Each generated itinerary is saved as a separate trip, preserving all past and future plans.
🏗️ Architectural Refactor
-
Dedicated "My Trips" Page:
- Created a new page at
/mytrip
to serve as a central hub for all of the user's saved trips.
- The page lists all itineraries and allows users to select one to view its detailed plan.
- Revamped Trip Context: Overhauled the core
TripContext
to manage a list of trips and a currently active trip, enabling the multi-itinerary functionality.
- Firestore Data Model Update: Migrated trip storage to a
trips
subcollection under each user's document, providing a scalable structure for multiple itineraries.
🎨 UI/UX Enhancements
- Added a "+ New Trip" button as a primary action, allowing users to easily start planning a new journey without losing their current one.
- The "My Trips" page now correctly displays a list of all saved trips, even those without a generated AI plan yet.
🐛 Bug Fixes
- Fixed a critical data serialization bug that prevented newly created trips from being displayed.
- Resolved a React "duplicate key" error that occurred due to a race condition in state updates.
- Corrected a layout issue where the main sidebar and header were missing from the
/mytrip
page.
- Fixed a crash caused by using an undefined icon component in the welcome wizard.
- Enabled the close functionality on the welcome wizard, allowing users to exit it.
[1.2.0] - 2024-07-30
✨ New Features
-
Efficient AI Templating System:
- Implemented a Firestore-based caching strategy for itineraries to minimize redundant AI calls.
- The AI now categorizes user interests into themes and checks for a pre-built template before generating a new one.
- New itineraries are saved as templates for future use, improving performance and reducing costs.
- Instant Itinerary Generation: Added "one-click" buttons to the AI Planner for generating instant 1, 3, or 5-day trip itineraries.
-
Firestore Data Persistence:
- Migrated all user trip data (saved items, trip details) from
localStorage
to Firebase Firestore.
- User itineraries are now synced across devices when logged in.
- Automatic Trip Saving: Activities from the AI-generated plan are now automatically added to the "My Trip" section.
🎨 UI/UX Enhancements
- Itinerary Roadmap View: Redesigned the AI Trip Planner results page into a vertical "roadmap" timeline for a more intuitive and visually engaging experience.
- Activity Lightbox: Implemented a modal/lightbox view for activity details, allowing users to click on an item in the roadmap to see more information.
- Enhanced "My Trip" View: The "My Trip" page now includes a summary card displaying the trip dates, party size, and interests.
- Wizard Validation: Added input validation to the welcome wizard, disabling the "Next" button until the required information has been provided.
🐛 Bug Fixes
- Fixed a React error ("Cannot update a component while rendering") by moving a state update into a
useEffect
hook.
- Corrected a Firestore error caused by attempting to save
undefined
values by ensuring dates are serialized to `null`.
- Added the missing
@radix-ui/react-toggle-group
dependency to package.json
.
- Fixed an incorrect Genkit model usage syntax that caused a
TypeError
.
[1.1.0] - 2024-07-29
✨ New Features
-
AI-Powered Itinerary Generator:
- Integrated Genkit to create personalized trip itineraries based on user preferences.
- The AI suggests daily plans, a packing list, and local transportation tips.
- Results are displayed in a clean, tabbed interface for easy navigation.
-
Interactive Interstitial Wizard:
- Added a multi-step welcome wizard to collect user's travel dates, party size, and interests.
- Features a fun, user-friendly design with progress indicators and interactive "vibe" pills.
- User input from the wizard directly seeds the AI itinerary generator for a seamless personalization experience.
🎨 UI/UX Enhancements
- Overhauled the application's UI using ShadCN components and Lucide-React icons for a modern and cohesive look.
- Improved layouts for all views, including Explore, My Trip, and Community Tips.
- Updated typography and global styles for a more polished aesthetic.
🐛 Bug Fixes
- Resolved various rendering and build errors related to component structure (
React.Children.only
) and missing dependencies (@tailwindcss/typography
).
- Corrected CSS import order to fix build failures.
[1.0.0] - 2024-07-28
🎉 Initial Release
- Basic Next.js application structure.
- Simple views for Explore, My Trip, and Community Tips.
- Initial setup of project files and dependencies.