Commit Graph

41 Commits

Author SHA1 Message Date
gnezim f08a86c453 feat: implement NotFoundPage (404) and fix Cypress config
- Implement NotFoundPage with required test IDs for 404 error page
- Add data-testids: error-404-title, error-message, back-button, home-link, error-heading
- Fix Cypress baseUrl config from 3003/components to localhost:3001
- Clean up .js files in pages directory (keep only .tsx)
- App passes Task 1.1 requirements (404 page structure complete)
2026-04-06 00:18:31 +03:00
gnezim 14bcc960b4 feat: create shared component stubs and fix SCSS circular imports
- Created 8 core shared components: Card, PageLayout, PageTabs, DayTabs, CalendarInput, TimeSelector, CityAutocomplete, SearchHistory, PageLoader, PageEmptyList
- Fixed SCSS circular dependency: removed self-imports in components/modules-components/index.scss and modules-pages/index.scss
- Updated page exports to use feature-based implementations
- Added City interface to CityAutocomplete with mock city data
- App now loads at localhost:3001 without SCSS errors
2026-04-06 00:07:38 +03:00
gnezim 64c919afa0 fix: correct SCSS relative import depths for nested components
- Fixed all component SCSS files using single '../' to use '../../' to properly reach root styles directory
- Replaced incorrect './src/styles/' absolute-style paths with proper relative paths
- Fixed page directory imports with incorrect depth (../../../pages to ../../)
- All files in src/styles/components/* now use '../../' to reach framework, colors, variables, etc
- All files in src/styles/pages/* now use correct relative depth to reach sibling directories
- 86 SCSS files corrected
2026-04-05 23:00:38 +03:00
gnezim c4b02ccb6b fix: convert all SCSS absolute imports to relative paths for Vite compatibility 2026-04-05 22:56:21 +03:00
gnezim c4e7519d6f fix: convert SCSS absolute imports to relative paths for Vite compatibility 2026-04-05 22:55:14 +03:00
gnezim 399a35faa6 chore: add missing background image asset to React app 2026-04-05 22:49:12 +03:00
gnezim 7c59864680 feat: create ComponentShowcase page for e2e component testing 2026-04-05 22:06:35 +03:00
gnezim 4b2a03fb18 feat: create ScheduleFlightDetailsPage with schedule flight details 2026-04-05 21:22:01 +03:00
gnezim 0dc6732947 feat: create ScheduleSearchPage with week day tabs and flight schedule display 2026-04-05 21:20:17 +03:00
gnezim 8c68d31e12 feat: create ScheduleFilter with date range and day selection 2026-04-05 21:18:26 +03:00
gnezim dfd267f852 feat: create ScheduleStartPage and schedule feature structure 2026-04-05 21:16:40 +03:00
gnezim 50a5442d79 feat: create FlightDetailsPage with full flight information 2026-04-05 21:14:54 +03:00
gnezim 49c696610c feat: implement BoardFlightBody with detailed flight information 2026-04-05 21:13:12 +03:00
gnezim 0366db1a2f feat: implement BoardFlightHeader with full flight details display 2026-04-05 21:11:56 +03:00
gnezim 3e2d37887e feat: create BoardSearchResult with flight list and header/body components 2026-04-05 21:10:03 +03:00
gnezim 573b99ea1c feat: create OnlineBoardSearchPage for search results 2026-04-05 21:08:44 +03:00
gnezim 92ffc2a103 feat: create OnlineBoardFilter with FlightNumber and Route filters 2026-04-05 21:07:08 +03:00
gnezim e53ac746a4 feat: create OnlineBoardStartPage component 2026-04-05 21:04:45 +03:00
gnezim fa43a9e026 feat: create SearchHistory accordion component 2026-04-05 21:03:05 +03:00
gnezim 0d7f6c0954 feat: create CityAutocomplete airport search component 2026-04-05 21:02:00 +03:00
gnezim fd054bc688 feat: create TimeSelector time range component 2026-04-05 20:59:02 +03:00
gnezim 9bc930fe91 feat: create CalendarInput date picker component 2026-04-05 20:57:57 +03:00
gnezim 3225ecd1fa feat: create DayTabs date carousel component 2026-04-05 20:56:42 +03:00
gnezim b5bdd1e18d feat: create PageEmptyList empty state component 2026-04-05 20:55:06 +03:00
gnezim 9ba5c9cbf0 feat: create PageLoader spinner component 2026-04-05 20:54:12 +03:00
gnezim 509e1afb20 feat: create PageTabs navigation component 2026-04-05 20:52:24 +03:00
gnezim 12c2b36051 feat: create PageLayout two-column component 2026-04-05 20:51:09 +03:00
gnezim d8d2de43eb feat: create Card component wrapper 2026-04-05 20:50:09 +03:00
gnezim 9e0f661708 chore: update React router to match Angular app routes 2026-04-05 20:48:32 +03:00
gnezim 1ce307d61f chore: setup i18next configuration with 9 language support 2026-04-05 20:45:19 +03:00
gnezim 8ba79f64e8 chore: copy i18n translation files and SVG sprite from Angular 2026-04-05 20:44:16 +03:00
gnezim 344e310b58 chore: add API proxy configuration for flights API 2026-04-05 20:43:29 +03:00
gnezim d30071b756 Tasks 11-15: Implement CityAutocomplete, OnlineBoard, and BackstopJS setup
Tasks completed:
- Task 11: Create CityAutocomplete React component with debounced search
- Task 12: Implement OnlineBoard page with search and details components
- Task 13: Create BackstopJS baseline configuration for Angular
- Task 14: Create BackstopJS test configuration for React
- Task 15: Create full-validation.sh script for e2e and visual regression testing

All components built and tested successfully.
2026-04-05 19:23:52 +03:00
gnezim 95f49d7deb Task 9: Create React Router configuration with lazy loading and route structure 2026-04-05 19:20:23 +03:00
gnezim 4b34a78890 Task 8: Create Modal, Tabs, and DatePicker components
- Modal component with size variants (small, medium, large)
- Tabs component with active state management and onChange callback
- DatePicker component with calendar interface and date selection
- All components implement BEM naming convention
- All components include data-testid attributes for testing
- SCSS files provide complete styling for each component
- Index files export components and types for easy importing
2026-04-05 19:20:06 +03:00
gnezim 9356945d93 Task 10: Create test helper files and base test templates
- Create helpers directory structure
- Add api-helpers.ts with authentication and API mocking functions
- Add ui-helpers.ts with common UI interaction utilities
- Add data-helpers.ts with test data generators
- Create base.spec.ts as reusable test template
- Update support/index.ts to import and expose helper modules globally
2026-04-05 19:19:49 +03:00
gnezim 8d562dd55c feat: create Input component with label, error, and helper text support 2026-04-05 19:19:43 +03:00
gnezim f8120c154f styles: copy global and component SCSS files from Angular to React
- Copy 30+ global SCSS files to apps/react/src/styles/
- Copy 75+ component SCSS files to apps/react/src/styles/components/
- Organize by feature: online-board, schedule, flights-map, popular-requests, shared, toolkit
- Organize pages styles: board, schedule, adaptive
- Update main.tsx to import styles entry point
2026-04-05 19:17:57 +03:00
gnezim 7de28854cf fix: move index.html to src/ subdirectory per specification
- Moved index.html from apps/react/ to apps/react/src/
- Updated vite.config.ts to set src as root directory
- Adjusted build output path from 'dist' to '../dist'
- Updated script reference in index.html from absolute to relative path
2026-04-05 19:02:26 +03:00
gnezim 6786c4df23 infrastructure: scaffold React app with Vite, TypeScript, and basic App component 2026-04-05 19:00:51 +03:00
gnezim 382d8c453a infrastructure: create monorepo structure with apps/angular, apps/react, e2e directories 2026-04-05 18:53:38 +03:00