Commit Graph

71 Commits

Author SHA1 Message Date
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
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
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
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
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
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
db0322d443 Add seat selection and no seats components
Introduces SeatSelectionComponent and NoSeatsInHallComponent for improved seat category display and handling cases with no available seats. Updates order flow to show seat categories, loading spinner, and total price. Refactors TheaterOverlayComponent to provide seat categories, and updates styles and dependencies.
2025-11-13 01:48:28 +01:00
8e4a024299 Get custom theme colors working
Introduces _theme-colors.scss with generated palettes and integrates them into custom-theme.scss for both light and dark themes. Removes stepper icon styles from performance-info.component.css and moves them to custom-theme.scss for better maintainability and consistency.
2025-11-12 23:21:51 +01:00
Marcel-Anker
c0f022e65c seats are now selectable. returns list of selected seats. colors might not work anymore. 😢😢 2025-11-12 19:33:28 +01:00
f489073118 Add order and performance info components to ticket overlay
Introduces OrderComponent, PerformanceInfoComponent, and ShoppingCartComponent for the ticket purchase flow. Updates theater-overlay to display seat selection alongside order details and performance info. Refactors seat and performance data loading, improves UI structure, and enhances movie info display components for consistency.
2025-11-12 10:33:34 +01:00
5699f23540 Fix typo ... 2025-11-08 22:52:32 +01:00
f6e8e32cca I had to add something to main component, sry
Introduces a vertical stepper to the main component to visually represent project sprints, including dynamic completion and edit states. Adds project information and team details to the main page, customizes stepper icon styles, and updates module imports to include MatStepperModule.
2025-11-08 22:22:15 +01:00
b4f0b7256a Implement authentication feature with role-based access control and login dialog 2025-11-07 17:53:11 +01:00
87a1ab06d9 Merge branch 'movie-importer' 2025-11-07 02:09:59 +01:00
4f5a8e9661 Add IMDb movie importer feature and unify header
Introduces a new movie importer feature allowing admins to search and import movies from IMDb, including new components for search, result display, and error handling. Replaces the schedule header with a reusable menu header component. Updates routing, navigation, and HTTP service to support the new importer. Adds a poster placeholder image and improves poster error handling.
2025-11-07 01:57:42 +01:00
Marcel-Anker
689d8fe39a seat coloring based on seatState 🦏 2025-11-06 20:55:12 +01:00
Marcel-Anker
ad71111581 movie-performance component links to /selection/performance/:id 🚀 2025-11-06 20:12:56 +01:00
6f98882564 Add performance filtering by date range
Introduces a new API method in HttpService to fetch performances by a date filter. ScheduleComponent now generates a date filter for the next 14 days and loads performances using the new filtered endpoint, improving flexibility for bookable days.
2025-11-05 11:05:40 +01:00
0bd3887701 Add movie search and schedule header components
Introduces MovieSearchComponent, ScheduleHeaderComponent, and MovieScheduleNoSearchResultComponent for improved movie search and schedule display. Updates schedule and navbar to support search functionality and UI enhancements. Adds movie fetching to HttpService and refines layout and styles for better user experience.
2025-11-05 01:04:56 +01:00
Marcel-Anker
5cf71a43ed upsi dupsi, da sind noch die componenten 🤡 2025-11-02 18:42:40 +01:00
Marcel-Anker
c2d5868dba Hilfe was ist diese converter funktion, hilfe. Sonst bisschen Kino übersicht 🚀 2025-11-02 18:40:59 +01:00
5addba879a Add error handling and snackbar notifications
Introduces error state management in LoadingService, displays error bar and snackbar notifications in the UI, and updates ScheduleComponent to use the new error handling. Also adds custom theming for error snackbar and progress bar.
2025-10-31 16:19:02 +01:00
0828493be5 Style fixes 2025-10-31 14:55:43 +01:00
7549061fba Add new header 2.0 component with loading service
Introduced Header2Component with a new design, external resource links, and a loading progress bar. Added LoadingService to manage loading state and integrated it into the schedule component. Updated main layout to use the new header and included related assets for external links. Changed API base URL in HttpService to use the production endpoint.
2025-10-31 11:45:41 +01:00
98626d11ed Make movie schedule components functional
Introduces MovieGroup and Performance models for better type safety and data handling. Refactors movie-related components to use Angular signals (input/computed) and updates templates to bind data dynamically. Updates HttpService to support Vorstellung API endpoints. The schedule component now loads and groups performances by date and movie, passing structured data to child components for rendering.
2025-10-30 01:38:43 +01:00
Marcel-Anker
6ebde0b5f5 navbar wie piet wollte 2025-10-29 21:03:12 +01:00
b304185e21 Make movie category dynamic
Refactored MovieCategoryComponent to accept a 'category' input and display it dynamically. Updated usage in MoviePosterComponent to pass the category value, improving flexibility and reusability.
2025-10-29 10:26:29 +01:00