Commit Graph

78 Commits

Author SHA1 Message Date
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
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
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
bd7a0ed9f1 Merge pull request 'schedule search and optimization' (#6) from schedule into main 2025-11-05 10:59:56 +00: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