Commit Graph

100 Commits

Author SHA1 Message Date
a7dacb2831 Merge branch 'main' of git.infinimotion.de:infinimotion/frontend 2025-11-21 15:55:48 +01:00
ade5479a74 Add functionality to cancel tickets
Introduces a cancel order confirmation dialog and integrates it into the order flow. Refactors error and success components to support singular/plural seat messaging and retry actions. Updates navigation and button behaviors for better user experience. Fixes minor UI and logic issues in reservation, purchase, and conversion flows.
2025-11-21 15:53:42 +01:00
3db3876a8b Add pay-for-order component for ticket payment
Introduces PayForOrderComponent with form validation and error handling for ticket payment by order code. Updates routing, navigation, and module declarations to support the new feature.
2025-11-21 02:32:43 +01:00
11ba07d550 Cleanup http.service.ts 2025-11-21 00:22:14 +01:00
3bc5b9cd3a Add cancellation and conversion error/success flows
Introduces new components for cancellation and conversion error/success states, updates routing and UI to support resuming and cancelling orders, and refactors seat selection and order handling logic to accommodate these new flows. Also improves seat selection feedback and error handling throughout the checkout process.
2025-11-20 23:19:16 +01:00
cb5758474e npm audit fix 2025-11-20 14:49:11 +01:00
Kevin Szarafin
5b5f86a4c8 Changed Pricelist layout, changed schriftgröße etc 2025-11-20 14:35:41 +01:00
Kevin Szarafin
2efd78a29c Loading seat prices from api, layout changes not final 2025-11-20 14:13:50 +01:00
53bbef417b Bugfix conflict info 2025-11-19 23:14:52 +01:00
711ad39dd6 Add selection conflict info component and handle seat conflicts
Introduces SelectionConflictInfoComponent to display seat selection conflicts when a seat is removed due to external booking. Removes ShoppingCartComponent and its references. Updates SelectedSeatsService to track conflict state and modifies TheaterOverlayComponent to detect and handle seat conflicts, updating the UI accordingly.
2025-11-19 19:53:13 +01:00
Kevin Szarafin
cf917b580e Merge branch 'main' of git.infinimotion.de:infinimotion/frontend 2025-11-19 16:37:56 +01:00
Kevin Szarafin
f37d9b4478 Pricelist hinzugefügt 2025-11-19 16:34:21 +01:00
1ef223c199 increase angular size budget 2025-11-19 11:33:59 +01:00
Marcel-Anker
cdf45876be merge upsi fix 🦏🍆🤡 2025-11-19 11:26:01 +01:00
Marcel-Anker
4e7a2a9e0a merging main 2025-11-19 11:11:23 +01:00
Marcel-Anker
3587af0e70 add two tables for statistics for movies and shows 2025-11-19 11:08:34 +01:00
Marcel-Anker
ecb31432e1 add helperfunction for date formating 2025-11-19 11:08:04 +01:00
Marcel-Anker
8ca5317795 loading data from api asynchronously and dynamically setting page number. loading onInit 2025-11-19 11:07:47 +01:00
Marcel-Anker
0aca7ace80 npm install 2025-11-19 11:04:31 +01:00
Marcel-Anker
172b0af9ab add api methods for getting statistics data for movies and shows 2025-11-19 11:04:20 +01:00
Marcel-Anker
26f2dd2165 removed redundant ; 2025-11-19 11:03:29 +01:00
b619d744c1 Add inactivity timeout and polling control to seat overlay
Introduces user inactivity tracking and timeout for seat polling in TheaterOverlayComponent. Polling is paused after 2 minutes of inactivity or when the user advances past step 1, with a snackbar notification and resume option. Refactors polling logic, adds step change event to OrderComponent, and updates custom theme for snackbar styling.
2025-11-19 10:59:34 +01:00
f4eb700ab4 Add zoom and device detection with warning component
Introduces DeviceDetectionService and ZoomDetectionService to detect mobile devices and browser zoom level. Adds ZoomWarningComponent to display warnings for unsupported mobile devices and non-optimal browser zoom, and integrates it into the app layout. Updates routing to allow mobile access for the 'poc-model' route.
2025-11-18 23:00:18 +01:00
78144d7447 Update routing and UI for performance checkout
Changed route paths and parameters for performance checkout to use '/performance/:performanceId/checkout' instead of '/selection/performance/:id'. Updated related components to use new route and param names. Improved UI spacing and styling in several components for better layout and consistency.
2025-11-18 21:00:29 +01:00
Marcel-Anker
43398c2be8 Merge branch 'main' of git.infinimotion.de:infinimotion/frontend 2025-11-18 14:01:07 +01:00
Marcel-Anker
bc274c0e0b providing statistic data in statistic component 2025-11-18 14:01:00 +01:00
4408bc9b84 Next Sprint. Juhuuu! 2025-11-17 23:37:34 +01:00
fba895a3bb Add transactional order creation API integration
Introduces saveAddOrder method in HttpService to POST orders and tickets transactionally. Refactors OrderComponent to use the new API for submitting orders and tickets in a single transaction, improving data consistency.
2025-11-17 23:06:42 +01:00
e5fcdfe212 Improve movie search & title fix 2025-11-17 22:42:17 +01:00
bd56f3242e Handle empty seats and rows in theater layout
Updated seat and row data structures to allow null values for seats and states, enabling the display of empty seat spaces and rows. Adjusted rendering logic and styles to visually represent gaps in seating, and enhanced the converter to fill missing seats and rows with placeholders.
2025-11-15 16:34:20 +01:00
be680da692 Add auto-refresh polling to theater overlay
Introduces periodic polling to refresh seat and performance data in TheaterOverlayComponent using RxJS interval and Angular signals. Polling is paused when the component is destroyed or manually via new methods, and the template is updated to use the seatsPerRow signal.
2025-11-15 02:28:43 +01:00
e5707709bf Refactor order process to fix flicker bug 2025-11-15 01:53:13 +01:00
4ec3795697 Styling 2025-11-15 00:41:18 +01:00
de5990db91 Merge branch 'main' of git.infinimotion.de:infinimotion/frontend 2025-11-14 17:56:39 +01:00
50cac8ac24 Add reservation and purchase functionality
Introduces ReservationSuccess, ReservationFailed, PurchaseSuccess, PurchaseFailed, TicketSmall, and TicketList components for handling and displaying reservation and purchase outcomes. Updates order flow logic in OrderComponent to support reservation and purchase states, disables/enables form inputs during submission, and integrates new UI feedback. Also adds angularx-qrcode dependency and updates @infinimotion/model-frontend version.
2025-11-14 17:56:33 +01:00
79adc4eb70 mongodb statistics 2025-11-14 01:19:27 +01:00
f165a91e3c Add APIs for Bestellung and Eintrittskarte entities
Introduced CRUD and filter methods for Bestellung and Eintrittskarte in HttpService, enabling interaction with their respective backend endpoints. Also renamed getPerformaces to getAllPerformaces for consistency.
2025-11-14 01:15:41 +01:00
9b87e336a3 Add loading spinner to theater overlay
Introduces a loading spinner in the theater overlay component while data is being loaded. The loading service is now public to allow template access.
2025-11-14 00:15:00 +01:00
b7cd22ef6b Make the hall look less ugly
Enhanced theater layout with speaker and lamp icons, adjusted seat button spacing, and improved overlay component styling for better visual structure and alignment.
2025-11-14 00:02:47 +01:00
cd0b2d0880 Load Seat-Icons from DB
Replaces multiple conditional blocks for seat icons with a single interpolation using the category's icon property, simplifying the seat component template.
2025-11-13 22:57:47 +01:00
9d54dcdd1a Merge branch 'order' into 'main' 2025-11-13 22:51:24 +01:00
41c9d85e9b Add payment form and improve order stepper UI
Introduces a payment step with card input masking using ngx-mask, refactors the order stepper to include address and payment forms with validation, and enhances UI/UX with new styles and layout adjustments. Also updates dependencies and module imports to support ngx-mask and Material Checkbox.
2025-11-13 22:36:09 +01:00
Marcel-Anker
cf7c780211 changed selected color to indigo-500 2025-11-13 18:06:52 +01:00
Marcel-Anker
769fb8b2cd add seatIsSelected to SelectedSeatService, so seats cannot be interacted with while cooking/reservation 2025-11-13 17:47:45 +01:00
Marcel-Anker
a9e1d28f09 now selectedSeatsList will be cleared, left an alternative function. 🦏 2025-11-13 17:35:09 +01:00
Marcel-Anker
43e29e644d selectedSeatsList should now be reset before loading theater. 🦏 2025-11-13 17:23:40 +01:00
cb065c8e39 Make total ticket price dynamic
Refactored price display logic to use computed total price and formatted output in order and seat selection components. Disabled reservation and booking buttons when no seats are selected. Improved clarity by renaming totalPrice to totalCategoryPrice in seat selection.
2025-11-13 09:03:32 +01:00
31108859da Display dynamic seat count and total price per category
Updated seat-selection component to show the actual number of selected seats and calculate the total price per seat category. Integrated SelectedSeatsService and replaced hardcoded values with computed properties for better accuracy and maintainability.
2025-11-13 02:14:40 +01:00
9c9e9becfb Refactor SelectedSeatsService to use signals
Replaces internal array state with Angular signals for selected seats. Updates methods to use signal API and adds a new method to filter selected seats by category.
2025-11-13 02:10:30 +01:00
1d72c3e617 Merge branch 'main' into order 2025-11-13 01:53:56 +01:00